Servlet开篇
好好学习,天天向上!
1
什么是Servlet?
sun公司制订的一种用来扩展web服务器功能的组件规范。
2
如何写一个Servlet?
step1
写一个java类,实现Servlet接口或者继承HttpServlet类。
step2.编译。
step3.打包。
创建一个具有如下结构的文件夹:
appname (应用名,可以自定义)
WEB-INF
classes (放 .class文件)
lib (可选的,放.jar文件)
web.xml (部署描述文件)
step4.部署
将step3创建好的文件夹拷贝到容器指定的某个位置。
注:可以使用jar命令将step3创建好的文件夹进行压缩(压缩成.war为后缀的文件),然后再拷贝。
step5
启动容器,访问Servlet
http://ip:port/appname/url-pattern
注: url-pattern在web.xml中设置。
3
Servlet是如何运行的?
比如,在浏览器地址栏输入:
http://ip:port/appname/hello
step1
浏览器依据ip,port建立与服务器之间的连接。
step2
浏览器会将请求数据打包(即按照http协议的要求制作
请求数据包),然后将该数据包发送给服务器。
step3
服务器拆包(即按照http协议将请求数据包中的数据解析出来),并将解析到的数据添加到request对象上,同时,创建一个response对象。
step4
服务器创建servlet实例,然后调用其service方法。
注:服务器会将request对象和response对象作为参数传进来,可以通过request对象获取请求相关的数据(比如,获得请求参数值),然后将处理结果写到response对象上。
step5
服务器将response对象上的数据取出来,打包(即按照http协议要求制作响应数据包),然后将数据发送给浏览器。
step6.浏览器拆包,生成相应页面。
代码演示:
访问效果演示:
更多内容且看下回分解!
如果那里不明白可以联系小编,小编微信:372787553!同时也感谢您的阅读,希望您多多支持与分享!
- 线性表的链式存储结构的实现及其应用(C/C++实现)
- [接口测试 - 基础篇] 01 你应该了解的协议基础
- 使用TensorFlow实现神经网络的介绍
- HTTP协议报文结构及抓包报文分析示例
- 必备 .NET - C# 异常处理
- Java Socket获取本机的InetAddress实例
- 机器理解大数据秘密:聚类算法深度剖析
- BZOJ 3668: [Noi2014]起床困难综合症【贪心】
- 用C#实现字符串相似度算法(编辑距离算法 Levenshtein Distance)
- 51 Nod 1007 正整数分组【类01背包】
- 从入门到精通之Boyer-Moore字符串搜索算法详解
- 线性表的顺序存储结构的实现及其应用(C/C++实现)
- IPython使用学习笔记
- 如何用Python调用java程序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- (一)django创建
- PaddleHub提供的ERNIE进行文本分类
- (二)django--带APP的网站
- Spring Boot 自定義 HttpMessageConverter 解決 String 類型返回JSON對象問題
- spring之为级联集合属性进行赋值
- springmvc之HiddenHttpMethodFilter配置使用POST、GET、DELETE、PUT请求
- springmvc之使用@RequestParam绑定请求参数
- hadoop完全分布式之集群分发脚本
- 牛逼!9种方法让你访问Github提速到2MB/s!
- pyhton之如何将类的属性和方法设置成私有类型
- 【colab pytorch】查看gpu、cuda、cudnn信息
- 【colab pytorch】设置随机种子
- (三)django--带Template的网站
- spring之IOC(控制反转)和DI(依赖注入)
- 【colab pytorch】指定使用的显卡