java|java web中servlet详解_javaWeb之Servlet详解

Servlet详解
1.servlet简单介绍
servlet是javaweb三大组件之一,他与filter,listener共同组成了javaweb的三大组件,Servlet(Server Applet)是Java Servlet的简称,解释为运行在服务器端的java小程序,
作用:用来接收客户端的请求,处理业务逻辑,响应动态内容
2.使用
创建一个java类,实现Servlet接口,重写抽象方法
1 public classMyServlet implements Servlet {2 /**3 * Servlet初始化的时候执行4 */
5 @Override6 public voidinit(ServletConfig config) throws ServletException {7 //TODO Auto-generated method stub
8
9 }10 /**11 *请求来的时候执行12 */
13 @Override14 public voidservice(ServletRequest req, ServletResponse res) throws ServletException, IOException {15 //TODO Auto-generated method stub
16
17 }18 /**19 * Servlet销毁的时候执行20 */
21 @Override22 public voiddestroy() {23 //TODO Auto-generated method stub
24
25 }26
27 @Override28 publicString getServletInfo() {29 //TODO Auto-generated method stub
30 return null; 31 }32 @Override33 publicServletConfig getServletConfig() {34 //TODO Auto-generated method stub
35 return null; 36 }37
38 }
3.Servlet的生命周期(Servlet对象是单例的)
创建:默认情况下,当请求来的时候,服务器会检查该类的对象有没有被创建,如果没有创建,服务器会反射创建该类的对象,并且调用init方法完成初始化的操作,然后调用serivce 方法完成相应的业务逻辑
服务:请求来一次就服务一次
销毁:当服务器正常关闭或者项目卸载的时候会销毁该Serlvet对象
1 /**
2 * Servlet初始化的时候执行3 * 执行时机:默认情况下,当你去请求服务器的时候,服务器会检查有没有该Servlet对象,4 * 如果没有,就会反射创建该类对象,并执行init方法完成初始化操作,紧接着调用5 * service方法完成服务6 * 执行次数:1次7 */
8 @Override9 public void init(ServletConfig config) throwsServletException {10 //TODO Auto-generated method stub
11
12 }13 /**
14 *服务:15 *执行时机:请求一次执行一次16 *执行次数:多次17 *18 */
19 @Override20 public void service(ServletRequest req, ServletResponse res) throwsServletException, IOException {21 //TODO Auto-generated method stub
22
23 }24 /**
25 *销毁26 *执行时机:服务器关闭或者是项目卸载的时候,会调用该方法27 *执行次数:1次28 */
29 @Override30 public voiddestroy() {31 //TODO Auto-generated method stub
32
33 }
4.Servlet在web.xml中的配置详解
【java|java web中servlet详解_javaWeb之Servlet详解】java|java web中servlet详解_javaWeb之Servlet详解
文章图片

图解配置文件执行流程
java|java web中servlet详解_javaWeb之Servlet详解
文章图片

url-pattern的写法
1.精确匹配写法 必须/打头 后面自定义 /aa/bb /aa/ccc/dddd
2.目录匹配写法 必须/打头 中间自定义 以/*结尾 /aa/* /aaa/dd/*
3.后缀名匹配写法 必须*.打头 *.jsp *.action *.do
load-on-startup配置项
修改servlet的默认初始化时机 servlet将会在服务器启动的完成加载
正整数
正整数:如果值越小优先级越高
defaultservlet:
路径 /
匹配上所有的资源 但是优先级最低
你不管的他管
你管不了的它管
5.Servlet运行流程
java|java web中servlet详解_javaWeb之Servlet详解
文章图片

    推荐阅读