struts2中耦合servlet API
2016-07-17 11:41
393 查看
Struts2的Action并未直接与任何Servlet API偶合,这也是Struts2的一个改良的地方。但如何进行访问?
方法一:.[一般推荐使用](只能获得request,而response则得不到)
Struts2提供了一个ActionContext类,Struts2中的Action可以通过它进行访问。
其方法有:get(),getApplication(),getContext(),getParameters(),getSession(),setApplication(),setSession()
public class LoginAction implements Action
{
private String username;
private String password;
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String execute() throws Exception
{
//获取静态方法,获取系统的ActionContext实例
ActionContext ctx = ActionContext.getContext();
//获取servletContext里的counter属性
Integer counter = (Integer)ctx.getApplication().get("counter");
if (counter == null)
{
counter = 1;
}
else
{
counter = counter + 1;
}
//将增加1后的counter值设置成counter属性
ctx.getApplication().put("counter" , counter);
ctx.getSession().put("user" , getUsername());
if (getUsername().equals("scott")&& getPassword().equals("tiger") )
{
//直接设置HttpServletRequest属性
ctx.put("tip" , "服务器提示:您已经成功的登陆");
return SUCCESS;
}else{
方法一:.[一般推荐使用](只能获得request,而response则得不到)
Struts2提供了一个ActionContext类,Struts2中的Action可以通过它进行访问。
其方法有:get(),getApplication(),getContext(),getParameters(),getSession(),setApplication(),setSession()
public class LoginAction implements Action
{
private String username;
private String password;
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String execute() throws Exception
{
//获取静态方法,获取系统的ActionContext实例
ActionContext ctx = ActionContext.getContext();
//获取servletContext里的counter属性
Integer counter = (Integer)ctx.getApplication().get("counter");
if (counter == null)
{
counter = 1;
}
else
{
counter = counter + 1;
}
//将增加1后的counter值设置成counter属性
ctx.getApplication().put("counter" , counter);
ctx.getSession().put("user" , getUsername());
if (getUsername().equals("scott")&& getPassword().equals("tiger") )
{
//直接设置HttpServletRequest属性
ctx.put("tip" , "服务器提示:您已经成功的登陆");
return SUCCESS;
}else{
相关文章推荐
- JAVA之NIO按行读写大文件,完美解决中文乱码问题
- Java 多态的详解
- java 逻辑运算符
- java web笔记——JDBC
- eclipse 用maven创建javaWeb项目
- java synchronized详解
- java .net compartion
- eclipse和myeclipse设置默认编码格式
- [2]一切都是对象
- JavaEE中表现层、持久层、业务层的职责分析(转载)
- What are the main disadvantages of Java Server Faces 2.0?
- 结合反射,获取泛型对象的类成员变量的值
- javaweb
- java容器学习总结(一)
- Java的文件导入导出实现
- javaweb
- Eclipse ADB报错:Adb connection Error远程主机强迫关闭了一个现有的连接
- Java千百问_01基本概念(004)_Java都能做些什么
- float double 避开科学计数法表示的手段
- [置顶] 【Struts2学习】(1)Struts2工作原理