码迷,mamicode.com
首页 > 其他好文 > 详细

Servlet总结

时间:2018-08-13 23:50:49      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:hello   方法   不同   url   service   ext   conf   nbsp   oge   

 

serlvet总结:
servlet的体系结构:


Servlet:接口
|
GenericServlet:抽象类
|
HttpServlet:抽象类
|
自定义servlet

servlet常用方法:

 


void init(ServletConfig config):初始化
void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑
void destroy():销毁

ServletConfig getServletConfig() :获取当前servlet的配置对象

GenericServlet常用方法:

 


除了service方法没有显示,其他都实现了
空参的Init() 若我们自己想对servlet进行初始化操作,重写这个init()方法即可

HttpServlet常用方法:

 


service做了实现,把参数强转,调用了重载的service方法
重载的service方法获取请求的方式,根据请求方式的不同调用相应doXxx()方法
doGet和doPost方法



servlet生命周期 ★★★

 


void init(ServletConfig config):初始化
* 初始化方法
* 执行者:服务器
* 执行次数:一次
* 执行时机:默认第一次访问的时候
void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑
* 服务
* 执行者:服务器
* 执行次数:请求一次执行一次
* 执行时机:请求来的时候
void destroy():销毁
* 销毁
* 执行者:服务器
* 执行次数:只执行一次
* 执行时机:当servlet被移除的时候或者服务器正常关闭的时候



serlvet是单实例多线程
默认第一次访问的时候,服务器创建servlet,并调用init实现初始化操作.并调用一次service方法
每当请求来的时候,服务器创建一个线程,调用service方法执行自己的业务逻辑
当serlvet被移除的时候服务器正常关闭的时候,服务器调用servlet的destroy方法实现销毁操作.

 

 


 

url-pattern的配置:★

 


方式1:完全匹配 必须以"/"开始 例如: /hello /a/b/c
方式2:目录匹配 必须"/"开始 以"*"结束 例如: /a/* /*
方式3:后缀名匹配 以"*"开始 以字符结尾 例如: *.jsp *.do *.action

优先级:


完全匹配>目录匹配>后缀名匹配


练习:


有如下的一些映射关系:
Servlet1 映射到 /abc/*
Servlet2 映射到 /*
Servlet3 映射到 /abc
Servlet4 映射到 *.do


问题:


当请求URL为“/abc/a.html”,“/abc/*”和“/*”都匹配,哪个servlet响应
Servlet引擎将调用Servlet1。
当请求URL为“/abc”时,“/*”和“/abc”都匹配,哪个servlet响应
Servlet引擎将调用Servlet3。
当请求URL为“/abc/a.do”时,“/abc/*”和“*.do”都匹配,哪个servlet响应
Servlet引擎将调用Servlet1。
当请求URL为“/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应
Servlet引擎将调用Servlet2.
当请求URL为“/xxx/yyy/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应
Servlet引擎将调用Servlet2。

Servlet总结

标签:hello   方法   不同   url   service   ext   conf   nbsp   oge   

原文地址:https://www.cnblogs.com/10zhang/p/9471583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!