struts2 servlet之间通信

Servlet之间通信的方式有两大类,每个类有三种不同的方法

1.request

2.session

3.application

不实现ServletContextAware,SessionAware,ServletRequestAware这三个接口的通信

		HttpServletRequest request = ServletActionContext.getRequest();
		request.setAttribute("request_username", "username");
		HttpServletResponse response = ServletActionContext.getResponse();

		//这个是Servlet的session
//		HttpSession session = request.getSession();
//		session.setAttribute("session_username", "username");
		ServletContext servletContext = ServletActionContext.getServletContext();
		servletContext.setAttribute("application_username", "username");

  

实现ServletContextAware,SessionAware,ServletRequestAware这三个接口的通信

public class Servlet2Action extends ActionSupport implements
		ServletContextAware,SessionAware,ServletRequestAware {

	private HttpServletRequest request;
	private ServletContext servletContext;
	private Map<String,Object> sessionMap;

	/**
	 * {}struts2包装以后的session,本质上是一个map
		[email protected] servlet中的application
		[email protected]  struts2包装后的request
	 */
	public void setSession(Map<String, Object> arg0) {
		this.sessionMap=arg0;
		sessionMap.
	}
	public void setServletContext(ServletContext arg0) {
		this.servletContext=arg0;
	}

	public void setServletRequest(HttpServletRequest arg0) {
		this.request=arg0;
	}
	public String testServelet()
	{
		System.out.println(sessionMap.toString());
		System.out.println(servletContext.toString());
		System.out.println(request.toString());
		return "servelet";
	}

}

  

在目标页面取出

   	request:${requestScope.request_username }<br>
   	session:${sessionScope.session_username }<br>
   	application:${applicationScope.application_username }<br>

  

时间: 2024-08-08 13:50:47

struts2 servlet之间通信的相关文章

javaEE jsp与servlet之间通信

0.下载安装Opencv,当前版本为249. 1.下载Python,当前OPencv版本为249,不过其支持的最新版本的Python为2.7,所以可以下载276版本. 2.下载numpy,开始我使用了1.6,没有通过,错误如图.下载了最新的1.8.1版本. 3.将Opencv安装目录下opencv\build\python\2.7\x86中的cv2.pyd复制到python安装目录Lib\site-packages下. 4.找到opencv源文件内的draw.py运行. javaEE jsp与s

STM32W108无线射频模块多节点之间通信实例

STM32W108无线射频模块多节点之间通信实例 基于STM32W108的SimpleMac协议栈编写程序,实现多个无线节点之间的通信.节点分为SUN节点和PLANET节点,SUN节点使用STM32W108无线开发板,PLANET节点使用STM32W108无线数据采集节点,SUN节点可与PC机进行通信. 编程与实现 程序的设计基于SimpleMac协议栈进行,以下给出部分主要相关代码.该实例中的部分代码与第11章中的两节点通信实例代码相同,本章不再重复说明. 文件solar-system.c部分

进程与进程之间通信Manager

1 #!/usr/bin/env python 2 from multiprocessing import Process,Manager 3 4 #Manager进程与进程之间通信 5 def Foo(i,dic): 6 dic[i] = 100+i 7 print(dic.values()) 8 if __name__ == '__main__': 9 manage = Manager() 10 dic = manage.dict() 11 for i in range(2): 12 p =

GS与MS之间通信

GS与MS之间通信 注意GS与MS是两个线程,现在是每个map一个线程,他们之间是内部协议进行通信的,那既然是两个线程那如何通信呢,看了net进程通信这个就比较简单了 举个例子 m_pMap->Gs2MsData(gs2ms_add_player, m_nChannelId, (void*)&rActorEx, sizeof(rActorEx));//发送玩家上线包 void Map::Gs2MsData(int cmd, int channel_id, void* data, int le

同一个主机上的JVM实例之间通信

hadoop yarn里用了RPC调用.NM里面文件本地化类ContainerLocalizer用RPC心跳方式跟本机的ResourceLocalizationService通信. 用shared memory还要调到native层去,不知道会不会比tcp/ip快? 可以用文件,考虑锁的问题.但是文件貌似不能两边一起写,否则会乱的.也许弄两个文件,每个都是单工?这样还要监视文件是否发生变化. 还可以用剪切板,干扰比较严重 可以socket,socket是双工的,读写时都不用加锁防止另一边占用so

jsp与servlet之间的参数传递【转】

JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP. 通过对象 request和 session (不考虑 application)完成传值. 一.JSP -> servlet JSP页面有3种方法向 servlet传值: form表单.URL .其他 <!-- JSP page --> ... <%...... session.setAttribute("testSession","

JSP Servlet之间交换数据

摘自:<轻量级Java EE企业应用实战>第三版 对于每次客户端请求而言,web服务器大致需要完成以下步骤: 1.启动单独线程 2.使用I/O流读取用户的请求参数 3.从请求数据中解析参数 4.处理用户请求 5.生成响应数据 6.使用I/O流向客户端发送请求数据 1.2.6是通用的,由web服务器完成,3.4.5存在差异,因为不同请求里包含的请求参数不一样,处理用户请求的方式也不同,所生成的响应也不同,这3步由Servlet的_jspService()方法完成.当编写JSP页面时,页面的静态内

SM32W108无线射频模块两节点之间通信实例

SM32W108无线射频模块两节点之间通信实例 本文基于802.15.4/ZigBee的SimpleMac协议栈编写程序,实现两个STM32W108无线节点之间的通信.节点分为SUN节点和PLANET节点,SUN节点使用STM32W108无线开发板,PLANET节点使用STM32W108无线节点,SUN节点可与PC机进行通信. 程序设计与实现 程序的设计基于SimpleMac协议栈进行,根据官方提供的MAC协议栈示例代码进行的裁剪更改,第10章已对协议栈代码进行了解析,在此就不详细说明,以下只给

EventBus作为组件之间通信

1.为何要使用EventBus? 一般我们在不同activty等组件之间通信的时候,都用到了如下的模式: 就是定义一个接口,需要关注该事件的地方来实现这个接口.然后事件触发的地方来注册/取消注册这些对该事件感兴趣的控件,比如如下文章描述的情况: 使用Event Bus模式解耦Android App组件间通信 这样做的问题也是显而易见的,就是不同组件之间往往耦合的比较厉害,越来越多的接口也维护很麻烦,这样就需要用到EventBus模式来解决组件之低耦合的间通信 2.EventBus类库介绍 Eve