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";
}
}