基于STRUTS框架的WEB网站系统设计与实现一、引言随着Internet技术的发展,基于MVC(Model-View-Controller)模型的Struts框架越来越受到web系统开发者的欢迎。Struts是建立在当前动态网站设计领域中JSP、Servlet、XML等相关开发技术基础之上的一种主流开发架构,具有组件模块化、灵活性和重用性的优点,同时极大地简化了Web应用程序的开发。它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性。二、Struts框架2.1Struts体系结构Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。和其他的java架构一样,Struts也是面向对象设计,将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。Struts有一组相互协作的类(组件)、Serlvet以及jsptaglib组成。基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。2.2主要组件介绍下面我们就从分别从视图、控制、模型和Struts的配置文件struts-config.xml来介绍struts的体系结构。视图:主要由JSP建立,Struts自身包含了一组可扩展的自定义标签库(Tag1ib),可以简化创建用户界面的过程。模型:模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomFormBean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。控制器:控制器主要由ActionServlet类和Action类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。配置文件struts-config.xml:当ActionServlet接收HTTP请求信息时,如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息。在Struts中.这些配置映射信息都存储在特定的XML文件Struts—config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。三、基于Struts框架手机应用网站系统实现手机应用网站的的开发,主要是针对网络线上众多手机软件的管理与分类,根据手机软件的特色和功能的不同,分文别类的管理,便于用户的查找和下载。用户也可以评论下载过的软件。由于智能手机的迅速发展,智能手机用户的数量也在逐年突破,对手机软件市场也带来了空前的机遇与挑战。由于安卓系统的开放性,使其拥有众多的开发者,为消费者带来了丰富的软件资源。因此,Android手机应用软件网站就顺势而生,就像有了手机,就会有屏保,保护套等一系列的服务产品一样,手机应用网站就是服务于手机软件,作为一个规范化的平台,提供方便快捷优质的服务,提高广大用户的操作体验!由于智能手机的快速发展,用户对系统软件的要求也逐步提高,记得从08年左右,智能手机开始出现,伴随着的是科技的革新,当时只是硬件方面的改革,手机配置摄像头,实现手机拍照的功能,后来随着时代的发展,也就短短五六年的时间,市场的发展趋势就转向了软件市场,就目前的电子市场来看,大家对电子产品的硬件配置远没有前几年关注度高。现在各种通讯交流的平台运营而生,其实是顺应广大用户的使用需求而已,从原来的邮寄信件,到后来的电子邮件,到手机的诞生,简短的简讯就可以达到人们的需求,到如今,微信、微博、QQ、陌陌等交友平台层出不穷,受到了广大用户的青睐和追捧。最近几年更是明显,原来都是发祝福短信,现在都是微信拜年,微博拜年,还能和大家一起互动,视频。就现阶段来看,用户对手机软件的要求也是逐步提升,这就导致了应用开发市场的兴起,广大的应用爱好开发者在网络上推出自己的应用作品,导致用户在琳琅满目的应用中,挑选自己所需要的应用的难度加大,所以应用手机市场就顺势而生,它将网络上的应用分文别类地进行统一的管理,方便用户查找和下载,用户还可以对自己所下载的应用进行评价,对于开发者来说,这也是一个相对正式的应用平台,可以发布自己的作品,还可以与用户进行互动交流,及时修改自己应用的不足之处。运用Struts框架实现网站,首先把应用分解为模型、视图和控制器来实现,这样就将业务逻辑和表现层分开,提高软件可扩展性和良好的逻辑性,改变了传统Web开发设计模式。然后运用struts-config.xml配置文件将三者组装起来,协调它们完成相应的功能。下面将以网站中用户登陆为例按照MVC架构来详述实现过程。3.1创建视图组件在视图中主要包括两个组件:用户登录页面Login.jsp,是struts的输入显示页面;登录失败页面wrong.jsp;是用户登录失败后显示的页面。它们都保存在Web应用根目录下。3.2创建模型组件模型组件文件UserInfo.java是处理业务逻辑的JavaBean,封装了与网站用户相关的所有信息,同时也定义了所有与论坛用户信息处理相关的方法。例如检查用户身份的方法以及查找、删除、编辑、修改用户信息等。通过Action类派生的子类LoginAction访问UserInfo.java实现对业务逻辑的处理。如果模型组建处理的业务比较复杂可以使用EJB或其他J2EE组件来实现。注意业务逻辑层对应的类所在的包应该部署在/WEB-INF/classes下。3.3创建控制器组件控制器组件作为整个Struts架构的控制中心,包括了ActionServlet、ActionBean、ActionFormBean、以及相关配置文件web.xml、struts-config.xml及资源包。ActionServlet类是框架自带的,是整个Struts框架的控制枢纽,通常不需要扩展。3.3.1声明及定义LoginActionForm.java该Javabean用于收取用户登录页面提交的表单数据。注意ActionFormBean中属性名称一定要对应用户表示层JSP页面中的表单元素名称及超链接参数名。3.3.2声明及定义LoginAction.javaLoginAction负责处理客户端提交请求,其主要功能是依据接收到的不同请求,通过LoginActionForm中得到对应的提交表单数据,调用业务逻辑层中对应的UserInfo.java进行处理。最终将结果传给用户表示层JSP页面,显示在用户面前。3.3.3配置文件定义web.xml主要实现了对ActionServlet进行配置,同时还必须声明Web表示层中所使用的struts标签库。针对本应用Struts-config.xml配置如下:在Web应用开发中,Struts技术只实现了Web层的应用框架,但它是一个具有良好扩展性和不断完善的框架,结合J2EE核心设计模式,可构建出相当稳定的基于MVC应用框架,利用这样应用框架不但能缩短开发时间,还能够实现框架和代码的重用,是未来web应用开发的主要技术方向之一。实践是检验真理的唯一标准,通过运用Struts框架开发手机应用网站系统,是我深刻感受到了其在开发过程中便利,在Struts框架下开发,条理清晰,在系统出现问题后,可在短时间内找出问题所在,提高了开发速度,保证了系统的质量。MVC它强制将模型—视图—控制分开,这种强制性带来的直接好处就是系统开发更趋于灵活,增强了系统的可重用性和易维护性。