zoukankan      html  css  js  c++  java
  • struts2笔记06-ServletXxxAware接口

    1、ServletXxxAware接口

         ActionContext和XxxAware接口对应,属于解耦的设计,但功能单一,我们能够获取到的只是struts2给我们返回的map。ServletActionContext和ServletXxxAware接口对应,属于耦合的设计,但功能强大,能够直接获取servlet相关的对象。

         ServletXxxAware同样是struts2依赖注入给Action类的设计,使用起来比ServletActionContext方便,比如多个action的方法,就不需要每次都从context获取了。

        ServletContextAware,ServletRequestAware, ServletResponseAware

    2、测试代码

    package com.test.action;
    
    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts2.interceptor.ServletRequestAware;
    import org.apache.struts2.interceptor.ServletResponseAware;
    import org.apache.struts2.util.ServletContextAware;
    
    public class TestServletAwareAction implements ServletContextAware,
    		ServletRequestAware, ServletResponseAware {
    
    	public String execute() {
    		context.setAttribute("applicationKey", "applicationValue");
    		HttpSession session = request.getSession();
    		session.setAttribute("sessionKey", "sessionValue");
    		request.setAttribute("requestKey", "requestValue");
    
    		return "success";
    	}
    
    	// 注入的HttpServletResponse
    	private HttpServletResponse response;
    
    	@Override
    	public void setServletResponse(HttpServletResponse response) {
    		this.response = response;
    	}
    
    	// 注入的HttpServletRequest
    	private HttpServletRequest request;
    
    	@Override
    	public void setServletRequest(HttpServletRequest request) {
    		this.request = request;
    	}
    
    	// 注入的ServletContext
    	private ServletContext context;
    
    	@Override
    	public void setServletContext(ServletContext context) {
    		this.context = context;
    	}
    
    }
    

      

  • 相关阅读:
    [算法] 带权图
    哥德巴赫猜想 ——— 极限算法(你要是能写出比我用时还短的代码算我输)
    详解 位运算
    内存对齐模式 —— 原理讲解
    C语言 文件操作
    指针与数组
    队列的实现
    堆栈的实现
    线性表 详讲及使用
    树莓派
  • 原文地址:https://www.cnblogs.com/sdnu/p/5352530.html
Copyright © 2011-2022 走看看