ServletActionContext类

本文介绍在Struts框架中两种获取HttpServletRequest、HttpSession、ServletContext及HttpServletResponse对象的方法:一是利用ServletActionContext类直接获取;二是通过实现特定接口让Struts框架自动注入。

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

ServletActionContext类

常用方法

staticPageContext getPageContext():返回PageContext实例对象

staticHttpServletRequest getRequest():返回HttpServletRequest实例对象

staticHttpServletResponse getResponse():返回HttpServletResponse实例对象

staticServletContext getServletContext():返回ServletContext实例对象

获取HttpServletRequest/HttpSession/ServletContext/HttpServletResponse对象

方法1:通过ServletActionContext类直接获取
public String execute(){

        HttpServletRequest request=ServletActionContext.getRequest();

        ServletContext servletContext=ServletActionContext.getServletContext();

        HttpServletResponse response=ServletActionContext.getResponse();

        HttpSession session=request.getSession();

        return"success";

}


方法2:实现指定接口,由Struts框架运行时注入

•       只要实现以下三个接口,访问Action时Struts框架会自动完成注入。

l  ServletContextAware 

voidsetServletContext(javax.servlet.ServletContext context)

l  ServletRequestAware

voidsetServletRequest(javax.servlet.http.HttpServletRequest request)

l  ServletResponseAware

voidsetServletResponse(javax.servlet.http.HttpServletResponse response)

示例如下:

publicclass HelloWorld implements ServletContextAware, ServletRequestAware, ServletResponseAware {

    private ServletContext servletContext;

    private HttpServletRequest request;

    private HttpServletResponse response;

    private HttpSession session;

    @Override

    publicvoid setServletResponse(HttpServletResponse response) {

        this.response = response;

    }

    @Override

    publicvoid setServletRequest(HttpServletRequest request) {

        this.request = request;

        session = request.getSession();

    }

    @Override

    publicvoid setServletContext(ServletContext servletContext) {

        this.servletContext = servletContext;

    }

}
注:得到的ServletContext,我们可以使用ServletContext的方法了,关于更多的ServletContext知识,可以参考我的博客: ServletContextServletContext读取web应用中的资源文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值