Servlet个人学习笔记(一)

webapps目录简介

\servletDemo:Web应用的根目录,属于该Web应用的所有资源都存放于该目录下
\servletDemo\WEB-INF:存放web.xml,lib目录及classes目录等
\servletDemo\WEB-INF\lib:存放应用所需的各种jar包,如jdbc程序的jar包
\servletDemo\WeB-INF\web.xml:web.xml中包含应用程序的配置和部署信息

@WebServlet注解

注解不需要依赖配置文件,它可以直接在类中使用,其配置只对当前类有效。
ps:
通过实现Servlet接口或继承GenericServlet创建的Servlet类无法使用@WebServlet注解。
使用@WebServlet注解配置的类不要在web.xml文件再次配置,若同时使用则容器会忽略注解中的配置。

Servlet生命周期

调用init()方法进行初始化

初始化期间,Servlet实例可以通过ServletConfig对象获取在web.xml或者@WebServlet注解中的初始化参数。

运行时阶段

Servlet容器收到来自客户端请求时,容器会针对请求分别创建一个ServletRequest和一个ServletResponse对象并以参数形式传入。
执行serv()前须成功运行init()。
对于Servlet的每次请求,容器都会调用一次service(),并创建新的ServletRequest和ServletResponse对象,容器将响应信息返回给客户端后,ServletRequest和ServletResponse对象会被销毁。

load-on-startup元素取值规则

1.取值必须为整数。
2.当值小于0或者没有指定时,则表示容器在该Servlet被首次请求时才会被加载。
3.当值>=o0时,表示容器在启动时就加载并初始化该Servlet,取值越小,优先级越高。
4.取值相同时,容器就会自行选择顺序进行加载。

Servlet虚拟路径映射

Servlet单一映射

实现方式:1.使用web.xml实现 2.使用@WebServlet实现

多重映射

实现方式:
1.配置多个元素。
2.配置多个子元素。
3.在@WebServlet的urlPatterns属性中使用字符串数组。

Servlet虚拟路径匹配机制

完全路径匹配:以/开始,不包含通配符*,必须完全匹配。
目录匹配:以/开始,以/*结尾,用于路径匹配。
扩展名匹配:以通配符*.开头的字符串,用于扩展名匹配。
缺省匹配(默认匹配):映射路径为/,表示这个servlet为当前缺省的servlet或默认servlet,默认处理无法匹配到虚拟路径的请求,可匹配任意请求url。

目录匹配和扩展名匹配不可混用

ServletContext接口

ServletContext对象的生命周期从Servlet容器启动开始,到容器关闭或应用被卸载结束。
web应用中所有的servlet共享同一个ServletContext对象,不同Servlet间可通过ServletContext对象实现数据通讯。

主要应用

1.设置上下文初始化参数
2.实现servlet间数据通讯
3.读取web应用下的资源文件

posted @ 2022-07-09 22:44  Logic·G  阅读(40)  评论(0)    收藏  举报