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