注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

 
 
 

日志

 
 

实现Action  

2011-08-27 23:54:18|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
3.1.3  实现Action
Action就是用于处理用户请求的业务控制器,当用户请求发送到ActionServlet后,ActionServlet拦截到用户请求,将请求转发到系统的业务控制器处理。ActionServlet在转发用户请求时,会将请求参数封装成ActionForm实例,并将该 ActionForm实例转发给Action实例。
Action实例从ActionForm中取出用户请求参数,然后调用业务逻辑组件处理用户请求,并根据处理结果,调用不同的视图页面来呈现处理结果。
下面是系统的Action处理类代码。
public class LoginAction extends Action 
{
//必须重写该execute方法,该方法用于处理用户请求
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws
Exception
{
//获取封装用户请求参数的ActionForm实例
LoginForm loginForm = (LoginForm)form;
//从ActionForm中取出用户请求参数
String username = loginForm.getUsername();
String pass = loginForm.getPass();
//处理用户请求
if (username != null && username.equals("scott"))
{
return mapping.findForward("welcome");
}
else
{
return mapping.findForward("error");
}
}
}
上面的Action代码非常简单,甚至没有调用任何业务逻辑组件,只是直接判断用户请求参数的用户名和密码是否为scott和tiger,如果用户名和密码正确,则返回welcome的ActionForward,否则返回error的ActionForward。
注意  ActionForward就是一个逻辑视图,通过在配置文件中定义ActionFoward的映射,完成逻辑视图名和实际视图资源之间的映射。
Struts 1的Action类与Struts 2的Action类有一定的类似性,都通过调用execute方法来处理用户请求。但最大的区别在于Struts 1 Action的execute方法与Servlet API耦合,但Struts 2 Action类的execute方法无需与Servlet API耦合。
  评论这张
 
阅读(112)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017