servlet 各种请求路径方法及其生命周期
https://www.cnblogs.com/zsben991126/p/12654895.html/*1.具体请求路径:如果浏览器请求的【资源文件地址】与当前Servlet中<url-pattern>的内容【完全一致】,Tomcat才会带调用当前Servlet例子OneServlet<url-pattern>/one.do</url-pattern>
·
https://www.cnblogs.com/zsben991126/p/12654895.html
/*
1.具体请求路径:
如果浏览器请求的【资源文件地址】与当前Servlet中<url-pattern>的内容【完全一致】,Tomcat才会带调用当前Servlet
例子 OneServlet <url-pattern>/one.do</url-pattern>
http://localhost:8080/myWeb/one.do OneServelt会被调用
http://localhost:8080/myWeb/abc/one.do OneServelt不会被调用
[注意]: 具体请求路径,必须以"/"为开头
2.前置条件请求路径:
如果浏览器请求的【资源文件地址】以当前Servelt中<url-pattern>
的内容为开头的。Tomcat才会带调用当前Servlet
例子 OneServlet <url-pattern>/abc/*</url-pattern>
"*": 是一个通配符,描述是一个任意长度字符串
如果当前【资源文件地址】是以"/abc/"为开头,就表示调用的资源OneServlet
http://localhost:8080/myWeb/abc/two.do OneServelt会被调用
http://localhost:8080/myWeb/abc/one.html OneServelt会被调用
[注意]: 具体请求路径,必须以"/"为开头,必须以"*"为结尾
3.后置条件请求路径:如果浏览器请求的【资源文件地址】以当前Servelt中<url-pattern>
的内容为结尾的。Tomcat才会带调用当前Servlet
例子 OneServlet <url-pattern>*.do</url-pattern>
http://localhost:555/myWeb/abc/one.do OneServelt会被调用
http://localhost:555/myWeb/five.do OneServelt会被调用
http://localhost:555/myWeb/five.do?uname=mike OneServelt会被调用,因为tomcat是通过读取url来定位servlet的
请求行:[
url:http://localhost:555/myWeb/five.do
methos:get
]
请求头:[
uname:mike
]
[注意]: 不能以"/"为开头,必须以"*"为开头
4.通配符请求路径: 当前Servlet可以接收对当前网站所有的请求
例子 OneServlet <url-pattern>/*</url-pattern>
http://localhost:555/myWeb/mm.jpg OneServlet
http://localhost:555/myWeb/one.do OneServlet
5.请求路径优先级:[具体请求路径] > [前置条件]>[通配符] >[后置条件]
http://localhost:555/myWeb/abc/one.do
OneServlet: <url-pattern>/abc/one.do</url-pattern>
TwoServlet <url-pattern>/abc/*</url-pattern>
ThreeServlet <url-pattern>*.do</url-pattern>
FourServlet <url-pattern>/*</url-pattern>
*/
关于优先级:即tomcat根据获取的url去web.xml寻找对应的Servlet来响应请求。
如果按照【具体请求路径】有匹配了,那么直接调用对应的Servlet,反之再按【前置条件】去匹配,依次类推
/*
Servlet实例对象【生命周期】
1.项目中,所有Servlet的实例对象都是由Tomcat负责创建;开发人员
没有权利创建Servlet的实例对象
2.【创建时机】:
1)【默认情况】:当第一个用户来访问这个Servlet时,Tomcat负责创建
它的实例对象
2)【人工干预】: 要求Tomcat在启动时,创建Servlet的实例对象
<servlet>
<servlet-name>TwoServlet</servlet-name>
<servlet-class>com.bjpowernode.controller.TwoServlet</servlet-class>
<load-on-startup>890</load-on-startup>
</servlet>
3.在Tomcat运行期间,一个Servlet实现类只能被创建一个实例对象
4.在Tomcat关闭时,由Tomcat负责销毁所有的Servlet实例对象
*/
更多推荐
已为社区贡献1条内容
所有评论(0)