




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Servlet的一些注意事项(1)由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界使用,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用元素和元素完成。元素用于注册Servlet。它包含有两个主要的子元素:和,分别用于设置Servlet的注册名称和Servlet的一个队外向访问路径,它包含有两个子元素:和,分别用于指定servlet的注册名称和Servlet的对外访问路径。Servlet的一些注意事项(2)同一个Servlet可以被映射到多个URL上,即多个元素的子元素的设置值可以是同一个Servlet的注册名。在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定格式:一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾AnyNameAnyName*.do/action/*Servlet的一些注意事项(3)对于如下一些映射关系:l Servlet1映射到/abc/*l Servlet2映射到/*l Servlet3映射到/abcl Servlet4映射到*.do问题:l 当请求URL为“/abc/a.html”,“/abc/*”和“/*”都匹配,哪个Servlet响应Servlet引擎调用Servlet1.l 当请求URL为“/abc”时,“/abc/*”和“/abc”都匹配,哪个Servlet响应Servlet引擎调用Servlet3.l 当请求URL为“/abc/a.do”时,“/abc/*”和“/*.do”都匹配,哪个Servlet响应Servlet引擎调用Servlet1.l 当请求URL为“/a.do”时,“/*”和“/*.do”都匹配,哪个Servlet响应Servlet引擎调用Servlet2.l 当请求URL为“/xxx/yyy/a.do”时,“/*”和“*.do”都匹配,哪个Servlet响应Servlet引擎调用Servlet2.Servlet的一些注意事项(4)l Servlet是一个供其他Java程序(Servlet引擎)调用Java类,它不能独立运行,它的运行完全有Servlet引擎来控制和调度。l 针对客服端的多次Servlet请求,通常情况下,服务器只会创建一个Servlet实例对象,也就是说Servlet实例对象一旦创建,它就会驻留在内存中,为后继的其他请求服务,直至web容器退出,Servlet实例对象才会销毁。l 在Servlet的整个生命周期内,Servlet的init方法只被调用一次,而对一个Servlet的每次访问请求都导致Servlet引擎调用一次Servlet的service方法。对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletRequest响应对象,然后将这个对象作为参数传递给它调用的Servlet的service()方法,service方法再根据请求方式分别调用doXXX方法。Servlet的一些注意事项(5)如果在元素中配置了一个元素,那么WEB应用程序启动时,就会封装并创建Servlet的实例对象,以及调用Servlet实例对象的init()方法。举例:invokerorg.apache.catalina.servlet.InvokerServlet2用途:为web应用写一个InitServlet,这个Servlet配置为启动时装载,为整个web应用创建必要的数据库和数据。 Servlet的一些注意事项(6)如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前web应用的缺省Servlet。凡是在web.xml文件中找不到匹配的元素的URL,他们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。在confweb.xml文件中,注册一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。Servlet的一些注意事项(7)当多个客服端并发访问同一个Servlet时,web服务器会为每一个客服端的访问请求创建一个线程,并在这个线程上调用Servlet的Servlet方法,因此Servlet方法内如果访问了同一个资源的话,就有可能引发线程安全问题。如果某个Servlet实现了SingleThreadMode接口,那么Servlet引擎将以单线程模式来调用其service方法。SingleThreadMode接口中没有定义任何方法,只要在Servlet类的定义中增加实现SingleThreadMode接口的声明即可。对于实现了SingleThreadMode接口的Servlet,Servlet引擎任然支持对该Servlet的多线程并发访问,其采用的方式是产生多个servlet实例对象,并发的每个线程分别调用一个独立的Servlet实例对象。实现SingleThreadMode接口并不能真正解决Servlet的线程安全问题,因为servle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阅读节活动策划方案范文(3篇)
- 线上促销活动赠品方案策划(3篇)
- 弧形铝板施工方案(3篇)
- 镜面墙壁施工方案(3篇)
- 砂砾石隧洞施工方案(3篇)
- 培训会活动宣传方案策划(3篇)
- 郫县电梯加装施工方案(3篇)
- 中职旅游考试题库及答案
- 地铁安检考试题库及答案
- 安徽省马鞍山市和县2024-2025学年高三下学期高考二模历史试题含参考答案
- 2025新版企业员工劳动合同范本
- 公司适用法律法规标准清单2025年08月更新
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
- 美发店租工位合同协议
- GB/T 196-2025普通螺纹基本尺寸
- 数据结构ppt课件完整版
- GB∕T 36527-2018 洁净室及相关受控环境 节能指南
- 铝模板施工工艺标准
- 采购与供应管理(二)教案
- U9_生产管理_Unit2_备料的领用与发放_V2.1
- 压力容器制造通用工艺规程
评论
0/150
提交评论