1.WebApplicationContextUtils
当 Web 应用集成 Spring 容器后,代表 Spring 容器的 WebApplicationContext 对象将以 WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE 为键存放在 ServletContext 属性列表中。
WebApplicationContext wac = (WebApplicationContext)servletContext.
getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
|
但通过位于 org.springframework.web.context.support 包中的 WebApplicationContextUtils 工具类获取 WebApplicationContext 更方便:
WebApplicationContext wac =WebApplicationContextUtils.
getWebApplicationContext(servletContext);
|
当 ServletContext 属性列表中不存在 WebApplicationContext 时,getWebApplicationContext() 方法不会抛出异常,它简单地返回 null。如果后续代码直接访问返回的结果将引发一个 NullPointerException 异常,而 WebApplicationContextUtils 另一个 getRequiredWebApplicationContext(ServletContext sc) 方法要求 ServletContext 属性列表中一定要包含一个有效的 WebApplicationContext 对象,否则马上抛出一个 IllegalStateException 异常。
2.WebUtils
下面这些方法为访问 HttpServletRequest 和 HttpSession 中的对象和属性带来了方便:
方法说明
Cookie getCookie(HttpServletRequest request, String name) |
获取 HttpServletRequest 中特定名字的 Cookie 对象。如果您需要创建 Cookie, Spring 也提供了一个方便的 CookieGenerator 工具类; |
Object getSessionAttribute(HttpServletRequest request, String name) |
获取 HttpSession 特定属性名的对象,否则您必须通过request.getHttpSession.getAttribute(name) 完成相同的操作; |
Object getRequiredSessionAttribute(HttpServletRequest request, String name) |
和上一个方法类似,只不过强制要求 HttpSession 中拥有指定的属性,否则抛出异常; |
String getSessionId(HttpServletRequest request) |
获取 Session ID 的值; |
void exposeRequestAttributes(ServletRequest request, Map attributes) |
将 Map 元素添加到 ServletRequest 的属性列表中,当请求被导向(forward)到下一个处理程序时,这些请求属性就可以被访问到了; |
此外,WebUtils还提供了一些和ServletContext相关的方便方法:
方法说明
String getRealPath(ServletContext servletContext, String path) |
获取相对路径对应文件系统的真实文件路径; |
File getTempDir(ServletContext servletContext) |
获取 ServletContex 对应的临时文件地址,它以 File 对象的形式返回。 |
下面的片断演示了使用 WebUtils 从 HttpSession 中获取属性对象的操作:
protected Object formBackingObject(HttpServletRequest request) throws Exception {
UserSession userSession = (UserSession) WebUtils.getSessionAttribute(request,
"userSession");
if (userSession != null) {
return new AccountForm(this.petStore.getAccount(
userSession.getAccount().getUsername()));
} else {
return new AccountForm();
}
}
|
分享到:
相关推荐
Web 相关工具类 除了文件资源操作,Spring 还提供了丰富的 Web 相关工具类,帮助开发者更高效地处理 HTTP 请求、响应以及会话管理等问题。以下是一些常用的 Web 工具类: 1. **HttpEntity** 和 **ResponseEntity**...
Spring不但提供了一个...第1部分将介绍与文件资源操作和Web相关的工具类。在第2部分中将介绍特殊字符转义和方法入参检测工具类。文件资源操作文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特
Java Web开发工具类主要指的是在构建Web应用程序时使用的各种实用工具和框架,这些工具和框架极大地简化了开发过程,提高了代码的可维护性和可扩展性。Struts2是其中非常著名的MVC(Model-View-Controller)框架,它...
Util工具类通常包含了一系列静态方法,用于处理与Web Services相关的任务,如: 1. **创建SOAP消息**:工具类可能提供一个方法来构建符合SOAP规范的XML消息,包括设置SOAP头和SOAP体,这使得开发者无需手动编写复杂...
在这个"web开发相关的工具类"中,我们可以看到一些关键的工具类,如CookieUtils、FormUtils、IpUtils、JwtUtils、MD5、RandomUtils以及RsaUtils。接下来,我们将深入探讨这些工具类的作用和使用场景。 1. **...
web 项目中的各种工具类 Bean2MapUtil 实体bean的数据转到map中 BeanUtil 拷贝一个bean中的非空属性于另一个bean中 CopyOfJExcelUtils excel 工具类 DateUtil 时间工具类 FileUtils 文件工具类 JExcelUtils excel ...
本文档中主要是web dynpro应用中开发的相关工具类的集合(需要使用文档请邮件联系),里面主要包括数据库快速应用,ce7.1表格排序过滤快速构造,节点与数据库快速绑定,动态RFC应用,动态webservice应用,数据交换服务...
WebAPI工具类是开发Web服务时的一个重要辅助组件,它主要负责封装常见的API操作,以简化接口调用和数据处理过程。在WebAPI项目中,我们可能会遇到各种问题,如参数传递、数据序列化与反序列化、错误处理、认证与授权...
在Web开发过程中,工具类(Tools)扮演着重要的角色,它们提供了一系列静态方法,帮助开发者高效地处理常见的任务。以下是一些在标题和描述中提到的工具类的详细说明: 1. **DateUtils**: 这个类通常用于日期和时间...
标题“桌面web工具类1”指的是在开发JavaWeb应用程序时,用于处理桌面环境相关的工具类集合。这些工具类通常包含了对桌面操作系统的交互逻辑,如文件操作、系统通知、桌面快捷方式创建等,以增强Web应用在桌面环境下...
标题提到的"C# Web常用工具类、asp.net常用类"指的是开发者们在构建Web应用程序时经常会用到的一些实用类库。这些类库通常包含了处理HTTP请求、响应、数据绑定、用户会话、状态管理等多种功能,极大地提高了开发效率...
本压缩包"java写的几种方便web开发工具类源码"提供了多种功能,涵盖了数据转换、数据库连接、邮件发送、验证码生成以及编码过滤和加密解密等关键领域,对于Web开发工作极具价值。 首先,让我们深入了解一下其中的几...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术。为了提高代码复用性和组织性,开发者通常会创建工具类(Util Classes),...记住,合理地组织和使用工具类是优化Java Web项目的重要手段。
PageUtils是一个Java工具类,用于简化分页逻辑的处理。它包含以下两个主要部分: 1. PageInfo 内部类:这是一个泛型类,封装了分页所需的信息,包括当前页码、页面大小、总页数、总记录数和当前页的记录列表。 2. ...
这个名为"JavaWeb相关工具类"的压缩包很可能包含了一些常用的、预封装好的Java类,这些类集成了各种常见的功能,使得在处理Web相关任务时更加高效。下面,我们将深入探讨JavaWeb工具类的一些核心知识点。 1. **字符...
验证码生成工具类是一种在Web应用中广泛使用的安全机制,它主要用于防止自动化的恶意操作,比如机器人注册、垃圾邮件发送等。这个工具类是用Java语言编写的,因此我们可以深入探讨一下Java验证码生成的相关技术和...
这类工具允许开发者和系统管理员在没有实际用户交互的情况下模拟大量的并发请求,以便于发现问题并优化服务器配置。本文将深入探讨这一主题,并以"wsCaller-1.0"为例进行说明。 首先,Webserver是互联网应用的核心...
《web通用工具类包——common-utils.zip详解》 在web开发中,有一款优秀的工具类库可以极大地提高我们的开发效率,这就是"common-utils.zip"。它是一个专为web应用程序设计的通用工具类包,集成了多种实用功能,...