您的位置:首页 > 编程语言 > Java开发

Struts2中Action需要用Servlet API的方法

2016-06-28 22:49 211 查看
有两种:

解耦的方式

所谓解耦就是我们不再直接使用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";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: