4.3 关键技术的运用 4.3.1 Struts框架流程 本系统是一个用Struts框架来开发Java的Web应用程序。下面以用户登录为例,详细介绍Struts具体工作流程。Struts框架流程如图4.7所示。 图4.7 Struts框架原理整体流程 首先,用户填写用户名和密码后,提交到"login.do",根据web.xml文件中的配置(如图4.8所示),在struts-config.xml配置文件中(如图4.9)找已在此注册的相应的Action接收该请求。根据struts-config.xml文件中配置,用UserLoginForm中已经申明的对应字段来接收页面提交上来的用户名以及密码、验证码等登录信息。在action中进行信息验证(这里是LoginAction),在数据库信息验证时调用了UserLoginBo逻辑处理函数来完成连接数据库,查询数据库的工作。当信息错误时,调用Struts中自带的错误保存机制(ActionError)将错误信息保存起来,返回到错误提示页面后调用该错误信息。本例中采用了国际化方法保存错误信息,即将错误信息保存在ApplicationResources.properties文件中,而将该文件中对应的标签保存在ActionError中,在错误提示页面中通过该标签显示错误信息。若信息验证正确,则根据LoginAction中mapping.findForward()函数,找到struts-config.xml中对应的页面。
图4.8 web.xml配置代码段 在以上代码段中,一对<servlet-mapping></servlet-mapping >元素定义了以“.do”为后缀的所有页面请求均提交到名为action的Servlet中。<servlet></servlet>元素里定义了本系统所用的所有Servlet,子元素<servlet-name></servlet-name>定义了servlet的注册名称,另一子元素<servlet-class></servlet-class>则是定义了该servlet的真实路径和名称。在元素<init-param></init-param>中定义的是初始化参数,子元素<param-name>〈/param-name〉表示初始化参数名称,<param-value></param-value>则是该参数的具体值或路径。<load-on-startup>1</load-on-startup>表示在服务器启动时首先调用该项。
图4.9 struts-config.xml配置代码段
以上配置文件struts-config.xml中各属性说明: Name:表示与该ActionForm的名称。该值必须与前面定义的某个ActionForm的name属性相对应,表示当调用该Action时,将由name所指定的ActionForm来传递请求参数。该属性为可选项,且没有默认值。 Path:指定的是提交请求时应用程序的相关路径,如上面代码中的/loginAction,在提交请求时就可以在地址栏中输入http://localhost:8080/longinAction.do来进行访问。一般该属性将以/开始,并且该属性值在Action中是必须的。 Scope:指的是表单的作用域,默认为Session。该值必须与name属性同时存在,因为只有指定了ActionForm后,表单作用域才有意义。 type:指的是该Action的实现类,扩展自org.apache.struts.action.Action类,通常情况下是用户自己写的Action。不过当使用Struts自带的Action时,该属性还需与其他一些属性配合使用,例如当type的值为org.apache.struts.actions.ForwardAction时,就需要和parameter参数配合使用。在许多情况下,只需要从一个JSP页面向另外一个JSP页面转发,中间并不需要真正用到一个Action类来处理请求。有时也许需要避免直接调用JSP,就可以使ForwardAction类来完成。只需在type属性中指定org.apache.struts.actions.ForwardAction,同时指定parameter参数为所要跳转到的JSP页面就可以了。 input:当遇到验证的错误时,控制器会跳转到input属性所指示的路径。
5 系统的实现与测试 5.1 运行环境及配置 为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下: 硬件环境: 服务器 CPU:PIII 500以上 ,内存:256M以上 客户机 CPU:P200MMX以上,内存:64M以上 软件环境: 客户端:WinXP, Win2000, Win9X,Internet Explorer(IE)等 服务器端:WinXP, Win2000, Win9X,Internet Information Server (IIS)5.0及其以上版本,IE等。 下面依次配置运行环境如下: JDK的安装 下载j2sdk 1.5.0的Windows版本的安装程序。 用鼠标左键双击setup.exe文件开始安装并选择安装路径C:\j2sdk。 默认一直单击“下一步”按钮,直至安装结束。 用鼠标右键单击“我的电脑”,选择“高级”→“环境变量”,新建环境变量,变量名为JAVA_HOME,变量值为C:\j2sdk。 Tomcat的安装 下载tomcat 5.0.28的Windows版本的安装程序。 用鼠标左键双击setup.exe文件开始安装并选择路径D:\tomcat5.0。 安装中提示用户名和密码,输入admin\admin,其他的默认一直单击“下一步”按钮,直至安装结束。 用鼠标右键单击“我的电脑”,选择“高级”→“环境变量”,新建环境变量,变量名为CATALINA_HOME,变量值为D:\tomcat5.0。 Struts框架的搭建 下载Struts 1.1的Windows版本的框架包。 解压该包,将该包中lib目录下Struts.jar文件复制到D:\Tomcat 5.0\common\lib目录下。 用鼠标右键单击“我的电脑”,选择“高级”→“环境变量”,编辑变量名为CLASSPATH环境变量,变量值为%CATALINA_HOME%\common\lib\struts.jar。 程序的安装 在Tomcat 5.0.28中配置程序路径。用文件编辑器打开Tomcat 5.0.28安装目录下的conf\server.xml文件。在文件的</Host>前一行添加如下代码: <Context path="/jsp" docBase="D:\class" debug="0" reloadable="true" crossContext="true"></Context>
5.2 软件测试 系统设计完成后,分别输入正确和错误的信息进行用户登录、课程申请、课程开发与管理以及讨论区和邮件等的测试,均达到了预期的目标。
6 总结 6.1 系统的特色与优点 本系统的设计采用了Struts框架技术,更好地扩展了MVC模式,使得系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。JSP和Java是较其他Web开发语言来说,安全性较高的技术,并且在系统设计过程中每个页面均采用了身份验证机制,具有较高的安全性。 该系统设计的目的是针对于非计算机专业教师开发网络课程用,系统中并没有涉及到任何填写代码与设计的问题,对教师的要求仅仅只是类似word编辑文章一般的简单操作。系统中,模块内容添加采用的HTML形式编辑,可以在编辑文章中添加flash、视频文件等以及对格式的各种控制。因此适合大多数教师使用。 6.2 系统不足及展望 通过三、四个以来的学习与开发,该系统的设计与开发终于接近尾声了。由于时间、经验以及本人对相关技术的理解和掌握程度所限,本网络课程开发与管理系统还存在着许多的不足之处。例如界面不够美观、代码不够简练等,在做系统设计时,由于Struts技术还处于学习状态,在程序的命名、程序结构的搭配以及各组件的调用方面显得有些杂乱。在系统功能方面,本系统所支持的功能较为简单,已有的部分功能也还不够完善,教师只能从已有的课程模块中进行,而不能自行添加新的模块,这在一定程度上限制了课程的开发空间。 本系统的研制可以运用到高校网络教学中,扩大学习范围和学生的学习积极性,具有广泛的推广前景,因此具有较强的实用性。鉴于以上的不足之处,该系统还应该在如下几个方面做进一步的探索: 扩充教师开发课程时可以自行添加模块的功能,此外还应该增加视频教程模块,这样更有助于学生的理解。 在模块内容添加的功能上,打好各模块的框架,教师不必自己考虑的各模块的布局等问题。 扩大本系统中允许教师上传的课件类型,不局限于ppt文件。 致 谢 在做毕业设计的这段期间,江有福老师给了我莫大的指导和帮助。从论文的选题、总体设计到课题的最终完成,江老师都付出了大量的精力。在课题的制作过程中,每个星期江老师都定期与我们进行讨论。在后期论文编写上,江老师论文从基本格式、排版布局到具体内容编写都进行了严格的把关。他的精心指导和建议使我受益非浅,每时每刻的督促使我不敢有丝毫的怠慢,对此我深表感谢! 其次,我要感谢信息学院的各位领导,提供给我们一个良好的毕业设计环境,让我们可以安心做设计。 此外,我还要感谢帮助过我的同学们,在我遇到技术难题时是他们给了我莫大的关心与帮助,顺利地闯过难关。 谢谢! 参考文献 [1]、邓子云、张赐编著,JSP网络编程从基础到实践,电子工业出版社,2005.9 [2]、阎毓杰著,JSP数据库编程入门,吉林电子出版社,2005 [3]、周绪、管丽娜、白海波编著,SQL Server2000中文版入门与提高,清华大学出版社,2001.5 [4]、JSP应用开发详解(第二版),电子工业出版社,2002.1 [5]、Ted Husted 著,Eric Liu(铁手) 译,Struts In Action(中文版), [6]、JAVA Servlet 开发与实例,[美]James Goodwill著,刑国庆等译,电子工业出版社,2001.8 [7]、曾华,论信息系统集成的实施,计算机应用,1997 [8]、Danny Ayers等著 戴英 张晓晖 王辉 译,JAVA数据编程指南,电子工业出版社,2002.1 [9]、Hervey M.Deitel ,Paul J.Deitel ,[美] ,java大学教程,北京:电子工业出版社 2002.6 [10]、武延军 黄飞跃 等编著,精通JSP编程技术,人民邮电出版社 [11]、苏祥 编写,JAVA分布式应用程序设计,北京希望出版社出版 [12]、陈海山主编,深入JAVA Servlet网络编程,清化大学出版社 [13]、周之英 编著,现代软件工程,科学出版社 [14]、张海潘 编著,软件工程,人民邮电出版社 [15]、黄梯云.管理信息系统.高等教育出版社,2002 [16]、宋波 董晓梅.Java应用设计.人民邮电出版社.2002.8 [17]、Phil Hanna.即时应用Java Servlets.人民邮电出版社,麦格劳-希尔国际公司.2001.4 [18]、施汝军.网站JSP后台解决方案.人民邮电出版社.2001.2 [19]、James Goodwill编著,周海方 译,Xlong 整理,精通Struts技术
首页 上一页 2 3 4 5 下一页 尾页 5/5/5