Servlet学习总结,为理解SpringMVC底层做准备
Servlet 一句话概括 :处理web浏览器,其他HTTP客户端与服务器上数据库或其他应用交互的中间层
Servlet 生命周期 : 1.类加载,
2.实例化并调用init()方法初始化该 Servlet,(只调用一次)
3.service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())
4.销毁
HelloWord 级别的使用:
首先配置web.xmi
<servlet> <servlet-name>HelloWorldDemo</servlet-name> <servlet-class>com.runoob.test.HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorldDemo</servlet-name> <url-pattern>/helloWorld</url-pattern> </servlet-mapping>
运行过程:
1.浏览器输入对应的地址 例:http://localhost:8080/helloWorld,此时servlet-mapping中的url-pattern会识别到对应的请求,然后根据servlet-mapping中的servlet-name去到<servlet>标签中找到同名的servlet-name(所以名称要一致),然后找到对应的servlet-class
2.如果初次调用,先会调用Servlet中的init()方法,之后是Service,前后端相互交互
3 当识别到容器长久不用时就会自动销毁
过滤器:
Filter,在使用之前同样的要配置web.xml,规则与servlet类似
<filter>
<filter-name>LogFilter</filter-name>
<filter-class>com.runoob.test.LogFilter</filter-class>
<init-param>
<param-name>test-param</param-name>
<param-value>Initialization Paramter</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LogFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
init-param 标签可以给init()方法赋值
其中需要掌握的方法是 doFilter,其余方法与servlet类似
public void doFilter (ServletRequest, ServletResponse, FilterChain) 该方法完成实际的过滤操作,当客户端请求方法与过滤器设置匹配的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain用户访问后续过滤器