基于STRUTS 2框架产品信息Web发布系统的实现(1)
2015-01-01 01:41
导读:计算机应用论文论文,基于STRUTS 2框架产品信息Web发布系统的实现(1)在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例:
摘 要 在对STRUTS 2框架和MVC 2模型分析比较的基础上,研究了STR
摘 要 在对STRUTS 2框架和MVC 2模型分析比较的基础上,研究了STRUTS 2框架的实施方法,将STRUTS 2框架应用于实际开发,建立了产品信息发布系统模型,并分析了开发中的关键问题。 关键词 STRUTS 2;MVC 2;信息发布系统1 引言 随着互联网技术的飞速发展,JavaEE以其开放性、扩展性和各大厂商的支持,逐渐成为Web应用软件的开发标准。近几年来,STRUTS框架作为MVC模型的一个良好实现,使基于JavaEE的Web应用的开发能够获得更好的可扩展性、可重用性、易开发性和易维护性。STRUTS出现至今,其自身也在不断地成熟和完善,STRUTS 2(WebWork 2)的发布为JavaEE Web应用的开发者提供了更好的MVC实现和更加简单易用的实施方法。我们综合可扩展性、易使用性等各方面考虑,采用STRUTS 2框架,以及JSP、Servlet、JavaBean、JDBC等技术开发本产品信息Web发布系统,充分发挥了STRUTS 2框架的优势,使得系统层次清晰,保证了系统的稳定高效,并获得了较好的扩展性和易维护性。2 STRUTS 框架概述 STRUTS是Apache Jakarta项目组的一个Open-Source项目,是MVC模型的一个良好实现。MVC (Model-View- Controller)模型把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,使得应用程序设计过程更加清晰,提高了系统的灵活性和可扩展性。MVC应用于Web便发展出了MVC 2模型,在MVC 2模型中,View由JSP来担当,Controller由Servlet来担当,Model由JavaBean/EJB来担当。Servlet先接受客户端的请求,然后调用相应的Bean进行业务逻辑处理,根据处理结果再调用相应的JSP页面,JSP页面根据存储结果的Bean生成结果页面,返回给客户端。STRUTS框架包括一组相互协作的类(组件)、ActionSerlvet以及JSP Taglib标签库,实现了MVC 2模型中的Controller和View,而MVC 2模型中的Model必须由开发者自己来实现,STRUTS提供了抽象类Action,使开发者能够将Model应用于STRUTS框架。3 STRUTS 2体系结构 STRUTS 2是STRUTS 1的更新版本,对STRUTS 1进行了改进和升级,例如用Action接口取代了Action抽象类,为每一个请求创建一个Action对象,去掉了ActionForm类,用重新定义的struts.xml替代了struts-config.xml,数据校验方法更加灵活以及采用了分层的国际化方法等等。STRUTS 2更好地实现了MVC2模型。其体系结构图和处理流程如图1所示。

图1 STRUTS 2框架体系结构 在HttpServletRequest到达Servlet容器之前要经过一系列过滤器链,包括ActionContextCleanUp过滤器等;然后,FileterDispatcher被调用,FileterDispatcher参考ActionMapper来决定请求是否与相应Action相关联。 如果ActionMapper确定了请求对一个Action的调用,它就会将控制权委托给ActionProxy,ActionProxy创建对应的Action实例,然后ActionProxy参考由struts.xml配置的ConfigurationManager生成ActionInvocation。之后,Action和Interceptor的执行都由ActionInvocation来控制。在Action执行前可能会执行多个Interceptor。 当Action执行结束后,ActionInvocation根据struts.xml中的result配置查找相应的结果页面,并将Action的执行结果输出到结果页面中。这个页面一般是使用STRUTS提供的标签库编写的JSP页面。 接下来,ActionInvocation控制Interceptor以反序执行。 最后,HttpServletResponse根据Web.xml中的配置通过相应的过滤器,返回客户端。4 STRUTS 2框架的实施 1)Action类的实施 在STRUTS 1中,必须继承Action抽象类,才能将应用集成到STRUTS框架,而在STRUTS 2中的实施方法更加简单,只需要实现Action或ActionSupport接口,甚至可以使用有excute()方法的POJO。而且STRUTS 2取消了ActionForm类,直接在Action类中保存页面提交的输入信息和需要提交给页面的输出信息,对于数据的操作更加简便。在excute()方法中可以直接处理这些信息,并实现对数据库的查询、增加、删除和修改。 2)映射关系的配置 STRUTS 2使用重新定义的关键配置文件struts.xml来代替STRUTS 1中的struts-config.xml,通过struts.xml控制Action请求到Action类的映射,以及Action类到JSP页面的映射关系。在struts.xml文件中,主要使用三种标签定义这些映射关系: (1)使用