Struts 上下文

Struts  上下文 ActionContext 、ServletActionContext 是继承关系

 ActionContext 

ActionContext context = ActionContext.getContext(); 

Map params = context.getParameters(); 

String username = (String) params.get("username");

ServletActionContext

可以通过ServletActionContext得到:

1)javax.servlet.http.HttpServletRequest : HTTPservlet请求对象

(2)javax.servlet.http.HttpServletResponse : HTTPservlet相应对象

(3)javax.servlet.ServletContext : Servlet上下文信息

(4)javax.servlet.ServletConfig : Servlet配置对象

(5)javax.servlet.jsp.PageContext : Http页面上下文

非IOC 方式

private HttpServletRequest req;

// private HttpServletRequest req = ServletActionContext.getRequest(); 这条语句放在这个位置是错误的,同样把这条语句放在构造方法中也是错误的。

    public String login() { 
        req = ServletActionContext.getRequest(); //req的获得必须在具体的方法中实现 
        user = new User(); 
        user.setUid(uid); 
        user.setPassword(password); 
        if (userDAO.isLogin(user)) { 
            req.getSession().setAttribute("user", user); 
            return SUCCESS; 
        } 
        return LOGIN; 

}

IOC 方式

public class UserAction extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {

    private HttpServletRequest request; 
    private HttpServletResponse response;     public void setServletRequest(HttpServletRequest request) { 
        this.request = request; 
    }     public void setServletResponse(HttpServletResponse response) { 
        this.response = response; 
    }     public String execute() { 
        HttpSession session = request.getSession(); 
        return SUCCESS; 
    } 

}

上一篇:javascript设计模式实践之职责链--具有百叶窗切换图片效果的JQuery插件(三)


下一篇:PHP递归创建多级目录(一道面试题的解题过程)