Action和ServletAPI交互

本文探讨了在Struts2框架中如何访问ServletAPI,包括使用ActionContext、实现特定接口和利用ServletActionContext静态类的方法。重点介绍了通过ActionContext访问request、response等对象的解耦方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Struts2 ————————>>>Action访问ServletAPI

  很重要的一点,SSH的项目里Struts2是核心;有JSP的地方,Servlet是核心!
  所以初学者使用SSH + jsp进行网页开发,怎么使用Action访问Servlet API就是问题的核心!

为了方便理解,我们就把Servlet想象成一个 jsp 对象!
JSP的内置对象有哪些?
request、response、session、application、out、pageContext、config、page、exception

1-通过ActionContext类访问(最解耦的方式)

ActionContext是Action执行的上下文对象,它里面包含了Action执行的所有对象。
在Action类里面这样写:
public class TestAction extends ActionSupport{
public String execute() throws Exception{
ActionContext context =ActionContext.getContext();
context.put(“key” , “value”);
context.getSession().put(“key” , “value”);
context.getApplication().put(“key” ,“value”);
return SUCCESS;
}
}

2-通过特定接口

比如下面是我的Action类
实现了指定的接口 ,会重载具体方法,获得具体实例;
例1:
public class TestAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,SessionAware{
HttpServletRequest request;
HttpServletResponse response;,
Map<Sring,Object> session = new HashMap<String,Object>();
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
public void setServletResponse(HttpServletResponse response){
this.response = response;
}
public void setSession(Map<Strng,Object> session){
this.session = session;
}
}

3-通过ServletActionContext静态类

public class TestAction extends ActionSupport{
public String execute() throws Exception{
ServletActionContext.getRequest().SetAttribute(“key” , “value”);
return SUCCESS;
}
}
我所知道的就这三种,为了代码统一,避免选择。直接使用ActionContext最好!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值