视频教学资源掌握请求转发与重定向掌握在Servlet 中处理表单数据掌握Servlet 编程中常见中文乱码的处理了解会话跟踪技术了解Servlet 与线程安全请在预习前完成下列单词的学习,并将单词写在横线上。隐藏域提交显示隐藏域信息2.编写一个HTML 页面模拟用户登录功能,提交到Servlet 中进行验证。当用户名为“admin”和密码为“123456”时,跳转到成功提示页面并显示登录用户名;当用户名和密码错误时,跳转到错误提示页面,效果如下图所示。......
2025-09-30
Servlet 体系结构是建立在Java 多线程机制之上的,它的生命周期是由Web 容器负责管理的。
当客户端第一次请求某个Servlet 时,Servlet 容器将会根据web.xml 配置文件实例化这个Servlet 类。当有新的客户端请求该Servlet 时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。Servlet 容器会自动使用线程池等技术来支持系统的运行。线程池实际上是等待执行代码的一组线程,这些线程叫做工作者线程(Worker Thread)。Servlet 容器使用一个调度者线程(Dispatcher Thread)来管理工作者线程。
如图3.24 所示,当Servlet 容器接收到一个访问Servlet 的请求,调度者线程从线程池中选取一个工作者线程,将请求传递给该线程,然后由这个线程执行Servlet 的service()方法。

图3.24 调度者线程选取一个工作者线程来服务请求(https://www.chuimin.cn)
但是,当两个或多个线程同时访问同一个Servlet 时,可能会发生多个线程同时访问同一Servlet 的情况,如图3.25 所示。那么这个Servlet 的service()方法将在多个线程中并发的执行,若这样数据可能会变得不一致。所以在用Servlet 构建的Web应用程序时如果不注意线程安全的问题,会使所写的Servlet 程序有难以发现的错误。

图3.25 两个工作者线程同时执行一个Servlet 的service()方法
相关文章
视频教学资源掌握请求转发与重定向掌握在Servlet 中处理表单数据掌握Servlet 编程中常见中文乱码的处理了解会话跟踪技术了解Servlet 与线程安全请在预习前完成下列单词的学习,并将单词写在横线上。隐藏域提交显示隐藏域信息2.编写一个HTML 页面模拟用户登录功能,提交到Servlet 中进行验证。当用户名为“admin”和密码为“123456”时,跳转到成功提示页面并显示登录用户名;当用户名和密码错误时,跳转到错误提示页面,效果如下图所示。......
2025-09-30
Servlet 作为一种在Servlet 容器中运行的组件,必然有一个从创建到销毁的过程,这个过程通常被称为Servlet 的生命周期。Servlet 的生命周期包括加载、实例化、初始化、服务和销毁几个阶段。下面是具体的Servlet 生命周期,如图2.9 所示。图2.9Servlet 生命周期Servlet 容器装载Servlet 类,并实例化一个Servlet 实例对象。初始化的过程主要是读取永久的配置信息、读取初始化参数、连接数据库等,通常这些都是在Servlet 的整个生命周期仅仅需要执行一次的操作。......
2025-09-30
Servlet 体系结构如图2.10 所示。图2.10Servlet 体系结构Servlet 其实就是实现了javax.servlet.Servlet 接口的类,一般通过继承GenericServlet、HttpServlet 等类来实现。javax.servlet 包主要提供了Web 容器能够使用的接口和Servlet 基本类,它不对应于HTTP 协议;javax.servlet.http 包主要包括与HTTP 协议有关的接口和Servlet 类。图2.11Servlet 的层次结构在图2.11 中,列出了javax.servlet 和javax.servlet.http 这两个包中主要的类和接口及其层次结构。这些类和接口可以简单地划分为以下几个类别:Servlet 基本类和接口Web 请求与响应类Servlet 异常类Servlet 其他类......
2025-09-30
视频教学资源了解Servlet了解Servlet 容器掌握在Eclipse 中建立Servlet了解Web.xml 配置文件掌握Servlet 的生命周期了解Servlet 体系结构了解Servlet 常用API请在预习前完成下列单词的学习,并将单词写在横线上。Servlet 中输出信息2.创建一个Servlet 应用程序,输出服务器端信息,效果如下图所示。输出服务器端信息3.客户端浏览器不可以向服务器请求的服务是()。A.地址栏输入待访问页面的URL 信息B.使用层叠样式表C.超链接D.表单提交......
2025-09-30
在介绍Servlet 层次结构时,列出了javax.servlet 和javax.servlet.http 这两个包包含开发Servlet 需要用到的主要API,并将其进行了分类。在这里将详细介绍这些Servlet 常用API。Servlet API 是一组基于处理客户端和服务器之间请求和响应的Java 语言标准API。例如,HttpServlet 是常用的抽象类,它的HTTP 处理方法是空的。Servlet 接口中的方法见表2.3。Servlet API 提供了Servlet 接口的直接实现,称为GenericServlet。Servlet 可以通过这些类理解客户的请求,将其处理后的内容通过HttpServletResponse 回复到Web 容器。表2.6ServletResponse 接口中常用......
2025-09-30
统一资源定位符也被称为网页地址,是用于完整地描述Internet 上网页和其他资源的地址的一种标识方法。现在它已经被万维网联盟编制为Internet 标准RFC1738 了。例如:其中“http”指使用的协议,“mail.***.com”是服务器名,“80”是端口号,“/a/j/js3/main.jsp”是路径,“?sid=SDeQWJeebVpZIlKECzee”是询问。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明,用户只要键入统一资源定位符的一部分(mail.***.com/a/j/js3/main.jsp?......
2025-09-30
通用资源标志符是互联网的一个协议要素,可以通过它来定位任何远程或本地的可用资源。URI 的通用格式为:其中协议指的是访问资源使用的协议名称,常见的有http、ftp、mailto、file 等。协议和主机名称或IP 地址间使用半角冒号(:)连接,包含资源路径的冒号后还有两个半角斜杠(//)。主机名称或IP 地址是用于在网络中查找服务器并用于和它建立连接来获取资源。因为在大部分情况下,服务器都会采用协议默认的端口号。......
2025-09-30
由于有了Sun 的参与和支持,Tomcat 8 支持最新的Servlet 3.0 和JSP 2.2 规范。Tomcat 部分是Apache 服务器的扩展,当运行Tomcat 时,它是作为一个与Apache 独立的进程单独运行的。当配置正确时,Apache 为HTML 页面服务,而Tomcat 实际上运行JSP 页面和Servlet。图1.4Tomcat 服务器根目录2.目录结构在Tomcat 中发布Java Web 应用程序之前,首先要了解Tomcat 的目录结构。Tomcat的目录结构是由自身的实现决定的,与SUN 公司的Servlet 规范无关。......
2025-09-30
相关推荐