本文根据实例详细介绍了如果在Eclipse中配置并开发Struts。此前在网上也看到过不少此类文章,而且还是有不少网友问此类问题。所以想根据自己的实际经验,并结合例子写一篇详细的文章,一个是方便大家,再一个也是检验一下自己的知识。
AD:
开发环境
JDK1_4_03
tomcat5.0.28
Eclipse3.1.2
MyEcilpse4.1
TomcatPlugin插件
更多Eclipse插件下载
需求
本文所要结合的Struts应用实例为用户登录(logon),用户登录(logon)的需求为:
1 接收用户名和密码,跳转到成功页面,并提示“欢迎您登录!”。
2 如果用户名为空就提交表单,则提示“请输入用户名!”。
3 如果密码为空就提交表单,则提示“请输入密码!”。
4 如果输入非法用户名,则提示“请输入正确的用户名!”。
5 通过模型组件,保存登录信息。
登录应用实例的框架介绍
用户登录(logon)应用由以下模块组成:
1 模型(M):模型为一个JAVABEAN组件-SaveLogon,包含username(用户名)和userpassword(密码)两个属性,提供读取和设置属性的方法get/set,以及保存登录信息的方法saveToDb()。saveToDb的任务是把登录信息保存到持久化存储系统(例如数据库)。
2 视图(V):视图包括两个JSP文件,以及一个ActionForm Bean-logonForm。JSP文件分别为:logon.jsp、success.jsp。logon.jsp负责接受用户输入的用户名和密码以及显示出错信息,success.jsp负责显示登录成功信息。
3 控制器(C):控制器为Action类logonAction。对数据进行业务逻辑验证、调用模型组件保存登录信息、选择视图组件返回给用户。
Struts的工作机制
用户在视图组件(logon.jsp)中输入用户名和密码并提交HTML表单,Struts框架会先读取WEB.XML中关于servlet的配置,然后自动将表单数据封装到ActionForm Bean中,在本例中是logonForm。logonForm会对提交的数据进行数据合法性验证(例如最短长度、是否包含非法字符等)。如果ActionForm Bean验证未通过,则logonForm返回ActionErrors对象,Struts框架会把ActionErrors对象保存在request范围内,并把请求转发到视图组件,并在视图组件中通过﹤?xml:namespace prefix = html />标签,展示request范围内的ActionErrors对象所包含的错误信息;如果通过ActionForm Bean验证,则logonForm返回的ActionErrors对象为NULL,Struts框架将表单数据提交到控制器组件logonAction,控制器对表单数据进行业务逻辑验证,如果logonAction验证未通过,则创建包含错误信息的ActionMessages对象,并通过saveErrors方法把ActionMessages对象保存到request范围内,并把请求转发到视图组件,并在视图组件中通过标签,展示request范围内的ActionErrors对象所包含的错误信息;如果logonAction验证通过,则Struts框架访问模型组件,然后Struts框架会返回ActionFoward对象,并根据Struts-config.xml文件的配置情况,决定将ActionFoward对象包含的转发信息传递到那一个视图组件。
部署Struts框架
Struts的工作机制大家都有了一定的了解了,现在介绍如何在Eclipse中部署Struts框架。
本文的环境前文已经提到,Eclipse以及其插件MyEclipse和TomcatPlugin的安装本文不介绍。
1 新建一个项目
1) 选择Java >> Tomcat Project,下一步,如图一
(图一)
2)填写项目名称,如果不采用项目所在目录的缺省值,请修改,点击完成。如图二
(图二)