Servlet
1|0Servlet
Servlet 是 Java提供的一门动态web资源开发技术
1|1Servlet 快速入门
-
创建 web项目,导入 Servlet依赖坐标
-
创建:定义一个类,实现 Servlet接口,并重写接口中所有方法,并在 service方法中输入一句话
-
配置:在类上使用@WebServlet 注解,配置该 Servlet的访问路径
-
访问:启动 Tomcat,浏览器输入URL 访问该Servlet
1|2Servlet执行流程
1|3Servlet声明周期
Servlet生命周期就是Servlet从创建到销毁的过程。
服务器启动时就加载Servlet
1|4Servlet 方法介绍
初始化方法,在Servlet被创建时执行,只执行一次
提供服务方法, 每次Servlet被访问,都会调用该方法
销毁方法,当Servlet被销毁时,调用该方法。在内存释放或服务器关闭时销毁Servlet
获取ServletConfig对象
获取Servlet信息
1|5生命周期演示案例
1.创建一个类实现Servlet接口
2.重写这三个方法:init(),service(),destory()
3.使用注解@WebServlet设置访问地址
方法 | 作用 | 运行次数 |
---|---|---|
void init(ServletConfig config) | 用户第1次请求的时候,初始化的时候执行 | 1次 |
void service(ServletRequest req, ServletResponse res) | 每次请求都执行 | 多次 |
void destroy() | 服务器关闭的时候执行 | 1次 |
1|6Servlet 体系结构
1|7HttpServlet 原理
HTTP 协议中,GET 和 POST 请求方式的数据格式不一样,将来要想在Servlet中处理请求参数,得在service方法中判断请求方式,并且根据请求方式的不同,分别进行处理:
1|8Servlet urlPattern配置
Servlet 要想被访问,必须配置其访问路径(urlPattern)
urlPattern配置规则:
请求URL | Servlet1 | Servlet2 | 访问哪个 |
---|---|---|---|
/abc/a.html | /abc/* | /* | 第1个,因为第1个更接近 |
/abc | /abc/* | /abc | 第2个,精确匹配 |
/abc/a.do | /abc/* | *.do | 第1个,/开头的优先级更高 |
/a.do | /* | *.do | 第1个,/开头的优先级更高 |
/xxx/yyy/a.do | /* | *.do | 第1个,/开头的优先级更高 |
1|9XML 配置方式编写 Servlet
Servlet 从3.0版本后开始支持使用注解配置,3.0版本前只支持 XML 配置文件的配置方式
步骤:
1.编写 Servlet类
2.在 web.xml中配置该Servlet
1|10HTTP协议请求内容
请求数据分为3部分:
请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
请求头:第二行开始,格式为key:value形式。
请求体: POST请求的最后一部分,存放请求参数
1|11HTTP响应的格式
响应数据分为3部分:
响应行:响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述
响应头:第二行开始,格式为key:value形式
响应体: 最后一部分。存放响应数据
1|12Tomcat服务器部署WEB项目
方式1:
直接复制到webapps目录下
方式2:单独的xml文件
在conf/Catalina/localhost下创建一个xml文件,文件名就是访问地址
内容是Context元素,属性docBase是物理地址
1|13idea编写Servlet
1.创建一个类继承于HttpServlet
2.重写doGet或doPost方法
3.使用xml配置或@WebServlet指定访问地址
@WebServlet属性 | 说明 |
---|---|
loadOnStartup | 服务器启动的时候加载servlet |
urlPatterns | 访问地址,可以指定多个,可以使用通配符/* 或 *.扩展名 |
value | 同上,如果只有value则属性名可以省略 |
__EOF__
作 者:YXH
出 处:https://www.cnblogs.com/YxinHaaa/p/17406726.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」