- 浏览: 21504833 次
- 性别:
博客专栏
-
跟我学spring3
浏览量:2418788
-
Spring杂谈
浏览量:3008937
-
跟开涛学SpringMVC...
浏览量:5639555
-
Servlet3.1规范翻...
浏览量:259959
-
springmvc杂谈
浏览量:1597398
-
hibernate杂谈
浏览量:250248
-
跟我学Shiro
浏览量:5859054
-
跟我学Nginx+Lua开...
浏览量:702035
-
亿级流量网站架构核心技术
浏览量:785263
最新评论
-
xxx不是你可以惹得:
认真看错误代码,有时候重启电脑就行了 醉了 我把数据库配置写死 ...
第十六章 综合实例——《跟我学Shiro》 -
dagger9527:
holyselina 写道您前面说到能获取调用是的参数数组,我 ...
【第六章】 AOP 之 6.6 通知参数 ——跟我学spring3 -
xxx不是你可以惹得:
Access denied for user 'root'@' ...
第十六章 综合实例——《跟我学Shiro》 -
dagger9527:
只有@AspectJ支持命名切入点,而Schema风格不支持命 ...
【第六章】 AOP 之 6.5 AspectJ切入点语法详解 ——跟我学spring3 -
dagger9527:
支持虽然会迟到,但永远不会缺席!
【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
文章列表
部署描述文件
本章指定的Java™Servlet规范3.0版要求Web容器支持部署描述文件。部署描述文件表达了应用开发人员、应用集成人员和Web应用部署人员之间的元素和配置信息。
对于Java Servlet 2.4和以后的版本,部署描述文件在XML模式文档中定义。
为了向后兼容到2.2版本的API编写的应用程序,Web容器也需要支持2.2版本的部署描述文件。为了向后兼容2.3版本的API编写的应用程序,Web容器也需要支持2.3版本的部署描述文件。2.2版本的部署描述文件可在此下载:http://java.sun.com/j2ee/dtds/web-app_2_2 ...
安全
应用开发人员创建Web应用,他给、销售或其他方式转入应用给部署人员,部署人员覆盖安装到运行时环境。应用开发人员与部署人员沟通部署系统的安全需求。该信息可以通过应用部署描述符声明传达,或者通过在应用代码中使用注解。
本质描述了Servlet容器安全机制、接口、部署描述符和基于注解机制用于传达应用安全需求。
13.1 介绍
web应用包含的资源可以被多个用户访问。这些资源常常不受保护的遍历,开放网络如Internet。在这样的环境,大量的web应用将有安全需求。
尽管质量保障和实现细节可能会有所不同,但servlet容器有满足这些需求的机制和基础设施,共用如下一些特性:
■ 身份认 ...
问题
如下方式可以成功扫描到@Controller注解的Bean,不会扫描@Service/@Repository的Bean。正确
<context:component-scan base-package="org.bdp.system.test.controller">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</co ...
《Servlet3.1规范》翻译目录
映射请求到Servlet
Web容器需要本章描述的映射技术去映射客户端请求到Servlet(该规范2.5以前的版本,使用这些映射技术是作为一个建议而不是要求,允许servlet容器各有其不同的schema用于映射客户端请求到servlet)。
12.1 使用URL路径
在收到客户端请求时,web容器确定转发到哪一个Web应用。选择的Web应用必须具有最长的上下文路径匹配请求URL的开始。当映射到Servlet时,URL匹配的一部分是上下文。
Web容器接下来必须用下面描述的路径匹配步骤找出servlet来处理请求。
用于映射到Servl ...
应用生命周期事件
11.1 介绍
应用事件设施给Web应用开发人员更好地控制ServletContext、HttpSession和ServletRequest的生命周期,可以更好地代码分解,并在管理Web应用使用的资源上提高了效率。
11.2 事件监听器
应用事件监听器是实现一个或多个Servlet事件监听器接口的类。它们是在部署Web应用时,实例化并注册到Web容器中。它们由开发人员在WAR包中提供。
Servlet事件监听器支持在ServletContext、HttpSession和ServletRequest状态改变时进行事件通知。Servlet上下文监听器是用来管理 ...
Web应用
一个Web应用是由许多servlet、HTML页面、类和其他资源组成的集合,这些资源组成了一个运行在Web服务器上的完整应用程序。Web应用程序能够捆绑和运行在来自不同提供商的不同容器上。
10.1 Web服务器中的Web应用程序
在Web服务器中Web应用程序的根目录是一个特定的路径。例如,一个catalog应用,可以位于http://www.mycorp.com/catalog。以这个前缀开始的所有请求将被路由到代表catalog应用的ServletContext环境中。servlet容器能够制定Web应用程序自动生成的规则。例如,一个~user/映射可用于映射到一个基于/ ...
转发请求
构建Web应用时,把请求转发给另一个servlet处理、或在response中包含另一个servlet的输出通常是很有用的。RequestDispatcher接口提供了一种机制来实现这种功能。
当请求启用异步处理时,AsyncContext允许用户将这个请求转发到servlet容器。
9.1 获得一个RequestDispatcher
实现了RequestDispatcher接口的对象,可以从ServletContext中的下面方法得到:
getRequestDispatcher
getNamedDispatcher
getRequestDispa ...
注解和可插拔性
本章讨论Servlet
3.0规范定义的注解和使web应用内使用的框架和库能够可插拔的增强。
8.1 注解和可插拔性
在web应用中,使用注解的类仅当它们位于WEB-INF/classes目录中,或它们被打包到位于应用的WEB-INF/lib中的jar文件中时它们的注解才将被处理。
Web应用部署描述符的web-app元素包含一个新的“metadata-complete”属性。“metadata-complete”属性定义了web描述符是否是完整的,或是否应该在部署时检查jar包中的类文件和web fragments。如果“metadata-comp ...
会话
超文本传输协议(HTTP)被设计为一种无状态协议。为构建有效的Web应用,必须与来自一个特定的客户端的请求彼此是相互关联。随时间的推移,演变了许多会话跟踪机制,这些机制直接使用对程序员而言是困难或麻烦的。
该规范定义了一个简单的HttpSession接口,允许servlet容器使用几种方法来跟踪用户会话,而不会使应用开发人员陷入到这些方法的细节中。
7.1 会话跟踪机制
以下章节描述了跟踪用户会话(session)的方法。
7.1.1 Cookies
通过HTTP cookie的会话跟踪是最常用的会话跟踪机制,且所有servlet容器都应该支持。
容器向客 ...
源代码请到附件中下载。
其他下载:
第一章源代码下载
第二章 Spring MVC入门 源代码下载
Controller接口控制器详解 源代码下载
源码下载——第四章 Controller接口控制器详解
源代码下载 第五章 处理器拦截器详解
源代码下载 第六章 注解式控制器详解
目录
Request
请求对象封装了客户端请求的所有信息。在HTTP协议中,这些信息是从客户端发送到服务器请求的HTTP头部和消息体。
3.1 HTTP协议参数
servlet的请参数以字符串的形式作为请求的一部分从客户端发送到servlet容器。当请求是一个HttpServletRequest对象,且符合第24页中“参数可用时”描述的条件时,容器从URI查询字符串和POST数据中填充参数。参数以一系列的名-值对的形式保存。任何给定的参数的名称可存在多个参数值。ServletRequest接口的下列方法可访问这些参数:
■ getParameter
■ getParame ...
过滤器
过滤器(Filter)是Java组件,允许运行过程中改变进入资源的请求和资源返回的响应中的有效负载和header信息。
本章描述了Java
Servlet v3.0 API类和方法,它们提供了一种轻量级的框架用于过滤动态和静态内容。还描述了如何在Web应用配置Filter,它们实现的约定和语义。
网上提供了Servlet 过滤器的API文档。过滤器的配置语法在第14章的“部署描述符”中的部署描述符模式部分给出。当阅读本章时,读者应该是一这些资源作为参考。
6.1 什么是过滤器
过滤器是一种代码重用的技术,它可以改变HTTP请求的内容,响应,及h ...
Response
响应(response)对象封装了从服务器返回到客户端的所有信息。在HTTP协议中,从服务器传输到客户端的信息通过HTTP头信息或响应的消息体。
5.1 缓冲区
Servlet容器允许但不必为了提高效率而缓冲到客户端的输出。典型的服务器默认都是缓冲的,但允许servlet指定缓冲参数。
ServletResponse接口的如下方法允许servlet访问和设置缓冲信息:
■
getBufferSize
■
setBufferSize
■ isCommitted
■ reset
■ resetBuffer
■ flushBuff ...
4.1 ServletContext接口介绍
ServletContext(Servlet上下文)接口定义了servlet运行在的Web应用的视图。容器供应商负责提供Servlet容器的ServletContext接口的实现。Servlet可以使用ServletContext对象记录事件,获取URL引用的资源,存取当前上 ...
7.4、数据验证
7.4.1、编程式数据验证
Spring 2.x提供了编程式验证支持,详见【4.16.2
数据验证】章节,在此我们重写【4.16.2.4.1、编程式验证器】一节示例。
(1、验证器实现
复制cn.javass.chapter4.web.controller.support.validator.User ...