Struts2访问request,session,application的四种方式
方式 访问 session request application 四种 struts2
2023-09-11 14:16:58 时间
方式1--》访问Map类型的:
方式2--》访问map类型的:
方式3--》访问HttpServletRequest
方式4--》通过接口访问HttpServletRequest
package cn.pdsu.edu;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* 通过ActionContext获得Map类型的request,session,application
*/
public class ActionDemo1 extends ActionSupport {
private Map<String,Object> request;
private Map<String,Object> session;
private Map<String,Object> application;
public ActionDemo1() {
this.request = (Map)ActionContext.getContext().get("request");
this.session = ActionContext.getContext().getSession();
this.application = ActionContext.getContext().getApplication();
}
@Override
public String execute() throws Exception {
request.put("message", "message");
session.put("message", "message");
application.put("message", "message");
return SUCCESS;
}
}
方式2--》访问map类型的:
package cn.pdsu.edu;
import java.util.Map;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* 通过xxxAware接口来获得Map类型的request,session,application
*/
public class ActionDemo2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{
private Map<String,Object> request;
private Map<String,Object> session;
private Map<String,Object> application;
@Override
public String execute() throws Exception {
request.put("message", "message");
session.put("message", "message");
application.put("message", "message");
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;
}
}
方式3--》访问HttpServletRequest
package cn.pdsu.edu;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ActionDemo3 extends ActionSupport {
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public ActionDemo3() {
request = ServletActionContext.getRequest();
session = request.getSession();
application = session.getServletContext();
}
@Override
public String execute() throws Exception {
request.setAttribute("message", "message");
session.setAttribute("message", "message");
application.setAttribute("message", "message");
return SUCCESS;
}
}
方式4--》通过接口访问HttpServletRequest
package cn.pdsu.edu;
import java.util.Map;
import javax.management.j2ee.statistics.ServletStats;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ActionDemo4 extends ActionSupport implements ServletRequestAware{
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
@Override
public String execute() throws Exception {
request.setAttribute("message", "message");
session.setAttribute("message", "message");
application.setAttribute("message", "message");
return SUCCESS;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
this.session = request.getSession();
this.application = session.getServletContext();
}
}
相关文章
- Kubernetes 系列(八):Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress
- linux - mysql - 卸载:RPM包安装方式的MySQL卸载
- [uart]设置linux 串口的block方式
- java: jdk1.8以后就不支持桥接的方式
- 【django】Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
- Spring AOP编程-aspectJ代理方式选择
- 日志服务接入方式之loghub log4j appender
- SAP Commerce Cloud 里的 Site API 调用方式讲解
- 如何通过url访问的方式获取HANA report的元数据metadata
- 主键生成策略的四种方式
- 【python】程序员最浪漫的表白方式,将情书写在她的照片里
- 【Android进阶篇】Fragment的两种载入方式
- IKEv2的密钥计算方式
- 009-多线程-锁-JUC锁-Semaphore 信号量【控制一定数量的许可(permit)的方式,来达到限制通用资源访问的目的】
- 007-elasticsearch5.4.3【一】概述、Elasticsearch 访问方式、Elasticsearch 面向文档、常用概念
- phtread条件变量pthread_cond_t初始化方式
- 内网渗透(二十二)之Windows协议认证和密码抓取-Silver Ticket白银票据制作原理及利用方式
- 加速国内 Github 访问,下载,的9种方案!——第一种直接替换域名的方式即可受到不错效果
- Gradle 任务访问文件的几种方式
- xshell + xftp + MobaXterm 通过代理的方式访问外网不可见服务器
- Kubernetes_认证授权_静态Pod网关apiserver底层都是restful接口(UserAccount三种访问方式和打开外网)
- 基于域名的方式访问Istio服务网格中的多个应用程序
- 01-rsync备份方式