Servlet 2.5版本终止响应

开发 后端
本文介绍Servlet 2.5版本终止响应,以及由于Servlet 2.5版本要保持一些旧的性质,几个大的概念不得不延后到下一个阶段

***处优化细小又深奥,但做为规范中的一个例子还有蛮有趣的。Servlet 2.4规范规定响应在这几种情况下应该是有效的,包括:在响应的setContentLength方法中内容已经明确说明,以及内容已经写进了响应中。这种情况只有你的代码像下面这样才可以使响应重新定向:
◆response.setHeader("Host", "localhost");
◆response.setHeader("Pragma", "no-cache");
◆response.setHeader("Content-Length", "0");
◆response.setHeader("Location", http://www.apache.org");

Servlet技术忽略特定区域的标题头,因为内容满足0字节长度,响应就会立即生效。而在它开始之前,响应就已失效了!Servlet容器通常拒绝执行这种行为,而Servlet 2.5版本增加了“长度必须大于0”这个原则。
实例编码:

Servlet 2.4 规范规定必须在调用request.getReader()方法之前调用request.setCharacterEncoding()方法。但是,如果你忽略这个原则而在其之后去调用request.setCharacterEncoding()方法,那么会产生什么后果,这个问题规范里并没有说。为了简便,现在消除这种情况!

Cross-context sessions(不同上下文目录间的会话):
最近,关于Cross-context会话处理的规则已经明确说明。当Servlets指派从一个上下文到其他上下文的请求时,这个规则就发挥了作用??在目标调用过程中,包括哪些会话。这个版本的出现使得一个上下文目录的主页里的portlets可以通过几种内部的命令来对别的上下文目录里的portlets起作用。

Servlet 2.5版本明确指出一个上下文目录里的资源可以访问其他上下文目录的session(会话),而不用考虑这个请求从哪里开始的。这意味着portlets可以脱离主页的范围而在自己的范围里运行,而且这个规范还会应用在不兼容的Serlvet容器中。期待:

由于Servlet 2.5版本要保持一些旧的性质,几个大的概念不得不延后到下一个阶段。它们包括:
◆新的输入/输出(NIO)支持:使NIO通道更有利于Servlets进行客户端通信成为可能。
◆过滤器wrap-under或wrap-over语义:有时用过滤器包装请求,和/或者响应对象去修改方法行为或者启用新的方法。当把这种包装和服务器对请求和响应的包装结合起来时,又应该怎么包装在一起?
◆用于欢迎的Servlets文件:做为索引应该充当欢迎作用的文件吗?在此之前,这个回答是肯定的。但是规范没有明确说明如何使用这个功能,尤其在没有索引的情况下。
◆用于欢迎的文件的分派规则:如何分派欢迎文件,这个细节并没有完全说明,而是遗留了一些开放的缺口来应对不兼容问题。
◆登陆后选择默认页面:如果用户通过他们的书签访问Servlet的登陆页面,那么在成功登陆后页面应该转向哪里呢?这个问题至今尚未明确说明。
◆用户的主题日志:在通过网站正确地注册之后,不通过传统地登陆方式没有办法使Servlet信任用户。

【编辑推荐】

  1. Servlet中的doFilter方法
  2. 配置Servlet过滤器
  3. 安装Servlet和JSP开发工具
  4. Java Servlet入门教程
  5. Servlet过滤器是什么
责任编辑:佚名 来源: 163博客
相关推荐

2009-07-07 02:15:03

Servlet2.5

2009-07-16 16:53:29

Jython 2.5

2015-07-20 16:48:53

MongoDB 2.5查询引擎

2012-11-16 09:50:32

Windbg

2012-05-07 23:45:54

FantomJavaJVM

2010-06-08 09:45:27

openSUSE 11

2012-03-06 13:45:43

JavaJActor

2010-08-26 17:08:20

vsftpd faq

2009-06-18 09:14:47

Spring modu

2010-06-08 10:34:23

opensuse 10

2014-07-04 13:33:03

jQueryjQuery Mobi

2012-05-09 09:11:52

Silverlight

2011-08-18 11:26:23

Kingsoft OfOffice

2021-03-30 11:04:07

Windows 10Windows微软

2023-06-14 11:29:57

微软Windows 10

2010-10-21 16:10:08

2015-07-17 13:27:16

MySQL 5.7

2015-07-17 13:45:12

MySQL 5.7

2009-04-25 08:52:54

AndroidGoogle移动OS

2015-07-17 13:43:09

MySQL 5.7
点赞
收藏

51CTO技术栈公众号