struts框架实验报告

2024-09-15 版权声明 我要投稿

struts框架实验报告

struts框架实验报告 篇1

实验(实习)名称 Struts2框架编程 实验(实习)日期 得分 指导教师 院 计软 专业 计科 年级 2013级 班次 3 姓名 张文娇 学号 20131308081

1.实验目的:

1)掌握Struts2框架和工作流程。2)熟悉Struts标签库的使用。

3)掌握Struts 2拦截器的原理,并能进行相关设置和编程。4)了解和掌握文件上传等功能实现

2.实验内容:

1)采用Struts2框架,创建三个JSP页面(hello.jsp、welcome.jsp)和一个Action实现类(StrutsAction),并对web.xml和Struts.xml进行必要配置,实现用户登录功能的处理。(参考教材3.1节)

2)采用Struts2相关技术,实现“学生综合管理系统”的“添加学生信息”功能(具体需求详见教材3.7所述)

3.实验步骤

{对每个实验题目进行简要步骤描述,包括源码和实验结果截图} 1)

1.启动MyEclips 8.5 2.创建web project项目命名为FirstStruts2 3.添加支持包 4.配置web.xml struts2.0 org.apache.struts2.dispatcher.FilterDispatcher struts2.0 /*

5.在工程中创建LoginAction.jsp import dao.CustomerDAO;public class LoginAction {

private String name;private String password;/**在此方法里实现业务逻辑处理*/ public String execute()throws Exception {

CustomerDAO dao=new CustomerDAO();boolean boo=dao.check(name, password);if(boo)return “success”;

} else return “error”;public String getName(){ return name;} public void setName(String name){ this.name = name;} public String getPassword(){ return password;} public void setPassword(String password){this.password = password;} } 6.配置struts.xml文件

/success.jsp /error.jsp 7.创建login.jsp

struts框架实验报告 篇2

1 系统功能

系统与学校的门户网站、 教务管理系统、 课程网站等系统进行无缝集成。 学生采用浏览器或智能客户端的方式访问虚拟实验室。 主要向学生提供实验课程教学中常用的学习资源, 虚拟实验室服务器动态更新学习资源, 学生借助智能客户端, 在网络故障和不便使用网络时完成实验操作和学习。可实现作业和实验更新, 离线完成的实验结果, 实验报告及记录可通过网络进行上传提交。

开放式网上虚拟实验室教学平台分为系统管理员、 教务管理人员、 教师、 学生4 种用户角色, 功能如下:

(1) 系统管理员

1) 权限管理: 对用户权限进行管理, 设置教师开课和学生选课时间。

2) 用户管理: 添加或删除系统管理员、 教务员、 教师及学生用户。

(2) 教务管理人员

1) 教务信息发布:添加查看教务信息。

2) 开课审核:对实验课程进行审核。

3) 消息管理:查看教务相关的消息信息, 回复和删除消息。

(3) 教师

1) 课程管理: 向教务处提出开课申请, 添加实验课程信息。

1) 学生管理: 查看学生提交的实验报告。

2) 批改实验报告: 给出实验成绩, 查询和修改实验成绩, 显示成绩列表。

3) 在线回答学生提出的实验相关问题。

4) 消息管理: 查看教务处公布的教务及实验课程信息。查看并回答学生留言的问题。

(4) 学生

1) 学生选课: 学生在特定时间段选择已经通过审核的实验课程。

2) 做实验:开展一项实验, 以SQL Server实验为例。

3) 在线提问:学生向老师在线提问。

4) 提交实验报告: 上传实验报告。

5) 看实验成绩及评语: 学生查询实验成绩及查看教师评语。

2 系统应用的关键技术

本系统采用HTML语言, 通过超链接检索在线信息, 合成网站所有文字页面静态图片表格。 Java Script实现了Web页面中链接多个对象, 与Web客户交互作用。 CSS技术设计网站内的动态按钮。 数据库使用MYSQL5.5, 完善客户数据资料处理、 快速的资料查询、 网站数据的存储、 检索和更新。Flash动画、 动态图标增强网站感染力。 JSP以Java语言为核心, 满足动态页面的开发需要, 是核心的动态开发语言。 框架采用Struts2 优秀的MVC框架, 实现业务逻辑和界面显示的分离, 即可以满足高并发的特点, 也便于后期的扩展和维护。

Struts2 框架是MVC设计模式的一个具体实现, 是Web应用开发中用来解决用户接口 (UI) 层机器与后端应用层之间的交互。 Struts的体系结构实现了model-view-controller设计模式的概念, 它将这些概念映射到Web应用程序的组件和概念中[3]。

3 系统主要核心代码

3.1 在线答疑配置文件

3.2 学生做实验文件

4 系统实现主要界面

学生在自主学习的过程中可以随时登陆系统进行实验, 也可以提出各种教学或实验问题, 与老师进行良好互动。 系统界面简洁, 操作方便。 图1 为系统登录界面, 分为4 种不同的用户, 系统管理员、 教务员、 老师、 学生。 每个用户的权限不同。 图2 为学生做SQL Server实验, 根据老师的题目完成实验内容。

5 结语

采用Struts2 框架设计实现了虚拟实验室教学平台, 提供全方位的虚拟实验教学辅助功能, 为我校各院虚拟实验教学环境提供服务, 为学生提供了一个便利的自主实验学习的平台, 系统架构设计合理, 采用双服务器负载均衡, 并发能力强, 有很强的可扩展性, 具有较高的应用和推广价值。

摘要:针对传统的实验教学面临实验室建设费用高昂、知识学习和实验动手操作相互分离、教学方法单一等问题, 提出采用JSP动态开发语言Struts2核心框架, 实现开放式网上虚拟实验教学平台方案。该平台系统运用虚拟现实技术模拟真实实验, 由课程实验仿真平台和虚拟实验教学管理系统两部分组成, 为本校各院虚拟实验教学环境提供了虚拟实验课程资源, 减少了实验设备的维护强度, 缓解了当前实验设备不足, 解决了计算机、电子、通信等学院教学中的实验教学问题。

关键词:虚拟实验,JSP语言,Struts2框架

参考文献

[1]张诚洁, 基于.Android平台的移动在线测试系统设计与实现[J].计算机应用与软件, 2015, (4) :323-325.

[2]欧阳宏基, 马广平, 葛萌.基于Struts框架的Web应用研究与实现[J].计算机与数字工程, 2010, (03) :197-200.

[3]吕凯.基于MVC设计模式的Struts框架的应用研究[J].沈阳工程学院学报 (自然科学版) , 2010, (04) :366-368.

[4]陈默, 杨小平, 等.基于Struts2技术的社交网络服务平台, 计算机系统应用, 2014, (01) :19-27.

[5]焦广旭, 张栋, 基于Struts2技术的网站内容管理平台的研究与实现[J].电脑开发与应用, 2009, (04) :34-36.

[6]程明, 张璟, 等.基于Struts2的数据传输系统的设计与实现[J].计算机应用与软件, 2009, (12) :44-47.

[7]王永贵, 郭伟.Java高级框架应用开发案例教程--Struts2+Spring+Hibernate[M].北京:清华大学出版社, 2012.

struts框架实验报告 篇3

关键词:MVC设计模型;Struts框架;Servlet;Jsp

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30789-02

Research of Struts Frame Work Based on MVC Design Pattern

XIA wei

(Bengbu College of Modern Education Technology Center, Bengbu 233000, China)

Abstract:Struts is an excellent framework based on MVC design pattern for Web applications. It separates view and business logic and increases reusability and flexibility of the code for Web development. This paper briefly analyzes the principle of Struts framework technology and the implementing technology for model, view and controller of Struts based on MVC design pattern. And through a demonstration examples Struts Framework MVC model approach.

Key words:Struts framework; MVC design pattern; Servlet; Jsp

1 引言

当前,SUN公司提出的J2EE (Java 2 Enterprise Edition)已经逐渐成为企业Web应用开发的标准,这当中的Servlet/JSP技术也在众多网站得到了广泛的应用,然而,在仅使用JSP技术开发的Web应用中,业务逻辑处理、动态显示用的Java代码以及HTML混合在一起,使得阅读、调试和维护都困难重重。

为了使开发的Web应用具有良好的可扩展性和易于分工,我们必须要做到:

(1)将业务逻辑与用户界面分离;

(2)将动态页面显示逻辑与静态的HTML代码分离。

由Apache Jakarta项目组提供的Struts应用框架正是用来解决这些问题的,它基于MVC的设计思想,很好地实现了业务逻辑与用户界面的分离,同时,它提供了大量的自定义标记库,可以在JSP页面中分离动态显示逻辑与静态的HTML,使页面代码更清晰,可读性大大提高。

2 MVC设计模式简介

MVC是Model-View-Controller的简称,它是一种设计模式,来源于面向对象语言Smalltalk,最近几年被推荐为SUN公司J2EE平台的设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成3个核心模块:模型(Model)、视图(View)和控制器(Controller),它们分别担负不同的任务,以提高应用程序的可扩展性。图1显示了这几个模块各自的功能以及它们的相互关系。

图1 MVC组件类型的关系和功能

2.1 View

用户视图模块,这是用户界面部分。与Web应用程序一样,主管应用程序与人之间的接口。一方面它为用户提供了输入手段,并触发应用逻辑运行;另一方面,它又将逻辑运行的结果一某种形式显示给用户。

2.2 Controller

流程控制模块。该部分是用户界面与Model的接口。一方面它解释来自于View的输入,将其解释成为系统能够理解的对象,同时它也识别用户动作,并将其解释为特定方法的调用;另一方面,他处理来自于Model的事件和Model逻辑执行的结果,调用适当的View为用户提供反馈。

2.3 Model

事务逻辑模块,这是整个模型的核心。它表示的是解决方案空间真正的逻辑。它采用面向对象的方法,将问题领域中的对象抽象为应用程序对象。在这些抽象的对象中封装了对象的是属性和这些对象所隐含的逻辑。

2.4 MVC处理过程

首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

3 Struts体系结构

Struts框架是在MVC模式基础上开发的新一代Web框架,在它的支持下可以快速开发基于Web的应用,而且提高了MVC的分层应用。它的标记库具有强大的页面开发功能。Struts框架的处理流程清楚地体现了MVC系统的特点,简单的Struts组件结构如图2所示。客户端通过Browser发出请求后,请求被Struts的控制器ActionServlet获得,ActionServlet在Struts-config.xml配置文件中查找有效映射,然后将相应的ActionMapping对象转发给Action处理器对象进行处理。Action处理器对象访问ActionForm中的数据,处理和响应客户的请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action处理器对象根据处理结果通知控制器,控制器进行下一步的处理。

图2 Struts框架的组件结构图

3.1 控制器(Controller)

控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller功能由图中ActionServlet和ActionMapping对象构成:核心是一个Servlet类型的对象ActionServlet,它用来接受客户端的请求。ActionServlet包括一组基于配置的ActionMapping对象,每个ActionMapping对象实现了一个请求到一个具体的Model部分中Action处理器对象之间的映射。

3.2 模型(Model)

MVC系统中的Model部分从概念上可以分为两类——系统的内部状态,和改变系统状态的动作。Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端表单数据。开发者可以从它派生子类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过ActionForm组件对象实现了对View和Model之间交互的支持。Struts通常建议使用一组JavaBean表示系统的内部状态,根据系统的复杂度也可以使用像Entity EJB 和 Session EJB等组件来实现系统状态。Struts建议在实现时把"做什么"(Action)和"如何做"(业务逻辑)分离,这样可以实现业务逻辑的重用。

3.3 视图(View)

Struts应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。

3.4 配置文件

Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息。Struts-config.xml是Struts的关键,基本上所有的控制都是通过该文件实现的,通过该配置文件可以控制全局转发、ActionMapping类、ActionFormBean、JDBC数据源。另外利用资源配置文件applicationResources.properties可以实现消息的国际化和本地化。页面上的所有静态文字信息都可以定义在该属性文件中,不同语言可以定义不同的属性文件,并且改变页面文字信息时不用修改JSP而直接修改属性文件即可。

4 Struts简单实例

该实例的的主要功能是验证login登陆页面的用户名和密码,如果验证成功则显示登陆成功页面,否则,显示登陆失败页面。

4.1 视图部分

视图包括3个JSP文件:login.jsp提供用户界面,接受用户输入的用户名、密码,并提交登录请求到Action;success.jsp提供登录成功界面,取得Action转发的用户名,并提示该用户登录成功;error.jsp提供登录失败界面,取得Action转发的用户名,并提示该用户输入的用户名或者是密码错误,登录失败。

login.jsp的源代码如下:

<% @ taglib uri="/WEB-INF/Struts-form.tld" prefix="form"%>

UserName:

Password:

4.2 模型部分

模型包括一个JavaBean组件LoginForm,它有username,password两个属性,代表用户输入的用户名和密码。它提供了get/set方法,分别用来读取和设置username,password的属性。

LoginForm.java的源代码如下:

import org.apache.Struts.action.*;

public class LoginForm extends ActionForm{

public String username;

public int password;

public String getUsername() {return username;}

public void setUsername(String username) {this.username=username;}

public String getPassword() {return password;}

public void setPassword(int password) {this.password=password;}}

4.3 控制器部分

控制器包括一个Action类LoginAction,它的任务是从LoginForm中接收用户名和密码,判断如果用户输入的用户名是”zhangsan”,密码是”1234”,则登录成功,跳转到success.jsp;否则登录失败,跳转到error.jsp。

LoginAction.java的源代码如下:

import org.apache.Struts.action.*;

public class LoginAction extends Action{

public ActionForward execute(ActionMapping mapping,ActionForm form,

HttpServletRequest request, HttpServletResponse,response){

String userName=((LoginForm)form).getUsername();

int password=((LoginForm)form).getPassword();

if(userName.equals("zhangsan") && password.equals("1234")){

return mapping.findForward("success");

}else{

return mapping.findForward("failed");}}}

4.5配置文件

用户提交请求到Action以及Action处理完之后跳转到不同的页面都是通过ActionServlet来处理和转发的。而ActionServlet是根据配置文件Struts-config.xml中的映射信息来做出决定的。

Struts-config.xml的配置信息如下:

//定义FormBean

//定义ActionBean

//定义ActionForward

5 结束语

由于在MVC设计模式中,应用被分为三个部分,这样有利于在代码修改过程中选取重点,它还有利于三个部分并行开发,缩短开发周期,还增加了程序的可维护性、可扩展性,并使测试变得更为容易。由于它满足业务逻辑复杂的大中型Web应用的要求,因而也越来越受到广大编程者的青睐。由于篇幅有限,文中实例只是简单的讲述了Struts的用法,要想真正掌握其开发技巧,还须进一步掌握相关知识。

参考文献:

[1]孙卫琴. 精通Struts:基于MVC的JavaWeb设计与开发[M]. 北京:电子工业出版社,2004.

[2]丁鹏,刘方,邵志峰,等. Struts技术揭密及Web开发实例[M]. 清华大学出版社,2004.

[3]杨磊, 陈凌云. 精通Eclipse Web开发——Java体系结构、工具、框架及整合应用[M]. 人民邮电出版社,2006.

[4]戎伟,张双. 精通Struts-Java流行服务器、框架、工具及整合应用[M]. 人民邮电出版社,2006.

实验室简介基本内容框架 篇4

实验室简介基本内容框架

1.实验室名称、性质、机构设置(各实践教学现场照片)。2.实验室条件。包括:实验室用房及环境情况、仪器设备台套数、总值,10万元以上仪器设备台套数及总值,大型精密贵重仪器设备名称、照片,仪器设备水平等。

3.承担实践教学情况。包括:实验、实习、实训课程名称,项目数,设计性、综合性实验比例,受益专业及学生数,每年实践教学工作量,实验室开放情况等。

4.实践教学队伍结构,包括:学历、职称、年龄结构等。5.国内外学术交流与合作情况。

6.实践教学特色与成果。包括:实践教学工作特色,本科教学改革与质量工程项目,教师承担的与实践教学相关的项目、发表的论文、出版的实践教材及获奖情况,近三年学生依托实验室获得的竞赛奖项等。

struts框架实验报告 篇5

一、Struts框架简介

Struts是通过提供一个总体的开发框架来实现MVC (ModelView-Controller) 设计模式, 这个框架提供了一系列的系统服务作为管理HTTP请求及响应的补充。该框架技术主要包括以下内容:

1. MVC架构设计

使用MVC设计模式构建的应用主要分为三个层次, M (模型) 主要负责业务逻辑处理, V (视图) 主要负责页面显示, C (控制器) 主要负责控制管理职能。这样整个应用分为三个层次开发使应用程序的重用性和可维护性更好, 而且利于分工, 提高开发效率。

2. Struts标签库设计

Struts框架提供了一组标签库用于和Beans组件进行交互。其中form标签可以嵌套商务网站中的文本输入框、下拉列表等表单, Beans标签为设置它的属性提供了方便, 并可以对组件的参数进行访问。

3. 配置文件设计

在Struts框架应用中最重要的要属配置文件struts-config.xml文件的设计。通过它可以设计网站访问的数据源、动态的表单组件、全局映射表及异常处理等。

二、基于Struts的网站设计应用

1. 在集成开发环境下装载Struts库

该过程主要包括两个部分, 一个是装载运行时的Struts库, 一个是装载编辑时的Struts库。前者目的是便于在继承开发环境上运行应用服务器时, 服务器能找到相应的Struts库, 因而需要将Struts的标签库文件放到指定的目录下面。后者目的是使在进行Struts程序开发过程中不会出现编辑错误。

2. 实现Action中央控制器

Action Servlet是Struts最核心部分, 相当于中央控制器, 通过org.apache.struts.action.Action Servlet类来实现, web应用程序通过它来控制页面流程, 通过传来的参数来分配下一个页面。

Action Servlet负责接收所有页面提交的请求, 并产生相应的响应送到请求页面。一旦web容器接收到外部请求时, 它的do Post方法将会处理来自客户端信息, 并调用Request Procedessor对象处理该请求。其工作原理如下图所示:

Action Servlet工作原理图

3. 组件类设计

Form Bean类负责网站的显示内容, 进行基于Struts的Form Bean开发是通过其基类Action Form类来完成的, 该类继承于org.apache.struts.action.Action Form类, 可以自动将页面的表单内容保存起来, 并通过请求模块进行信息传递。

4. 配置Struts-config.xml文件

如前所述, Action Servlet是Struts的控制器, 是最核心部分, 这个控制器通过配置Struts-config.xml来完成。

Struts通过定义路径参数来定义转向Dispatch的路径, 在该文件里添加标签, 这样实现了转向路径的可配置化, 避免在程序中写具体路径, 易于今后的数据维护和程序修改。

设置动态Form Bean不需要事先创建Form Bean类, 直接在配置文件中定义相应的名字和每一个字段类型即可。

5. 创建表单校验器

商务网站中提供了大量的表单输入, 假如在完全输入后才进行校验显然是不行的, 可以采用基于页面输入校验的S t r u t s Validator来解决。Struts Validator是基于Struts来进行页面校验的组件, 它可以完全通过配置来完成页面的校验, 不需要写代码, 它实现了页面显示层和页面校验层的分类, 又通过配置将二者整合, 整个过程是利用插件标签来实现的。

三、构建、部署和测试Struts应用

由于jakarta项目已经为JSP平台提供了一系列应用系统, 因此使用jakarta Ant来构建和部署Struts应用不仅使开发大型网站变得更容易, 而且还具有良好得跨平台特点, 结合Junit更发挥了自动化测试功能。可以说基于Struts的网站开发应用构建了电子商务建设领域新的里程碑。

参考文献

[1]杜明李朝纯:Struts+EJB在J2EE平台上的设计与实现[J].计算机应用研究, 2005, (03)

[2]冯相忠:基于MVC设计模式的Struts框架及其应用的研究[J].计算机技术与发展, 2006, (08)

struts框架实验报告 篇6

在越来越多的开发团队进行企业级的分布式的事务处理应用程序开发的今天,为了能够快速设计和开发企业级的应用程序,效率的提高和开销的节省是我们不得不思考的问题,运用J2EE系统架构就是一种行之有效的解决方案。本文的实现方案,主要采用了MVC设计模式,并运用Struts具体实现MVC设计模式。此方案主要适合大型企业级系统的开发。

1 MVC设计模式

MVC (Model-View-Controller, 模型-视图-控制器)模式是Xerox PARC在20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。

Model (模型) ,是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的界面表达和I/O操作。

View (视图) ,把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

Controller (控制器) ,是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系。它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。

在使用者开始使用系统以前,视图模块必须先向模型模块注册,以便模型模块在状态改变时可以通知视图模块。若使用者的输入是透过视图模块来输入的,则控制器模块也可向视图模块注册,以便视图模块在接受使用者的消息时能将消息交由控制器模块过滤、处理。控制器模块将使用者消息处理后会传递给模型模块,模型模块根据传入的消息决定系统状态的改变。模型模块状态改变后若是必须告知使用者的,它就会将此状态改变的消息传递给视图模块以便更新界面显示,将新的系统状态展示给用户。

2 Struts框架

2.1 Struts框架介绍

Struts是目前非常流行的基于MVC的Java Web框架。Struts由一组相互协作的类 (组件) 、Servlet以及JSP Tag Lib组成。Struts框架符合JSP Model2的标准,并且包含了丰富的标记库和独立于该框架工作的实用程序类。整个Struts大约有15个包,近200个类所组成,而且数量还在不断地扩展。Struts有自己的控制器 (Controller) ,同时整合了实现模型层 (M o d e l) 和视图层 (View) 的技术。在模型层,Struts能很容易地与数据访问技术相结合,包括E J B、JDBC和Object Relation Bridge。在视图层,Struts能与JSP、VelocityTemplates、XSL等表示层组件相结合。

2.2 Struts工作原理

S t r u t s能够控制、处理客户请求,Struts包括四个核心组件:ActionServlet、Action Classes, ActionMapping与ActionFromBean。通过这四个核心组件的相互调用和协作实现Struts的整个工作流程。图1勾勒出了基于Struts的应用程序的结构,从左到右,分别为:视图 (View) 、控制器 (Controller) 和模型 (Model) 。视图由Struts标签库构建,来自客户的所有需要通过框架的请求由Action Servlet类实例统一接收,根据请求参数和struts-config.x m l中的配置信息将请求送给相应的Action处理。Struts框架对于每个模块会生成相应的ActionMapping类实例来分配处理用户请求。A c t i o n S e r v l e t、Action Mapping、struts-config.xml三者共同构成Struts的控制器。

Struts框架中Action类实例是进行业务处理的组件,通过调用业务组件 (模型) 如:EJB等第三方中间件,完成相应的业务处理。业务组件将处理结果返回Action类实例,Action类实例将得到的处理数据存放到FormBean类实例中。整个过程能够保证FormBean的数据更新,最后Action类实例返还A c t i o n F o r w a r d类实例 (A c t i o n F o r w a r d类实例通过A c t i o n M a p p i n g类实例获得) ,Action Servlet将数据呈现在相应的JSP页面上。

3 MVC+Struts在系统中的应用

在开发系统的过程中,遵循着MVC模式的理念,采用Struts框架开发Web应用程序。

(1) 控制器组件的实现。

控制器组件负责检测用户的输入,还要更新域模型,并为客户端选择下一个视图。下面以登录子模块控制器LoginAction类的设计实现过程为例,说明系统控制器的实现方法。

首先, 我们应该在LoginAction类中导入Login Action Form包, 这样Action Form中的属性及其set () 方法和get () 方法都可以在LoginAction类中调用, 成功地实现了MVC模式的视图数据通过ActionForm向控制器Action传递的设计理念。Import com.xxx.xxxxxxxx.System.ActionForm.LoginActionForm;

其次, 需要扩展org.apache, struts.action, Action类并提供一个execute (ActionMapping actionMapping, A c t i o n F o r m a c t i o n F o r m, Http Servlet Request httpServletRequest, Http Servlet Response httpServletResponse) 方法的实现方式。最后, 返回一个Act

最后,返回一个ActionForward对象,Request Processor按照struts-config.xml中的action映射为客户端选择下一个视图。

(2) 模型组件的实现。

模型是应用中最重要的一部分,它包含了业务实体和业务规则,负责访问和更新持久化数据,所以把所有的模型组件放在系统中同一个位置,这有利于维护数据的完整性,减少数据冗余,提高可重用性。创建的模型包括以下步骤:

(1) 创建业务对象 (Business Object) 。

(2) 创建数据库 (Relational Data Base) 。

(3) 将业务对象映射到数据库 (Objectto-Relational) 。

(4) 测试业务对象是否可以持久化到数据库 (Persistence) 。

(3) 视图组件的实现。

视图组件的实现大多数是基于JSP技术编写。Login.jsp页面在此充当了视图的角色。在JSP页面里,可以加入JavaScript代码用于初步页面验证,在用户没有提交数据之前,尽早发现数据问题,从而节省服务器资源和提高响应时间[2]。另外,在JSP页面里大量使用自定义标记符,用来访问JSP页面中的请求、响应和输出变量,而且标记符的引入,既简化了JSP页面的可读性,又节省了开发和测试时间。

(4) Struts配置文件。

4 结束语

Struts是基于MVC模式的非常优秀的应用框架,是一种非常先进的设计思想。本文提出系统就是利用MVC+Struts这一架构来设计和实现。该架构具有基于网络、跨平台、开发高效等优势,适合信息化的要求。本系统的设计和开发提供了一个有效的开发设计信息系统的思路和解决方案。

参考文献

[1]孙卫琴, 李洪成.Tomcat与Java Web开发技术详解[M].北京:电子工业出版社.2004.

[2]林上杰, 林康司.JSP2.0技术手册[M].北京:电子工业出版社.2004.

[3]孙卫琴, 精通Struts:基于MVC的JavaWeb设计与开发[M].北京:电子工业出版社.2005.

[4]章志明, 张正球, 余敏.基于MVC思想的科研管理信息平台[J].计算机与现代化.2005 (9) :63265.

struts框架实验报告 篇7

本文首先介绍了MVC模式的基本思想及Struts的工作原理,并以网上办公系统为例,详细地说明了基于Struts框架进行信息管理系统开发的方法与思路。

1 Struts 框架

Struts是Apache软件基金的一个开源项目,是基于MVC设计模式构建Java Web应用程序的框架。Struts框架在构建复杂的Web应用时,允许把应用程序的业务逻辑、控制逻辑和表现逻辑进行分离,从而提高系统灵活性、重用性和可维护性,进而简化Web应用程序的开发。

1.1 MVC 模式

MVC是80年代Smalltalk中使用的一种软件模式,目前已经被广泛使用,是J2EE平台上推荐使用的设计模式。该模式将应用系统的输入、处理和输出按照Model、View和Controller的方式进行彻底的分离,因此应用系统就被分为了三个核心部分:模型、视图和控制器,它们各自处理各自的事务。

(1)模型(Model):它代表的是应用的业务逻辑,可以对业务流程、状态处理和业务规则的进行制定。业务流程的处理过程对其它部分来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。

(2)视图(View):它代表的是应用的表示,是与用户交互的部分。它一般进行数据的采集,并把数据交给其它部分处理。

(3)控制器(Controller):它位于模型与视图之间,控制着它们之间的交互处理过程。控制器把客户端来的请求转换成模型能够理解和执行的请求,并且根据请求选择处理的模型,接着根据执行结果决定下一次显示的视图。

1.2 Struts 工作原理

Struts是一个开放资源框架,是MVC设计模式的一个实现,由一组相互协作的类、Servlet以及JSP标签库组成。Struts的体系结构将Model、View、Controller分别映射到Web应用中的组件。在Struts中Model由Action和Action Form对象来实现,所有的Action处理器对象都是Action类的子类,Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到相关的View组件以产生响应。通过Action Form组件对象实现了对View和Model基本的控制器组件是Action Servlet,但是对于业务逻辑的操作则主要由Action、Action Mapping和Action Forward这几个组件协调完成。其中Action扮演了真正的业务逻辑的实现者,或者说是业务逻辑调用的接口;而Action Mapping和Action Forward则制定了不同业务逻辑或流程的运行方向。

2 网上办公系统的实现

2.1 系统介绍

网上办公系统是为帮助企事业单位内部员工更好地进行合作或更有效地工作而设计的,旨在实现企事业单位内部的无纸化办公。由于不同单位所需办公系统功能的不同,在此我们选取了网上办公系统中通用的几个模块进行了实现,主要包括:文件夹、待办事项、通讯录、日程安排、文件柜、电子公告、用户设置和系统管理等模块。

2.2 系统实现

由于系统各功能的实现无论是在步骤上,还是在方法上都是大同小异,所以在此以用户登录为例详细说明该系统的实现方法及思路。在登录窗口当用户输入用户名和密码,点击“登录”按钮,即向Controller发出一个HTTP请求。用户输入的表单参数将以LoginF orm的形式封装提交到Action Forward。这个Action Forward调用相应的login执行业务逻辑,完成用户登录功能。

3 结束语

Struts作为一种有效的进行Web应用开发的框架,充分利用了MVC模式的优点。应用Struts框架构建网上办公系统很好地实现了业务逻辑与表示逻辑的分离,大大简化系统开发的难度。尤其是各层逻辑组件的同时开发,缩短了开发周期,其灵活的、大量丰富的标记库语言大大提高了开发效率,而且应用Struts框架构建的Web应用系统,具有良好的可重用性、可维护性和可扩展性。

摘要:基于MVC(Model-View-Controller)的Web应用框架,在应用开发中将界面和业务逻辑进行了分离,提高了代码的可重用性和灵活性。本文在对MVC模式、Struts的工作原理进行简要介绍的基础上,详细介绍了基于Struts框架的网上办公系统的开发思路及具体实现。

关键词:框架,系统,开发,应用

参考文献

[1]Erich Gamma.J2EE构建企业系统[M].北京:清华大学出版社.2001.

[2]James Holmes著,孙燕等译.Struts程序员查询辞典[M].北京:中国铁道出版社.2005.

struts框架实验报告 篇8

传统的Web应用开发将页面显示、业务逻辑和数据处理大部分都集中在页面代码中,由于系统的各个部分高度耦合,给后续的系统扩展和维护带来了很大的困难,因此迫切需要一种全新的Web应用设计技术,基于MVC模式的Struts1框架这是在这背景下应运而生。无可厚非,Struts1框架经过若干年的发展已是当前Web应用开发中最为流行的框架之一,然而技术总是在不断的发展,Struts1框架也美中不足,面对大量新的MVC框架的蓬勃兴起,Struts1也开始注入了新的血液,这便促使了Struts2框架的诞生。

2 Struts2框架结构及工作原理

Struts2框架是在Struts1和WebWork框架的基础上发展而来的,同时吸取了两者的优势,但与Struts1框架相比,在设计理念上有许多本质的不同,对WebWork框架有过研究的读者会发现,Struts2在体系结构和运行流程上与WebWork非常相似。所以,在一定程度上可以说Structs2实际上继承的是WebWork的血统。

Struts2框架大致由3部分组成:核心控制器、业务控制器和用户实现的业务逻辑组件。其中核心控制器由FilterDispatcher充当,该控制器作为一个Filter运行在Web应用中,它负责拦截所有用户的请求,当用户的请求以.action结尾时,该请求将为转入Struts2框架处理。业务控制器就是用户自己实现的Action类的实例,这个类一般都包含了一个execute()方法,该方法的返回值是一个字符串(如:SUCCESS,ERROR等),即逻辑视图名,与此对应的是一个实际要转到的视图资源。其实Struts2用于处理用户请求的Action实例并不是用户实现的业务控制器,而是Action代理,这里用户实现的Ac-tion类只是Struts2的Action代理的代理目标,Struts2框架提供了一系列拦截器,通过这些拦截器负责将HttpServletRequest中请求的参数解析出来,传入到用户自定义的Action中,然后执行相应的方法来处理用户的请求。关于业务逻辑组件方面,Struts2框架并没有提供太多的帮助,它只是一个表现层的框架,在实际的开发中当控制器需要获得业务逻辑组件时,通常是通过工厂模式来获得业务逻辑组件实例的。Struts2具体的框架结构及工作流程如图1所示。

3 基于Struts2框架的电子书店系统的设计与实现

3.1 系统功能分析与设计

本系统由前台和后台两个主要模块构成,其中前台模块负责用户功能,包括用户注册、用户登录、修改个人信息、在线购物、查看购物车、订单查询等功能;后台模块负责管理功能,包括管理员登录、图书管理、订单管理、用户管理、权限管理等功能。关于数据库设计方面,共有7张数据表:管理员表(Admin),存放初始管理员的数据记录信息;注册用户表(MyUser),用于记录注册用户信息;图书类别表(BookClass),存放图书类别记录;图书信息表(BookInfo),用于存放图书详细信息记录;用户订单表(Indent),记录用户下达的订单基本信息;订单图书表(IndentList),用于存放订单对应的图书信息。本系统采用B/S架构,在Struts2框架基础上利用集成开发工具进行开发,系统采用Oracle为后台数据库、Tomcat6.0为Web服务器。

3.2 利用Struts2技术实现系统开发

3.2.1 为当前Web应用增加Struts2支持

1)将Struts2的核心类库(struts2-core-xxx.jar等)复制到当前Web应用的lib目录下;

2)修改当前Web应用的web.xml配置文件,配置Struts2的核心Filter,让该文件加载Struts2框架。配置的代码片段如下:

3.2.2 业务逻辑层的实现

本系统业务逻辑层采用DAO设计模式和工厂设计模式,以BookManageDAO.Java为例,其中封装了对图书信息的列表、查看、增加、更新、删除等业务逻辑。当控制器Action需要调用业务逻辑组件中的方法(如:增加新图书)时,先要创建一个业务逻辑组件工厂(如:DAOFactory),通过工厂取出BookManageDAO组件,再调用需要执行的方法,通过这样的设计模式,使得应用架构具有更好的可扩展性。

3.2.3 控制器的实现及配置

在Struts2应用框架中,核心控制器(FilterDispatcher)是由Struts2框架本身所提供,开发人员一般无须对该核心控制器进行再次开发,负责具体业务处理的Action类则是开发者开发实现的重点。相对于Struts1而言,Struts2采用了低侵入式的设计,Struts2不要求Action类继承任何的Struts2的基类或者实现任何Struts2接口。用户开发的每个Action类负责处理一项具体的业务,通常的任务包括:接收用户请求、根据用户请求调用合适的模型组件来执行响应的业务逻辑、获取业务逻辑执行结果、根据当前状态以及业务逻辑执行结果选择合适的视图组件返回给用户。以下通过实现系统中一个增加新图书的功能模块来介绍如何开发自己的Action类以及完成配置工作。处理添加新书的AddBookAction的代码片段如下:

struts.xml文件用于配置Struts2框架中的各个模块间的交互,,可以把Struts2框架中MVC的各个部分联系起来,实现了一个真正的MVC系统。针对上面的AddBookAction,做了如下的配置:

3.2.4 显示层的实现

显示层的实现主要采用JSP技术,但JSP页面中几乎不包含任何的脚本程序,只是单纯地传送数据以及接收和显示返回的数据。当用户提交了HTML表单后,用户的请求会经过Struts2的一系列内建拦截器,其中有一个params的内建拦截器,它负责解析用户HTTP请求中的参数,并将参数值设置成Action对应的属性。如果表单需要校验,则会用到validation拦截器,通过执行xxxAction-validation.xml配置文件中定义的校验器,从而完成数据的校验工作。此外,Struts2框架还提供了功能强大的标签库,更加方便了页面的输出。

例如要显示上文中涉及到的添加图书是否成功的信息,在JSP页面中的代码片段如下:

4 结束语

随着Web应用系统的不断发展,如何构建一个好的Web应用程序将关系到整个系统的应用效果。以上通过一个实例分析了WEB应用系统中使用Struts2架构技术的各个环节及关键技术,采用架构技术使得项目开发简洁、结构清晰,并且具备了更好的可扩展性和可维护性。本系统是在MyEclipse集成开发环境下开发的,由于现有的开发环境还不能自动地生成struts.xml配置文件,所以笔者自己编写了配置文件,相信不久的将来集成开发环境会有自动生成配置文件的功能,到时会更加方便利用Struts2框架进行Web应用的开发。

摘要:Struts2是目前最新的基于MVC Model2的Web应用开发框架,介绍了Struts2框架的体系结构以及工作原理,并结合一个具体实例,详细介绍了应用Struts2设计和开发Web应用系统的过程和关键技术。

关键词:Struts2框架,Web应用,MVC

参考文献

[1]李刚.Struts2权威指南[M].北京:电子工业出版社,2008.

[2]刘伟,张利国.Java Web开发与实战[M].北京:科学出版社,2008:247.

[3]Struts官方网站[EB/OL].http://struts.apache.org/.

[4]李刚.轻量级J2EE企业应用实战[M].北京:电子工业出版社,2008.

[5]程洪,钱乐秋,马舜雄.基于J2EE体系的WEB应用框架整合[J].计算机工程,2005,31(20).

[6]官全龙,姚国祥.基于Struts的应用架构的研究[J].计算机工程与设计,2005,26(12).

上一篇:思修作业题目下一篇:东乡县第二次经济普查工作计划进度表