Servlet知识点

Servlet是Java提供的一门动态web资源开发技术

Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由web服务器运行Servlet

Servlet快速入门:

        1、创建web项目,导入Servlet依赖坐标

                <dependency>

                        <groupId>javax.servlet</groupId>

                        <artifactId>javax.servlet-api</artifactId>

                        <version>3.1.0</version>

                        <scope>provided</scope>

                </dependency>

        2、创建:定义一个类,实现Servlet接口,并重写接口中所有方法,并在service方法中输入一句话

                public class ServletDemo01 implements Servlet{

                        public void service(){}

                }

        3、配置:在类上使用@WebServlet注解,配置该Servlet的访问路径

                @WebServlet("/demo01")

                public class ServletDemo01 implements Servlet{

        4、访问:启动Tomcat ,浏览器输入URL访问该Servlet

Servlet执行流程:

        1、Servlet由谁创建?Servlet方法由谁调用?

                Servlet由web服务器创建,Servlet方法由web服务器调用

        2、服务器怎么知道Servlet中一定有service方法?

                因为我们自定义的Servlet,必须实现Servlet接口并复写其方法,而Servlet接口中由service方法

Servlet声明周期:

        对象的生命周期指一个对象从被创建到被销毁的整个过程

        Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段

                1、加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象

                        @WebServlet(urlPattern = "/demo", loadOnstartup = 1)

                        其中loadOnstartup参数则更改容器创建Servlet对象时机:

                                负整数:第一次被访问时创建Servlet对象

                                0或正整数:服务器启动时创建Servlet对象,数字越小优先级越高

                2、初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化的工作。该方法值调用一次。

                3、请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理。

                4、服务终止:当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destory()方法完成资源的释放。在destory()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收

1、HttpServlet使用步骤:

        继承HttpServlet

        重写doGet和doPost方法

2、HttpServlet原理:

        获取请求方式,并根据不同的请求方式,调用不同的doXxx方法

Servlet urlPattern配置:

        Servlet要想被访问,必须配置其访问路径(urlPattern)

        1、一个Servlet,可以配置多个urlPattern

                @WebServlet(urlPatterns = {"/demo1", "/demo2"}

        2、urlPattern配置规则

                精确匹配:

                        配置路径:@WebServlet("/user/select")

                        访问路径:localhost:80/web-demo/user/select

                目录匹配:         

                        配置路径:@WebServlet("/user/*")

                        访问路径:localhost:80/web-demo/user/aaa        localhost:80/web-demo/user/bbb

                扩展名匹配              

                         配置路径:@WebServlet("*.do")

                        访问路径:localhost:80/web-demo/aaa.do       localhost:80/web-demo/bbb.do

                任意匹配

                         配置路径:@WebServlet("/")                @WebServlet("/*")

                        访问路径:localhost:80/web-demo/hhh      localhost:80/web-demo/wuhu

                                /和/*区别:

                                        当我们的项目中的Servlet配置了”/“,会覆盖掉tomcat中的DefaultServlet,当其他的url-pattern都匹配不上时都会走这个Servlet

                                        当我们的项目中配置了”/*",意味着匹配任意访问路径

                                尽量不要使用任意匹配

                优先级:        精确路径>目录路径>扩展名路径>  /*  >  /

        XML配置方式编写Servlet

                Servlet从3.0版本后开始支持使用注解配置,3.0版本前只支持XML配置文件的配置方式

                步骤:

                        1、编写Servlet类

                        2、在web.xml中配置该Servlet

                               

<!--  Servlet 全类名-->
<servlet>
  <servlet-name>demo12</servlet-name>
  <servlet-class>com.zsb.web.ServletDemo12</servlet-class>
</servlet>

<!--  Servlet访问路径-->
<servlet-mapping>
  <servlet-name>demo12</servlet-name>
  <url-pattern>/demo12</url-pattern>
</servlet-mapping>

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值