日志文章

2007年04月09日 07:56:14

什么是Struts及Struts中Action类的工作机制

* 什么是Struts
Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller)
,包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。
Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所
需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)
的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext
更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了
Java Web应用的框架或与其他流行的Web框架进行集成。
就是说可将两者一起使用,达到将两者自身的特点进行互补。
* Struts中Action类的工作机制
所有的Action类都是org.apache.struts.action.Action的子类。Action子类应该覆写父类的execute()方法。当ActionForm Bean被创建,并且表单验证顺利通过后,Struts框架就会调用Action类的execute()方法。execute()方法的定义如下:

public ActionForward execute(ActionMapping mapping
                ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response) throws IOException, ServletException;

execute()方法包含一下参数:
· ActionMapping:包含了这个Action的配置信息,和struts-config.xml文件中的
  <action>元素对应。
· ActionForm:包含了用户的表单数据,当Struts框架调用execute()方法时,
  ActionForm中的数据已经通过了表单验证。
· HttpServletRequest:当前的HTTP请求对象。
· HttpServletResponse:当前的HTTP响应对象。
Action类的execute()方法返回ActionForward对象,它包含了请求转发路径信息。

Tags: struts  

类别: 无分类 |  评论(0) |  浏览(2586) |  收藏
发表评论
看不清楚,换一张