学习日志-Servlet开发-1

xiaoxiao2021-02-28  67

一丶Servlet简介

Servlet是sun公司研发的一门用于开发动态web的技术。

二丶Servlet的生命周期

1. web容器(tomcat)会进行实例化,并调用init初始化方法

2. web服务器每次访问都会验证Servlet是否已经创建,如果是,后面每次访问时就不会再进行初始化了

3. 创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去

4. 当web应用程序被重启或关闭之前,会调用它的destroy方法

三丶Servlet的调用图

四丶Servlet在web.xml文件中的配置

主要是配置servlet和它的映射,当web容器访问Servlet时,会找与输入的URI匹配的url-pattern,匹配上以后会找这个servlet-mapping中的servlet-name标签中的名字,再按照这个名字去找匹配的servlet,当找到相同的servlet中的时候会找servlet-class中的全类名,按照这个全类名,就能在对应的资源目录下找到.class文件,就能调用对应的service

此外映射也可以是多匹配的,也就是说可以为一个Servlet匹配多个映射,映射到不同的URI,这样在浏览器端输入多个url也可以匹配到同一个Servlet

url-pattern里面可以写通配符 主要是/

url-pattern: *.do  *.字符串的请求都可以访问 注:不要加/

url-pattern: /*  任意字符串都可以访问

url-pattern /action/* /action开头的请求都可以访问

匹配规则:

优先级:从高到低

绝对匹配-->  /开头匹配 --> 扩展名方式匹配

如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。 

五丶Servlet线程安全问题

主要是用局部变量,不要用全局变量,因为Servlet是多线程的但是共享一个实例对象,一个实例对象的全局变量是相同的,但是局部变量都是各自独立的。

转载请注明原文地址: https://www.6miu.com/read-52306.html

最新回复(0)