Struts2中Action需要用Servlet API的方法

来源:互联网 发布:access数据库的扩展名 编辑:程序博客网 时间:2024/06/16 17:56

有两种:

解耦的方式

所谓解耦就是我们不再直接使用Servlet的相应API来访问,而是采用封装后的API来进行访问,从而解除了与Servlet的耦合性。

偶合的方式

有了上面的解释这个就好理解了,直接使用Servlet相应的API进行访问



No.1解耦方式

public String execute(){if(username.equals("ok")&&password.equals("ok")){ActionContext context = ActionContext.getContext();Map session = context.getSession();session.put("username",getUsername());Map request = (Map)context.get("request");request.put("welcom", "欢迎登录到系统");//获取application的方法Map application = context.getApplication();application.put("app","我是application"); System.out.println("..................................");return "SUCCESS";}else{System.out.println("==================================");return "ERROR";}}
No.2耦合的方式
public String execute(){if(username.equals("ok")&&password.equals("ok")){HttpServletRequest request = ServletActionContext.getRequest();HttpSession session = request.getSession();ServletContext application = ServletActionContext.getServletContext();session.setAttribute("username",getUsername());request.setAttribute("welcom", "耦合的欢迎信息!再次欢迎!");Integer count = (Integer)application.getAttribute("count");if (count == null) {count = 1;} else {count++;}application.setAttribute("count", count); System.out.println("..................................");return "SUCCESS";}else{System.out.println("==================================");return "ERROR";}}


1 0