非IOC方式获取web对象

JAVA学习网 2017-08-09 06:00:45
package com.hd.action;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;

/**
 * 获取web对象
 *     1.通过非IOC方式获取
 *         1)直接方式获取web对象
 *         2)间接方式获取web对象
 * @author think
 *
 */
public class UserAction {

    public String add(){
        /*
         * 1).直接方式获取
         *     通过类ServletActionContext调用提供的方法获取
         */
        //获取request对象
        HttpServletRequest req = ServletActionContext.getRequest();
        //获取session对象
        HttpSession session = req.getSession();
        //获取response
        HttpServletResponse res = ServletActionContext.getResponse();
        //获取applicationContext
        ServletContext appc = ServletActionContext.getServletContext();
        
        //获取jsp页面传过来的参数
        String username = req.getParameter("username");
        String pwd = req.getParameter("pwd");
        
        System.out.println("账号:" + username);
        System.out.println("密码:" + pwd);
        
        //往jsp页面传值
        req.setAttribute("msg", "来自req中的数据");
        session.setAttribute("msg", "来自session中的数据");
        appc.setAttribute("msg", "来自applicationContext中的数据");
        
        return "success";
    }
    
    
    public String update(){
        /*
         * 2)间接方式获取
         *         一般用来存储数据
         */
        //获取request对象
        ActionContext req = ActionContext.getContext();
        //获取session对象
        Map<String, Object> session = req.getSession();
        //获取applicationContext
        Map<String, Object> appc = req.getApplication();
        
        req.put("msg", "间接方式获取req");
        session.put("msg", "间接方式获取session");
        appc.put("msg", "间接方式获取ApplicationContext");
        
        return "success";
    }
    
}

 

阅读(781) 评论(0)