Struts2之Web容器对象的使用
前段时间确实也比较忙的,忙着考试,忙着写实验,各种忙碌以至于迷失了自己,这两天稍稍轻松点,坐在高大上的中南新校图书馆里面的咖啡厅,吹着空调喝着咖啡,顿时心旷神怡,整理整理所遇到的问题总结一下,只有在知识的汪洋中我才能找到自己。
学习确实是一件非常幸福快乐的事情,乐在其中,用心去体会,慢慢品尝。虽然我们还在为我们的未来施肥洒水,除草,等待未来可以为社会贡献自己一份力,顺便实现人生价值,体会人生之乐。
我们使用过servlet后就会知道request,session,application这三大对象对于我们实现后台和前台的数据交互的重要性,当然我们使用struts2这个表示层框架进行开发时,当然也少不了这三个对象的使用。
然而 为了避免与Servlet API耦合在一起,方便Action类做单元测试,Struts 2对HttpServletRequest、
HttpSession、ServletContext进行封装,构造了3个Map对象来替代这三种对象。但是其作用效果是不改变的。
为获取这三个对象,
1.可以通过com.opensymphony.xwork2.ActionContext类来获取。
ActionContext context = ActionContext.getContext(); Map request=(Map) context.get("request"); Map session = context.getSession(); Map application=context.getApplication();
对这三个对象进行存取的时候和操作Map对象是一样的就不需要像以前那样setAttribute()了,方便了好多。
2.我们还可以通过RequestAware、SessionAware和ApplicationAware来获取这三个Map对象。
public class UserAction implements RequestAware,SessionAware,ApplicationAware{ private Map request; private Map session; private Map application; public void setApplication(Map<String, Object> arg0) { this.application=arg0; } public void setSession(Map<String, Object> arg0) { this.session=arg0; } public void setRequest(Map<String, Object> arg0) { this.request=arg0; } }
3.当然我们也可以在Action中直接访问Web容器提供的request、session等对象,但不建议这么使用。
HttpServletRequest request=ServletActionContext.getRequest(); HttpSession session=request.getSession(); ServletContext context=ServletActionContext.getServletContext();
相关推荐
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。在构建SSH框架时,每个框架都扮演着不同的角色,以提供一个高效、可扩展的后端架构。现在我们来详细了解一下搭建SSH...
通过《Struts Web设计与开发大全》这本书,读者不仅可以掌握Struts的基本使用,还能了解到如何将Struts框架与其他技术融合,构建出高效、稳定的企业级Web应用。无论是初学者还是有经验的开发者,都能从中获得宝贵的...
在Java Web开发中,Spring、Struts和Hibernate是三个非常重要的轻量级框架,它们共同构建了一个强大的MVC(Model-View-Controller)架构。这个架构使得开发者能够更有效地管理和组织代码,提高开发效率和软件的可...
### J2EE电子商务系统开发从入门到精通——基于Struts和Hibernate技术实现 #### J2EE概论 **1.1 简单双层架构到复杂多层架构** - **1.1.1 双层(C/S)软件架构设计** - 双层架构(客户端/服务器架构,Client/...
总结,Struts2作为Java web开发的主流框架之一,其核心技术包括Action、Interceptor、Value Stack、OGNL等,通过这些组件和机制,开发者能够高效地构建MVC应用,实现业务逻辑与表现层的分离,同时具备良好的扩展性...
Struts 2构建在XWork之上,增强了MVC架构。 3. **ognl.jar**:Object-Graph Navigation Language(OGNL)是Struts 2中的表达式语言,用于在视图层和模型层之间传递数据。OGNL支持属性访问、方法调用、动态对象创建...
Jakarta Struts 1.1 是一个历史悠久的Java Web应用程序框架,由Apache软件基金会的Jakarta项目开发。这个框架在2000年代初期非常流行,它为构建MVC(模型-视图-控制器)架构的Web应用提供了一个强大而灵活的基础。在...
在开发Web应用的过程中,Felix和Struts2是两种重要的技术。Felix是Apache软件基金会提供的一个开源实现,它是基于OSGi(Open Service Gateway Initiative)规范的Java框架,主要用于管理和运行模块化的Java应用程序...
Struts1和Struts2是两个著名的MVC框架,它们都是Apache软件基金会的Apache Struts项目的一部分,用于构建基于Java的Web应用程序。然而,两者在设计和实现上有显著的差异。 1. **架构模式的区别** - **Struts1.x** ...
- **Value Stack**:值栈是Struts2中用于存储模型对象的容器,使得Action可以直接访问请求参数,简化了数据绑定过程。 - **Result**:Action执行后,将返回一个Result,决定如何展示结果,可以是重定向、转发到JSP...
本文档是关于基于Java技术的软件开发架构的总结,将详细介绍Java技术在软件开发架构中的应用与实践。 Java技术作为目前最主流的编程语言之一,在软件开发领域拥有广泛的应用。Java拥有强大的跨平台特性、丰富的类库...
Struts2是一个非常著名的Java Web框架,由Apache软件基金会维护,它主要负责处理MVC(Model-View-Controller)架构中的Controller部分。Struts2以其灵活性、可扩展性和丰富的插件支持而广受开发者欢迎。在Java Web...
- **Struts1**:基于ActionForm对象,使用Command Pattern设计模式。 - **Struts2**:采用拦截器栈,支持更多设计模式(如Chain Pattern)。 2. **配置方式**: - **Struts1**:主要使用XML文件进行配置。 - **...
SSH(Spring、Struts2、Hibernate)是Java开发中常用的一种技术栈,它结合了Spring的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)、Struts2作为MVC(Model-View-...
Struts 2是Apache软件基金会旗下的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种强大的架构支持,使得开发者可以更加专注于业务逻辑,而...
Struts是一个非常经典的Java Web开发框架,由Apache软件基金会维护,它主要负责处理MVC(Model-View-Controller)架构中的Controller部分。Struts 1.2.9是该框架的一个较早版本,但仍然在许多遗留系统中使用。这个...
这四个技术是Java Web开发中的核心组件,它们各自承担着不同的职责,共同构建了一个强大而灵活的后端架构。 **Struts**: Struts 是一款开源的MVC(模型-视图-控制器)框架,它提供了组织和管理Web应用结构的方法。...