什么是Servlet?
-
Servlet 是 JavaWeb 的三大组件之一,它属于动态资源,Servlet 的作用是处理请求,服务器会把接收到的请求给 Servlet 处理,在 Servlet 中需要:
-
-
接收请求数据 -
处理请求 -
-
完成响应
每个 Servlet 是唯一的,它们处理的请求时不同的。
二、Servlet接口介绍
-
概念:javaweb程序开发,项目就是一个java应用程序,用sun公司提供的接口Servlet,只要实现里面的一些接口,并按照规则把接口中的代码写完,就是一个javaweb项目。
-
如果要完成一个javaweb项目的开发
-
-
编写一个Java类,让这个java类实现Servlet接口。 -
将编写好的javaweb项目放置到web服务器中
实现Servlet的方式
实现 Servlet 有三种方式:
-
实现 java.servlet.Servlet 接口
-
继承 javax.servlet.GenericServlet 类
-
继承 javax.servletHttpServlet 类
查看源码

spring家族底层都是封装了大量的servlet
<!-- 配置ServletDemo2的映射 -->
<servlet>
<servlet-name>ServletDemo2</servlet-name>
<servlet-class>com.woniuxy.demo.ServletDemo2</servlet-class>
</servlet>
<!-- 映射配置 -->
<servlet-mapping>
<servlet-name>ServletDemo2</servlet-name>
<url-pattern>/demo2</url-pattern>
</servlet-mapping>
4、启动tomcat,测试请求demo

Servlet流程及原理
浏览器请求之后解析的步骤:
-
浏览器发出请求,链接服务器
-
发送http请求:http://localhost:8080/WebDemo2/demo2;
-
解析出来IP地址
-
解析出来端口号
-
解析出来web应用程序
-
解析出来请求访问的资源文件
-
创建Servlet对象,并用init初始化Servlet对象
-
调用Service方法或者别拆分出来的doxxx()方法。
-
关闭服务器的时候,销毁Servlet对象,调用destroy方法
Servlet对象的生命周期
-
实现Servlet接口或者继承HttpServlet,该类所在的工程为一个web应用程序,该程序需要放到服务器里面,当服务器一旦开启,那么服务器会自动的在容器中创建一个Servlet对象。
-
当发送第一条请求的时候,会调用init方法进行初始化Servlet对象。后续请求将不再初始化
-
每一次调用service方法或者doGet方法或者doPost方法之前,都需要使用Servlet对象创建独立的HttpServletRequest对象和HttpServletResponse对象。
-
调用service方法或者对应的doXXX()方法处理请求响应。
-
当服务器关闭的时候,销毁Servlet对象。
web中的其他重要的对象
ServletConfig对象
-
作用:获取配置文件(web.xml)中的参数,一些数据可以先配置在web.xml文件中,由ServletConfig对象进行获取,在servlet接口中提供了有参的init方法,参数为ServletConfig对象,在初始化Servlet对象的时候,会调用init方法,在这个时候,web服务器会自动将web.xml里面的参数加载到ServletConfig对象。并且同时将ServletConfig对象交给Servlet对象。
ServletContext对象
-
一个web容器里面,只有一个ServletContext对象,获取ServletContext对象有两种方式
-
-
方式1:通过ServletConfig对象中的getServeltContext()方法来获取ServletContext对象
ServletContext context = this.getServletConfig().getServletContext();
-
-
方式2:可以直接通过Servlet对象中的getServletContext()方法来获取ServletConext对象,推荐方式。
ServletContext context = this.getServletContext();
Servlet的第一个作用:实现各个Servlet类中的数据共享
-
获取全局的配置文件值 -
读取配置文件
Response对象(相应)
-
当服务器接收到了请求之后,会执行doPost或者doGet方法,执行完之后会给浏览器反馈数据,完成反馈数据的对象就是response,该对象不需要程序员自己创建。
Request对象 (请求)
-
当浏览器向服务器发送请求之后,服务器会接受到来自浏览器的数据(用户填写的数据、请求头数据和请求的数据),request是完成前端数据交给服务器的对象
总结:
-
1.servlet是Javaweb 的三大组件之一,是很多框架的底层,如果需要知道底层怎么实现的那必须知道servlet
-
2.实现 Servlet 有三种方式:
-
实现 java.servlet.Servlet 接口
-
继承 javax.servlet.GenericServlet 类
-
继承 javax.servletHttpServlet 类
-
3.servletContext对象、ServletCofig对象、Reponse对象、Request对象还是很重要的,要有一定的认识
本篇文章来源于微信公众号: 小刘Java之路
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/11096.html