J2EE Architecture(7)

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1605607  J2EE Architecture(7)1、Servlet上下文Web服务器能支持若干Web应用程序。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1605607

 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容器必须清空客户响应缓冲区剩余的所有内容。

 

目录
相关文章
|
架构师 设计模式 测试技术
谈谈我理解的SA——Systems Architecture
什么是SA? SA即Systems Architecture,是系统体系结构。 系统体系结构是定义系统的结构、行为和系统视图的概念模型。架构师将其系统的形式化描述或表示出来,以支持结构和行为的推理的方式组织。
2369 0
|
Android开发 Java Kotlin
Architecture -- WorkManager
1. WorkManager 1). 简介 其实就是"管理一些要在后台工作的任务, -- 即使你的应用没启动也能保证任务能被执行",WorkManager在底层, 会根据你的设备情况, 选用JobScheduler, Firebase的JobDispatcher, 或是AlarmManager。
884 0
|
开发框架
J2EE Architecture(18)
J2EE Architecture(18)
673 0
|
开发框架
J2EE Architecture(9)
J2EE Architecture(9)
703 0
J2EE Architecture(6)
J2EE Architecture(6)
846 0
|
开发框架
J2EE Architecture(15)
J2EE Architecture(15)
735 0
|
Java API 数据库
J2EE Architecture(5)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1603877 J2EE Architecture(5) 1、J2EE标准产品标准产品是J2EE平台的有形方面:1)应用程序组件客户层组件:典型的客户端有Java应用程序、Java applet和瘦客户端等;表示层组件:表示层组件在Web服务器环境中运行,Servlet、JSP和HTML等都是典型例子。
836 0
|
Java 测试技术 应用服务中间件
J2EE Architecture(4)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1601797 J2EE Architecture(4) 在Java语言从客户机/服务器环境发展为分布式平台后,J2EE应运而生。
1028 0
|
架构师
J2EE Architecture(2)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1596037 J2EE Architecture(2) 1、架构术语架构师要有艺术家的风范。
838 0
|
XML Java 数据格式
J2EE Architecture(11)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1609728 J2EE Architecture(11) 1、JSP文档(JSP Document)根据XML语法调整格式的JSP页称为JSP文档。
711 0

热门文章

最新文章