J2EE Architecture(7)

简介:  J2EE Architecture(7) 1、Servlet上下文 Web服务器能支持若干Web应用程序。每个Web应用程序又能支持一个或多个Servlet。

 J2EE Architecture(7)


1、Servlet上下文
Web服务器能支持若干Web应用程序。每个Web应用程序又能支持一个或多个Servlet。
同一个Web应用程序的多个Servlet需要共享Web应用程序环境的资源。为此,Servlet规范提供了一个ServletContext接口。
Servlet可利用ServletContext对象执行登陆事件,获得资源的URL索引,也可设置和存储Web应用程序需要的属性。
对于ServletContext而言,最重要的上下文信息包括:
1)初始化参数
用来初始化应用程序。这些参数由部署描述符中的“键-值”对提供。
ServletContext API允许通过getInitParameter()和getInitParameterNames()等方法访问这些初始化参数。
2)上下文属性
是一组应用程序属性,由Web应用程序的Servlet共享。
可设置和获得参数,也可通过编程方法,从Web应用程序中删除上下文属性。
ServletContext API允许通过多种方法访问上下文属性:setAttribute()、getAttribute()、removeAttribute()和getAttributeNames()等。
3)资源
“静态”内容文件的层次,是Web应用程序的一部分,被称为“Web应用程序资源”,包括HTML、GIF和JPEG等文件。
ServletContext API可通过多种方式访问这些资源,如getResource()和getResourceAsStream()等。
2、请求
Servlet的服务方法有权访问请求对象ServletRequest或HttpServletRequest。
请求对象包含客户请求及其它一些相关信息,该对象将用作传给service()方法的两个参数中的第一个参数。
请求参数采用“键-值”对格式。在特定环境下,一些键可能有多个值。
HttpServletRequest对象的几个重要方面如下:
1)属性
是与HttpServletRequest对象相关的对象。
属性也采用“键-值”对形式,但一个属性仅有一个值。
HttpServletRequest API可用多种方法访问属性:getAttribute()、setAttribute()和getAttributeNames()等。
2)头
头是HTTP请求的一部分,Servlet可通过HttpServletRequest API方法,如getHeader()、getHeaders()或getHeaderNames()等访问这些头信息。
HttpServletRequest对象的头可能包含integer、date的文本表示。为了访问它们,HttpServletRequest API提供了getIntHeader()和getDateHeader()方法。
3)Cookie
HTTP请求通常伴随着一个或多个Cookie,这些Cookie包含宝贵数据。
Cookie可以帮助Web应用程序构建客户端和服务器应用之间的会话。
HttpServletRequest API提供诸如getCookie()的方法,以便访问Cookie,并创建和维护会话。
3、响应
Servlet的服务方法有权访问响应对象。响应对象将是ServletResponse或HttpServletResponse。该对象包含了响应客户端的信息和所有其它相关细节,是service()方法两个参数的第二个参数。
客户端响应打包在HttpServletResponse对象在。HttpServletResponse对象的重要组成部分有:
1)头
发送给客户端的头信息可通过HttpServletResponse API获得。
诸如addHeader()方法可用于创建发送给客户端的头信息。
setHeader()方法可用于设置相应头的头值。
对于特定的类型,如integer和date型,HttpServletResponse API提供了addIntHeader()、setIntHeader()、addDateHeader()和setDateHeader()方法。
2)缓冲区
Servlet容器可以提供缓冲区功能,以增强“请求-响应”操作的性能和效率。
一些缓冲区功能可通过setBufferSize()、getBufferSize()、isCommitted()、reset()、resetBuffer()和flushBuffer()等方法实现。
3)响应类型和格式
发送给客户端的输出需要进行相应设置和简化。
为此,HttpServletResponse API提供了以下方法:setContentType()、setContentLength()、getWriter()、getOutputStream()等。
开发人员需要根据setContentType()方法设置的内容类型设置响应格式。
例如:若setContentType()方法被设置为text/html类型,开发人员就需要根据业务需求设置相应的输出格式。
编程人员在设计应用程序时,要认真选择输出的内容类型。还要理解输出的表示部分,并全面了解HTML等表示语言的语法。
----------------------------
完成了HttpServletResponse对象就意味着service()方法执行结束。
在关闭响应时,Servlet容器必须清空客户响应缓冲区剩余的所有内容。

目录
相关文章
|
Android开发 Java Kotlin
Architecture -- WorkManager
1. WorkManager 1). 简介 其实就是"管理一些要在后台工作的任务, -- 即使你的应用没启动也能保证任务能被执行",WorkManager在底层, 会根据你的设备情况, 选用JobScheduler, Firebase的JobDispatcher, 或是AlarmManager。
885 0
Enterprise Architect学习笔记-EA中关系
Enterprise Architect中定义的关系主要有一下几种: ●Associate(关联):类之间有关联,通常是作为变量存在; ●Aggregate(聚合):类A包含类B或由类B组成;...
1022 0
|
Java 测试技术 应用服务中间件
J2EE Architecture(4)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1601797 J2EE Architecture(4) 在Java语言从客户机/服务器环境发展为分布式平台后,J2EE应运而生。
1029 0
|
开发框架
J2EE Architecture(15)
J2EE Architecture(15)
736 0
|
架构师 OLAP OLTP
J2EE Architecture(1)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1596034 J2EE Architecture(1) 1、遗留系统指继承产品,即企业早期使用的应用程序、数据结构、运行环境和硬件集合。
902 0
|
开发框架
J2EE Architecture(18)
J2EE Architecture(18)
674 0
|
开发框架
J2EE Architecture(3)
J2EE Architecture(3)
817 0
|
开发框架
J2EE Architecture(9)
J2EE Architecture(9)
705 0
|
API 容器 开发框架
J2EE Architecture(7)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1605607  J2EE Architecture(7) 1、Servlet上下文Web服务器能支持若干Web应用程序。
825 0
|
数据库 容器 开发框架
J2EE Architecture(14)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1614141 J2EE...
834 0