`

struts2---以解耦合方式访问servletAPI

阅读更多
第一种:以ActionContext类访问ServletAPI
示例代码: [color=red](注:request,sesssion,application用MaP集合存)
[/color]
public class UserAction extends ActionSupport {
	private String username;
	private String password;
	private Map<String ,Object> request;
	private Map<String ,Object> session;
	private Map<String ,Object> application;
	public String login(){
		//获取对象
		ActionContext ac=ActionContext.getContext();
		[color=red][size=large]request=(Map<String, Object>) ac.get("request");[/size][/color]//request对象必须用参数“request”获取
		session=ac.getSession();
		application=ac.getApplication();
		//保存数据
		request.put("loginCity", 北京");
		session.put("username", username);
		application.put("online", "在线人数:XXX");
		
		return SUCCESS;
	}
	//setter/getter方法省略
	
}

页面:用<s:property value="#request.loginCity"/> 抬头导入struts标签库
二。使用Ioc方式
使用哪个对象,则实现哪个接口,实现接口后实现接口的方法,把参数的值赋给成员变量
示例:action代码:
public class UserAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{
	private String username;
	private String password;
	private Map<String ,Object> request;
	private Map<String ,Object> session;
	private Map<String ,Object> application;
	public String login(){
		//保存数据
		request.put("loginCity", 北京");
		session.put("username", username);
		application.put("online", "在线人数:XXX");
		
		return SUCCESS;
	}
	
	public void setRequest(Map<String, Object> request) {
		this.request=request;
		
	}
	public void setSession(Map<String, Object> session) {
		this.session=session;
		
	}
	public void setApplication(Map<String, Object> application) {
		this.application=application;
		
	}
	//setter/getter方法
	
}

页面如第一方法所示
0
2
分享到:
评论

相关推荐

    Struts2中直接和间接访问ServletAPI以及动态方法调用之感叹号

    在Struts2框架中,直接和间接访问Servlet API以及动态方法调用是两个关键概念,它们对理解和优化应用性能至关重要。 首先,让我们深入理解直接访问Servlet API。在传统的MVC模式中,Servlet扮演着控制器的角色,...

    struts2-lib.rar

    4. **servlet-api**:Servlet API库,因为Struts2是基于Servlet的,所以需要这个库。 5. **commons-logging** 或 **log4j**:日志处理库,Struts2使用这些库进行日志记录。 6. **struts2-plugins**:可能包含各种...

    struts2的API耦合与动态方法调用

    这样,无需在Action类中直接引用ServletAPI,降低了耦合度,提高了代码的可测试性。 接下来,我们探讨Struts2的动态方法调用(Dynamic Method Invoked,DMI): 动态方法调用是Struts2的一种强大功能,它允许根据...

    Struts2 - 学习笔记

    1. **无侵入式设计**:与Struts1不同,Struts2没有紧密地耦合到Servlet API和Struts API。这意味着开发者可以不依赖这些API来构建应用,提供了更好的灵活性和可维护性。 2. **拦截器机制**:Struts2引入了拦截器,...

    struts2-spring2.5-hibernate3.3.rar

    开发者可以通过这些文件了解如何将Struts2、Spring和Hibernate有效地整合在一起,实现松耦合和模块化的Web应用开发。 例如,`struts2-spring2.5-hibernate3.3` 文件夹内可能包含以下子目录: 1. `src/main/java` - ...

    详解Struts2中Action访问Servlet API的几种方法

    Struts2的Action并未直接与任何Servlet API耦合,这是Struts2的一个改良之处,因为Action类不再与Servlet API耦合,能更轻松的测试该Action。但如何访问?  Web应用中通常需要访问的Servlet API就是...

    Struts---中文手册

    这种方式可以降低组件间的耦合度,增强系统的可测试性。 六、Struts 2的改进 尽管Struts 1在Java Web开发中占据了重要地位,但Struts 2引入了更多的设计模式和功能,如拦截器、OGNL表达式语言、更多类型的Result...

    Struts2 -sun公司培训合作商(Gjun巨匠IT培训)

    Struts2的诞生是因为Struts1存在一些不足,比如它只支持单一的表现层技术,与Servlet API高度耦合,导致测试困难,以及代码过于依赖Struts1 API。为了解决这些问题,Struts2借鉴了WebWork的设计思想,WebWork是一个...

    strut2 servletapi

    这个压缩包“strut2 servletapi”显然包含了使用Struts2框架访问Servlet API的示例代码。Servlet API是Java Servlet规范的一部分,提供了一系列接口和类,允许开发者处理HTTP请求、响应以及与Web服务器交互。 在...

    struts2综合笔记

    而 Struts2 与 Servlet API 的耦合度较低,提供了更多的灵活性。 - **发展历程**: Struts2 是在 WebWork 框架的基础上发展起来的,因此学习 Struts2 实际上也是学习 WebWork。 #### 二、Struts2 的核心组件分析 **...

    Spring、Hibernate、Struts2组合开发中常用的jar包理解(1)

    在Java Web开发中,Spring、Hibernate、Struts2这三大框架的组合被广泛使用,它们分别负责控制层、持久层和表现层的处理。本文将深入解析这些框架在整合开发中常用的jar包及其作用,帮助开发者更好地理解和应用。 ...

    struts-1.3.9-lib.zip

    2. **Struts配置**: - **struts-config.xml**:框架的核心配置文件,定义了ActionServlet的参数、ActionMapping、ActionForm以及数据源等信息。 - **web.xml**:Web应用的部署描述符,配置ActionServlet和其他...

    spring与struts2集成所需要的jar包

    Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,而Struts2则是一款优秀的MVC框架,提供了良好的动作控制和视图展示。将两者集成可以构建出功能强大且灵活的Web应用程序。下面我们将详细探讨集成Spring和...

    struts2访问request,session,application作用域

    这种方式同样可以让 Action 类访问到 Request 和 Response 对象,但仍然存在与 Servlet API 的耦合问题。 #### 五、总结 综上所述,在 Struts2 中访问 Request、Session 和 Application 作用域有多种方式。为了...

    Struts2和Struts1的什么区别

    - Action类紧密耦合于Servlet API,这限制了其可测试性和灵活性。 #### Struts2: - Struts2中的Action类更加灵活,可以是任意的Java对象(即POJO),只需实现`execute`方法即可。 - Struts2提供了`ActionSupport`...

    struts-spring-hibernate-_-integration

    首先,Struts 是基于Servlet API的MVC框架,它规范了控制器的实现,使得业务逻辑和视图层分离,便于维护。Struts 通过Action类处理请求,ActionForm对象封装表单数据,JSP作为视图展示结果。然而,Struts在依赖管理...

    Struts-入门.pdf

    - Struts1的Servlet API耦合度高,使得测试变得困难,同时其代码对Struts1 API的依赖性强,侵入性较高。 - Struts2则是在Struts1基础上融合WebWork,引入了WebWork的先进设计理念,统一了两个框架,降低了侵入性。...

    Struts2和Struts1的区别,详细点,主要说说Struts2

    - **Struts2**的Action类并不直接依赖Servlet API,而是通过中间层(如拦截器)间接与Servlet API交互,这样的设计使得**Struts2**的Action更加独立,也更容易进行单元测试。 #### 请求处理流程 - **Struts1**执行...

    struts2完整版

    首先,Struts2采用了无侵入式设计,这意味着应用的业务逻辑与Servlet API和Struts2自身的API之间解耦合。例如,在Struts1中,Action类通常需要继承自`Action`类并重写`execute`方法,而在Struts2中,开发者可以定义...

Global site tag (gtag.js) - Google Analytics