论文部分内容阅读
【摘 要】 阐述了J2EE中的Struts框架结构和组件重用技术的先进理念,实现了Struts在网上书店用户注册系统中的应用,解决了网页设计者和软件开发者职责不分的问题,使程序的可重用性、可维护性和可扩展性大大提高。
【关键词】Struts ;Servlet; JSP; 网上书店
1 引言
目前,网上购物已成为人们日常消费的一种重要形式,而构建网购系统的重要技术之一就是J2EE中的Servlet/JSP技术[1]。然而,在仅使用JSP技术开发的Web应用中,业务逻辑处理、动态显示用的Java代码以及HTML混合在一起,使得程序可重用性低、维护困难、网页设计者和软件开发者职责不分[2]。本文使用Struts框架来设计网上书店中的用户注册系统,提高了系统的开发效率、可维护性和可扩展性。
2 Struts框架结构
Struts是一个开放资源框架,它在Servlet和JSP 技术中被用来创建 WEB 应用程序,它以实用的、可扩展的方式实现了良好的软件设计理念,具有组件的模块化、灵活性和重用性的优点[3]。
Struts中的模型以一个或多个Java Bean的形式存在,设计和实现系统的业务逻辑。它根据不同的请求从Action派生具体处理对象,调用由Bean构成的业务组件,创建由ActionForm的派生类,实现对客户端表单数据的封装[4]。Struts中的控制器是ActionServlet组件,它提供了处理所有发送到Struts的HTTP请求的入口点,截取和分发这些请求到相应的动作类。另外控制组件也负责用相应的请求参数填充Action Form,并传给动作类ActionBean,实现核心商业逻辑,可以访问Java Bean或调用EJB。最后动作类把控制权传给后续的JSP文件来生成视图。Struts中的视图由JSP生成页面来完成,利用自定义标记库编写用户界面来实现应用逻辑和显示逻辑的分离。Struts框架通过这些自定义标记建立了视图和模型之间的联系。
3 基于struts的网上书店用户注册系统
以网上书店系统中的用户注册信息系统为例,说明基于Struts的Web应用软件的开发流程。新用户在网页上输入注册信息,若注册成功,则转到用户的登录界面,否则提示注册失败。
(1)视图功能的用户界面设计。JSP具有定制标记和包含Web组件的能力,利用这两个特色,可以实现定制的组件、容器和布局管理器,从而实现可扩展、可重用和可维护的Web应用界面。利用Struts框架提供的taglib标签库,能够大大提高开发效率。因此,在JSP文件中根据需要分别引用Struts bean、html、logic、template标签。在用户注册系统中,用户需要填写详细的信息并提交表单。
(2)模型功能的组件设计。构建模型部分的组件包含了整个应用程序的业务逻辑。此系统设计的组件为:系统状态组件(FormBean), 即实体模型类,它继承自ActionForm类,用来存放表单数据;指令类组件(ActionBean),它扩展了Action类,主要是用来控制应用程序的流程,当注册用户按“提交”按钮后,来自用户的请求被Servlet送到指令类组件NewUserAction,指令类调用相应的业务逻辑组件Account进行处理,然后把请求转发给相关的JSP。
(3)控制器功能的指令Servlet类设计。对于控制器类,不需要重新设计,直接使用Struts提供的ActionServlet类即可。它的核心是struts-config.xml配置文件,它包含了应用程序的整个逻辑流程。在用户注册信息过程中,用newAccount.jsp实现注册页面;用NewUserActionForm封装表单数据;用NewUserAction实现用户注册信息(业务逻辑)并控制应用程序流程;而在struts-config.xml里实现了注册页面(newAccount.jsp)、数据bean(NewUserForm)、逻辑bean(NewUserAction)之间的联系。
当在注册页面上单击“OK”按钮时,用户请求被提交给ActionServlet,根据struts-config.xml中的配置信息,把/newUserAction.do的URI映射到com.shjt.ebookstore.NewUserAction,把用户注册信息封装到NewUserForm,由NewUserAction完成注册操作,然后转发给index.jsp。由此可见,struts-config.xml对于前期的开发和后期的维护升级都是非常重要的。
(4)对未登录或未注册用户购书结账的处理。当用户确认所买图书,点击结账付款按钮时,在bookshopcart.jsp页面通过超链接产生响应,对应代码为:,后台的ActionServlet查询struts配置文件struts-config.xml文件中元素,根据IsUserLogin.do,将请求分发给BookStore.IsUserLogin这个Action bean进行判断用户是否已经登录,如果没有登录则返回mapping对象,ActionServlet根据此mapping对象返回的参数查找配置文件struts-config.xml中的元素转向userLogin.jsp页面。在这个页面用户若已经注册,只需要输入账号和密码即可登录。如果用户第一次购书,则需要注册,点击新用户注册按钮,通过超链接产生响应。代码如下:,由此可见转向userRegister.jsp页面使用户注册,当用户填好基本信息后,点击注册按钮,根据form的Action对象可知,将请求提交给registe.do处理。后台的ActionServlet查询struts配置文件struts-config.xml文件中元素,根据registe.do将请求分发给BookStore.registAction这个Action Bean处理。它将动态表单userForm中用户基本信息插入到数据库表user中,然后使用mapping对象,ActionServlet根据此mapping对象返回的参数查找配置文件struts-config.xml中的元素转向userLogin.jsp页面让用户先登录,登录后转到确认送货页面。
4 结语
本文充分利用J2EE的强大功能和平台无关性特点,采用Struts框架来实现网上书店中的用户注册系统,使用户界面和事务逻辑分离,使页面设计者和Java程序开发者高效地协调工作,有利于整个系统的开发、集成、维护和扩展。
参考文献:
[1]李立春,刘卓.基于Struts框架的网上购物系统设计与实现[J].电脑知识与技术,2014年01期,226-227.
[2]张志刚.Struts 2框架技术开发与应用[J].计算机光盘软件与应用,2013年23期,119-120.
[3]张举,王敏思.基于Struts和Hibernate的MVC设计模式[J].电力学报,2012年06期,603-606.
[4]周春龙.基于MVC模式的Struts框架应用方法研究[J].信息与电脑(理论版),2011年04期,79.
【关键词】Struts ;Servlet; JSP; 网上书店
1 引言
目前,网上购物已成为人们日常消费的一种重要形式,而构建网购系统的重要技术之一就是J2EE中的Servlet/JSP技术[1]。然而,在仅使用JSP技术开发的Web应用中,业务逻辑处理、动态显示用的Java代码以及HTML混合在一起,使得程序可重用性低、维护困难、网页设计者和软件开发者职责不分[2]。本文使用Struts框架来设计网上书店中的用户注册系统,提高了系统的开发效率、可维护性和可扩展性。
2 Struts框架结构
Struts是一个开放资源框架,它在Servlet和JSP 技术中被用来创建 WEB 应用程序,它以实用的、可扩展的方式实现了良好的软件设计理念,具有组件的模块化、灵活性和重用性的优点[3]。
Struts中的模型以一个或多个Java Bean的形式存在,设计和实现系统的业务逻辑。它根据不同的请求从Action派生具体处理对象,调用由Bean构成的业务组件,创建由ActionForm的派生类,实现对客户端表单数据的封装[4]。Struts中的控制器是ActionServlet组件,它提供了处理所有发送到Struts的HTTP请求的入口点,截取和分发这些请求到相应的动作类。另外控制组件也负责用相应的请求参数填充Action Form,并传给动作类ActionBean,实现核心商业逻辑,可以访问Java Bean或调用EJB。最后动作类把控制权传给后续的JSP文件来生成视图。Struts中的视图由JSP生成页面来完成,利用自定义标记库编写用户界面来实现应用逻辑和显示逻辑的分离。Struts框架通过这些自定义标记建立了视图和模型之间的联系。
3 基于struts的网上书店用户注册系统
以网上书店系统中的用户注册信息系统为例,说明基于Struts的Web应用软件的开发流程。新用户在网页上输入注册信息,若注册成功,则转到用户的登录界面,否则提示注册失败。
(1)视图功能的用户界面设计。JSP具有定制标记和包含Web组件的能力,利用这两个特色,可以实现定制的组件、容器和布局管理器,从而实现可扩展、可重用和可维护的Web应用界面。利用Struts框架提供的taglib标签库,能够大大提高开发效率。因此,在JSP文件中根据需要分别引用Struts bean、html、logic、template标签。在用户注册系统中,用户需要填写详细的信息并提交表单。
(2)模型功能的组件设计。构建模型部分的组件包含了整个应用程序的业务逻辑。此系统设计的组件为:系统状态组件(FormBean), 即实体模型类,它继承自ActionForm类,用来存放表单数据;指令类组件(ActionBean),它扩展了Action类,主要是用来控制应用程序的流程,当注册用户按“提交”按钮后,来自用户的请求被Servlet送到指令类组件NewUserAction,指令类调用相应的业务逻辑组件Account进行处理,然后把请求转发给相关的JSP。
(3)控制器功能的指令Servlet类设计。对于控制器类,不需要重新设计,直接使用Struts提供的ActionServlet类即可。它的核心是struts-config.xml配置文件,它包含了应用程序的整个逻辑流程。在用户注册信息过程中,用newAccount.jsp实现注册页面;用NewUserActionForm封装表单数据;用NewUserAction实现用户注册信息(业务逻辑)并控制应用程序流程;而在struts-config.xml里实现了注册页面(newAccount.jsp)、数据bean(NewUserForm)、逻辑bean(NewUserAction)之间的联系。
当在注册页面上单击“OK”按钮时,用户请求被提交给ActionServlet,根据struts-config.xml中的配置信息,把/newUserAction.do的URI映射到com.shjt.ebookstore.NewUserAction,把用户注册信息封装到NewUserForm,由NewUserAction完成注册操作,然后转发给index.jsp。由此可见,struts-config.xml对于前期的开发和后期的维护升级都是非常重要的。
(4)对未登录或未注册用户购书结账的处理。当用户确认所买图书,点击结账付款按钮时,在bookshopcart.jsp页面通过超链接产生响应,对应代码为:,后台的ActionServlet查询struts配置文件struts-config.xml文件中元素,根据IsUserLogin.do,将请求分发给BookStore.IsUserLogin这个Action bean进行判断用户是否已经登录,如果没有登录则返回mapping对象,ActionServlet根据此mapping对象返回的参数查找配置文件struts-config.xml中的元素转向userLogin.jsp页面。在这个页面用户若已经注册,只需要输入账号和密码即可登录。如果用户第一次购书,则需要注册,点击新用户注册按钮,通过超链接产生响应。代码如下:,由此可见转向userRegister.jsp页面使用户注册,当用户填好基本信息后,点击注册按钮,根据form的Action对象可知,将请求提交给registe.do处理。后台的ActionServlet查询struts配置文件struts-config.xml文件中元素,根据registe.do将请求分发给BookStore.registAction这个Action Bean处理。它将动态表单userForm中用户基本信息插入到数据库表user中,然后使用mapping对象,ActionServlet根据此mapping对象返回的参数查找配置文件struts-config.xml中的元素转向userLogin.jsp页面让用户先登录,登录后转到确认送货页面。
4 结语
本文充分利用J2EE的强大功能和平台无关性特点,采用Struts框架来实现网上书店中的用户注册系统,使用户界面和事务逻辑分离,使页面设计者和Java程序开发者高效地协调工作,有利于整个系统的开发、集成、维护和扩展。
参考文献:
[1]李立春,刘卓.基于Struts框架的网上购物系统设计与实现[J].电脑知识与技术,2014年01期,226-227.
[2]张志刚.Struts 2框架技术开发与应用[J].计算机光盘软件与应用,2013年23期,119-120.
[3]张举,王敏思.基于Struts和Hibernate的MVC设计模式[J].电力学报,2012年06期,603-606.
[4]周春龙.基于MVC模式的Struts框架应用方法研究[J].信息与电脑(理论版),2011年04期,79.