Servlet学习笔记
来源:互联网 发布:yankee 知乎 编辑:程序博客网 时间:2024/06/10 13:15
Tomcat容器等级的简单介绍:
Engine:引擎容器 Host:主机容器 Servlet容器管理多个Context上下文容器
Servlet工作的生命周期:
1.装载Servlet类并且创建实例(只实例化一次)
2.初始化阶段,调用init()方法(只初始化一次),在Servlet对象创建之后调用
3.响应客户端的请求阶段,调用service()方法,根据提交方式选择doGet()方法和doPost()方法
4.终止阶段,销毁实例前调用destroy()方法,注意:Servlet是多线程单实例的
开发Servlet的三种方法:
1.继承HttpServlet类 2.继承GenericServlet类 3.实现Servlet接口
Servlet中的细节问题:
1.一个已经注册的Servlet可以被多次映射
2.当映射一个Servlet时,可以多层映射
<url-pattern>/servlet/index.html</url-pattern>
在Servlet使用通配符映射到URL:
其中有两种使用格式:
第一种格式:\*.扩展名,比如\*.do,\*.ss第二种格式:以/开头,同时以/* 结尾,比如/*,/news/*
常见的匹配问题案例介绍:
1、当请求URL为“/abc/a.html”,“/abc/*”和“/*”都匹配,哪个servlet响应,Servlet引擎将调用/abc/*2.当请求URL为“/abc”时,“/abc/*”和“/abc”都匹配,哪个servlet响应,Servlet引擎将调用/abc3.当请求URL为“/abc/a.do”时,“/abc/*”和“*.do”都匹配,哪个servlet响应,Servlet引擎将调用/abc/*4.当请求URL为“/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应,Servlet引擎将调用/*5.当请求URL为“/xxx/yyy/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应,Servlet引擎将调用/*
最后总结在匹配的时候,要参考的标准:
1.看谁的匹配度高,谁就被选择 2.*.do 的优先级最低
Servlet中的注意事项:
1.Servlet类是单例,多线程的,所以要注意线程同步情况,也就是线程不安全的2.不要重写构造方法,因为所继承的HttpServlet及其父类都已经对构造方法进行了某些初始化,当不了解这些系统自带的初始化,然后盲目使用构造方法,可能导致Servlet无法创建实例3.不要重写service方法(在继承HttpServlet的情况下),因为其内部有判别客户端请求方法的逻辑和一些其他逻辑4.当想用一种逻辑去处理Get和Post请求,可以采用委托机制,在doPost方法内加入this.doGet(request,response);或者在doGet方法中加入this.doPost(request,response);
Servlet的多线程处理
Servlet多线程工作原理:
Servlet域的线程安全情况:
Servlet并发注意事项:
0 0
- Servlet学习笔记 Servlet原理
- 《Servlet学习笔记》Servlet 简介
- Servlet学习笔记
- servlet学习笔记
- Java Servlet学习笔记
- Servlet学习笔记
- servlet 学习笔记(1)
- servlet 学习笔记(2)
- Servlet学习笔记
- Servlet学习笔记
- JSP/Servlet学习笔记
- servlet学习笔记
- Servlet学习笔记
- SERVLET学习笔记
- servlet学习笔记
- Servlet 学习笔记
- servlet学习笔记
- servlet学习笔记
- codeVS 1214 线段覆盖
- IOS学习之block代码块
- SSM框架整合配置大全
- Java的基本数据类型
- POJ2127 Greatest Common Increasing Subsequence (LICS)
- Servlet学习笔记
- Swift3.0从入门到放弃(二)
- Unit 2-Lecture9: Coloring & Connectivity
- 1.Object
- Unit 2-Lecture10: Forests & Tree
- IntentFilter匹配规则
- 阿里巴巴Java开发手册
- Ubuntu使用Checkpoint SNX踩坑记
- PCA的数学原理(转)