struts2的servlet的API的三种方式
2017-06-29 11:12
375 查看
Servlet的API的访问.
Servlet的API的访问:(三种方式)
1.完全解耦合的方式:(ActionContext)
2.使用接口注入的方式:
3.使用类中静态方法的方式:(耦合)
比较三种方式:
最好:第一种完全解耦合方式.
最熟练:第三种方式.
Servlet的API的访问:(三种方式)
1.完全解耦合的方式:(ActionContext)
ActionContext的方法: * Map<String,Object> getParameters(); ---接收参数. * put(String key,Object value); ---向request域中存数据. * Map<String,Object> getSession(); ---获得session的Map. * Map<String,Object> getApplication(); ---获得application的Map.
// 1.接收表单的数据: ActionContext actionContext = ActionContext.getContext(); Map<String,Object> map = actionContext.getParameters(); String[] names = (String[]) map.get("name"); System.out.println(names[0]); String[] sexs = (String[]) map.get("sex"); System.out.println(sexs[0]); // 2.向域中存数据: // 2.1向request域中存值: actionContext.put("reqName", "美美"); // 2.2向session域中存值: actionContext.getSession().put("sessName", "标哥"); // 2.3向application域中存值: actionContext.getApplication().put("appName", "大标哥");
2.使用接口注入的方式:
实现接口的方式: * ServletRequestAware: * ServletContextAware: * ServletResponseAware:
public class RequestAction2 extends ActionSupport implements ServletRequestAware,ServletContextAware{ private HttpServletRequest request; private ServletContext context; @Override public String execute() throws Exception { // 接收参数: String name = request.getParameter("name"); String sex = request.getParameter("sex"); System.out.println(name); System.out.println(sex); // 向域中保存数据: request.setAttribute("reqName", "凤姐"); request.getSession().setAttribute("sessName", "杜宏"); context.setAttribute("appName", "芙蓉"); return SUCCESS; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } @Override public void setServletContext(ServletContext context) { this.context = context; } }
3.使用类中静态方法的方式:(耦合)
ServletActionContext: * getRequest(); * getServletContext(); * getResponse();
@Override public String execute() throws Exception { // 接收参数: HttpServletRequest req = ServletActionContext.getRequest(); String name = req.getParameter("name"); String sex = req.getParameter("sex"); System.out.println(name); System.out.println(sex); // 向域中保存数据: req.setAttribute("reqName", "天一"); req.getSession().setAttribute("sessName", "冠希"); ServletActionContext.getServletContext().setAttribute("appName", "冰冰"); return super.execute(); }
比较三种方式:
最好:第一种完全解耦合方式.
最熟练:第三种方式.
相关文章推荐
- 【深入Struts2】获取ServletAPI的三种方式
- Struts2中 Action获得servletAPI的三种方式
- Struts2 访问 Servlet API 的四种方式
- 在Struts2框架中获取Servlet api的三种方式
- Servlet的API的访问:(三种方式)
- Action获得servletAPI的三种方式
- struts2 中属性驱动(其实就是struts2 action 中处理 request 的参数【old 方式servlet api 封装数据到javabean中(or beanutils)】),这里属性驱动是新方式
- Struts2_008_Servlet API耦合的访问方式值之ServletActionContext
- Struts2访问Servlet的三种方式
- Struts2 访问 Servlet API 的三种方法
- Struts2访问Servlet的三种方式
- Struts2--获取ServletAPI的方式
- Struts2中,三种获取ServletAPI的方法
- Struts2中访问Servlet中的API(ActionContext,ServletActionContext)两种方式
- struts2第十讲学习笔记,获取Servlet.api的两种方式
- struts2 三种方法与Servlet API 的交互详解
- Struts2 访问 Servlet API 的三种方法
- Struts2_009_Servlet API耦合的访问方式值之ServletXxxAware
- ServletConfig----ServletContext----ServletResponse----获取资源路径的三种方式
- Struts2 Action与ServletAPI的解耦、耦合