`

Servlet细节说明2

阅读更多

 

l如果在<servlet>元素中配置了一个<load-on-startup>元素,那么WEB应用程序在启动时,就会装载并创建Servlet的实例对象、以及调用Servlet实例对象的init()方法。

举例:

<servlet>

<servlet-name>invoker</servlet-name>

<servlet-class>

org.apache.catalina.servlets.InvokerServlet

</servlet-class>

<load-on-startup>2</load-on-startup>

</servlet>

l用途:为web应用写一个InitServlet,这个servlet配置为启动时装载,为整个web应用创建必要的数据库表和数据
l如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
l凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
l在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。
l当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。
l当多个客户端并发访问同一个Servlet时,web服务器会为每一个客户端的访问请求创建一个线程,并在这个线程上调用Servlet的service方法,因此service方法内如果访问了同一个资源的话,就有可能引发线程安全问题。
l如果某个Servlet实现了SingleThreadModel接口,那么Servlet引擎将以单线程模式来调用其service方法。
lSingleThreadModel接口中没有定义任何方法,只要在Servlet类的定义中增加实现SingleThreadModel接口的声明即可。
l对于实现了SingleThreadModel接口的Servlet,Servlet引擎仍然支持对该Servlet的多线程并发访问,其采用的方式是产生多个Servlet实例对象,并发的每个线程分别调用一个独立的Servlet实例对象。
l实现SingleThreadModel接口并不能真正解决Servlet的线程安全问题,因为Servlet引擎会创建多个Servlet实例对象,而真正意义上解决多线程安全问题是指一个Servlet实例对象被多个线程同时调用的问题。事实上,在Servlet API 2.4中,已经将SingleThreadModel标记为Deprecated(过时的)。
分享到:
评论

相关推荐

    计算机毕业设计:Java实现的网上在线报名系统(servlet+jsp实现),保证可靠运行,附赠计算机答辩PPT模板

    通过阅读说明文档,用户可以快速掌握系统的开发流程和实现细节,为后续的学习和实践提供有力的指导。同时,说明文档还提供了丰富的技术资料和参考资源,帮助用户进一步拓展知识和技能。 附赠的计算机答辩PPT模板则...

    基于Servlet、SSH、SSM、SpringBoot等流行技术实现的JavaWeb项目

    Hello,在这里,我将为您分享流行技术实现的JavaWeb源码(包括但不局限于Servlet、SSH、SSM、SpringBoot)及相关技术的讲解。 项目说明 目前这个项目只是初创阶段,很多细节还没有确定。但可以确定,这个仓库的目...

    分享基于Servlet、SSH、SSM、SpringBoot、SpringCloud等流行技术实现的JavaWeb项目

    目前这个项目只是前几个阶段,很多细节还没有确定。但可以确定,这个仓库的目的是分享优质JavaWeb项目帮助小白入门JavaWeb开发,帮助JavaWeb开发者进阶,也让自己的技术水平能够跟上的上时代潮流。 仓库中分享的...

    教务管理系统(概要设计及详细设计).doc

    1.3 基本设计概念和处理流程 概要说明书的目的在于明确系统的数据结构和软件结构,设计外部软件和内部软件的 接口,说明各个软件模块的功能说明,数据结构的细节等。系统的总体处理流程如图1- 1所示: 图1-1 系统的...

    基于web的图书管理系统(图书管理系统)毕业设计课程设计。:Java+jsp+Servlet+Eclipse+MySql

    开发工具及相关技术:Java+jsp+Servlet+Eclipse+MySql。 图书管理.zip基于web的图书管理系统(图书管理系统)就是利用计算机,结合互联网对图书进行结构化、自动化管理的一种软件,来提高对图书的管理效率。随着...

    毕设课设-java共享网盘jsp+servlet文件管理系统.zip

    这些代码均经过严格测试,可直接运行,方便您快速了解项目结构和实现细节。 MD文档:详细介绍了每个项目的需求分析、系统设计、系统实现和测试等环节,让您能够全面了解项目的开发流程和关键技术。此外,还附带了...

    毕设课设项目-java党员管理系统jsp+servlet入党信息管理系统.zip

    这些代码均经过严格测试,可直接运行,方便您快速了解项目结构和实现细节。 MD文档:详细介绍了每个项目的需求分析、系统设计、系统实现和测试等环节,让您能够全面了解项目的开发流程和关键技术。此外,还附带了...

    JSP的九个内置对象及四个作用域

    Request 对象是javax.servlet.ServletRequest的子类型,“Request”对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,最常用的对象方法有getParameter、getParameterNames和getParameterValues通过...

    《Velocity1.4 java开发指南》中文版

    10.Velocity Configuration Keys and Values(配置参数名字和值说明) 20 1.Runtime Log 20 2.字符集编码问题 21 3.#foreach() Directive 21 4.#include() and #parse() Directive 21 5.资源管理 21 6.Velocimacro(宏...

    weixin142微信点餐系统小程序+ssm(源码+部署说明+演示视频+源码介绍+lw).rar

    演示视频和源码介绍可能是为了更好地向潜在用户展示系统的实际运作情况和代码结构,而“lw”可能指的是相关的学习文档或者开发者提供的说明文档,帮助用户理解系统的工作原理和使用方法。 请注意,这个介绍是基于...

    spring-mvc代码示例+注释+文件解析(可直接运行)

    3、关于具体细节处理本代码没有详细说明,网上下载spring-mvc官方文档自己看一下各种情况如何使用即可。 4、本资料只是一个很简单的spring-mvc搭建的工程,旨在让初学者简单了解spring-mvc的配置,能给初学者一个...

    weixin057马拉松报名系统微信小程序+ssm(源码+部署说明+演示视频+源码介绍+lw).rar

    "weixin057马拉松报名系统"是一个基于微信小程序和SSM框架(Spring, SpringMVC, MyBatis)...请注意,以上介绍是基于典型的马拉松报名系统的功能和技术栈,具体的实现细节和额外功能可能会根据实际的项目需求有所不同。

    白盒测试指南

    (说明:此白盒测试指南主要给白盒测试人员提供一些基本的白盒测试方法和技术,由于涉及的问题广泛,测试内容中的细节不一定准确和完整,还有待于各位的共同参与和不断完善,欢迎多交流!) 1. 目的 本方案主要实施...

    深入体验Java Web开发内幕

    【下载说明】  《深入体验Java Web开发内幕——核心基础》一书在网上评价极高,非常适合广大Java Web开发人员。本资料是该书PDF格式的高清晰电子版,可用Adobe Reader7.0或兼容阅读工具打开,推荐Java爱好者...

    jsp学生课绩管理系统(源代码+论文).rar

    系统源代码是本项目的核心部分,采用了JSP结合Servlet技术,后端数据库可能使用了MySQL或其他关系型数据库来存储学生信息和成绩数据。源码中涵盖了登录验证、学生信息管理、成绩录入与查询、统计分析等功能模块,...

    Android项目开发报告.doc

    "密码 " " 表2:账目明细表 "表名 "JOURNALS " "说明 " " "字段名 "数据类型 "约束 "说明 "备注 " "JID "INTEGER "primary key "编号 " " " " "autoincrement " " " "JDATE "TEXT " "日期 " " "JEVENT "TEXT " "事由...

    JAVA核心技术

    而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人...

    Struts in Action中文版(PDF)

    为了能在一本书里面包含 Struts,我们试图在本书中包括HTML 标记语言, JSP页面语法,JavaBean 开发的习惯,或者类似技术的细节。嘉定读者已经熟知这些技术,以便能跟得上我们表述的例子。 并且假定读者熟知URL,...

    java基础知识点汇总

    以下是 Java 基础知识点汇总的详细说明: ### 1. 面向对象的特征 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它强调使用对象和类来组织和结构化代码。面向对象编程的四个基本特征是:抽象...

    Android项目开发报告.docx

    目 录 1项目简介 2 2开发环境 2 2.1Android平台结构介绍 2 2.2 MVC框架 3 ... 4数据库结构 4.1数据表设计 表1:用户表 表名 ACCOUNTS 说明 用户表 字段名 数据类型 约束 说明 备注 USERNAME TEXT primary key 用户名 US

Global site tag (gtag.js) - Google Analytics