原创 手把手教你在Eclipse中配置开发Struts(一)收藏

作者:baggio785

来源:http://blog.csdn.net/baggio785

原文地址:http://blog.csdn.net/baggio785/archive/2006/03/10/620535.aspx(转载请注明出处)

日期:2006-3-9

关键词:Eclipse,MyEclipse,Struts,Java

前言

本文根据实例详细介绍了如果在Eclipse中配置并开发Struts。此前在网上也看到过不少此类文章,而且还是有不少网友问此类问题。所以想根据自己的实际经验,并结合例子写一篇详细的文章,一个是方便大家,再一个也是检验一下自己的知识。

本文是偶的一些拙见,有不正确的地方请大家多多评论指正。

 

开发环境

JDK1_4_03,点击下载
tomcat5.0.28,点击下载
Eclipse3.1.2,点击下载下载中文包,中文包是3.1.1,但是也适用3.1.2
MyEcilpse4.1,点击下载MyEcilpse4.1及破解补丁
TomcatPlugin插件,点击下载TomcatPlugin插件
更多Eclipse插件下载,点击进入

 

需求

本文所要结合的Struts应用实例为用户登录(logon),用户登录(logon)的需求为:

1  接收用户名和密码,跳转到成功页面,并提示“<username>欢迎您登录!”。
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范围内,并把请求转发到视图组件,并在视图组件中通过<html:errors/>标签,展示request范围内的ActionErrors对象所包含的错误信息;如果通过ActionForm Bean验证,则logonForm返回的ActionErrors对象为NULL,Struts框架将表单数据提交到控制器组件logonAction,控制器对表单数据进行业务逻辑验证,如果logonAction验证未通过,则创建包含错误信息的ActionMessages对象,并通过saveErrors方法把ActionMessages对象保存到request范围内,并把请求转发到视图组件,并在视图组件中通过<html:errors/>标签,展示request范围内的ActionErrors对象所包含的错误信息;如果logonAction验证通过,则Struts框架访问模型组件,然后Struts框架会返回ActionFoward对象,并根据Struts-config.xml文件的配置情况,决定将ActionFoward对象包含的转发信息传递到那一个视图组件。

 

部署Struts框架

Struts的工作机制大家都有了一定的了解了,现在介绍如何在Eclipse中部署Struts框架。

本文的环境前文已经提到,Eclipse以及其插件MyEclipse和TomcatPlugin的安装本文不介绍,请参考其他文章。关于Eclipse的相关文章请看:http://blog.csdn.net/baggio785/category/148174.aspx

1    新建一个项目

1)  选择Java >> Tomcat Project,下一步,如图一


(图一)

2)填写项目名称,如果不采用项目所在目录的缺省值,请修改,点击完成。如图二


(图二)

2    创建Struts框架

1)    右键选择项目 >> 新建 >> 其他 >> MyEclipse >> Web-Struts >> Struts 1.2 >> Struts 1.2 Form,Action & JSP。如图三。如果这一步出现错误,本文不做描述,请参考我的另一边文章-MyEclipse中创建Struts出现错误的解决办法


(图三)

2)    配置Struts ActionForm  

因为本文的Struts应用实例为用户登录,所以Use case选用logon。Superclass选择如图所示,其他默认。如图四


(图四)

接下来填写Optional Details,输入Form表单项,本例为用户名(username)和密码(userpassword)。点击Add,输入请参考图五、图六。


(图五)


(图六)

输后完毕,Optional Details的Form Properties中会显示。如图七


(图七)

Methods选项卡的设置我们采用默认设置,不去修改。

点击JSP选项卡,将“Create JSP form”选项的勾选中,采用默认设置“/form/logon.jsp”。如图八


(图八)

3)    配置Struts Action

以上步骤完成了对Form的配置,下面配置Action。

在图八中点击下一步,采用默认即可。如图九


(图九)

Parameter和Methods选项也采用默认。

点击Forwards选项卡,点击Add,配置成功页面信息。本文选取根目录的success.jsp作为成功页面,Name为logon_sc。如图十


(图十)

输后完毕,Optional Details的Forwards中会显示。如图十一


(图十一)

点击完成。

Struts已经配置完毕。看看Eclipse中,项目中多了一些东东,例如struts相关的jar,以及struts-config.xml和tld文件。struts-config.xml的代码如下:

代码清单一(struts-config.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>

<data-sources />

<form-beans >

<!--这里是ActionForm的配置信息,ActionForm Bean的name为logonForm,对应的类为com.mystruts.struts.form.LogonForm-->

<form-bean name="logonForm" type="com.mystruts.struts.form.LogonForm" />

</form-beans>

<global-exceptions />

<global-forwards />

<action-mappings >

<!--这里是Action组件的配置信息,描述了从特定的请求路径到响应的Action的映射-->

<!--attribute设置Action关联的ActionForm在request或者session范围内的key.就是在request或者session共享内的名称-->

<!--input指定包含表单的URL,当表单验证失败的时候发送的URL-->

<!--name指定和该Action关联的Form名字.该名字必须是在form-bean中定义过的,可写可不写-->

<!--path指定请求访问Action的路径,必须以/开头-->

<!--scope指定Form的存在范围,例如request-->

<!--type指定Action组件对应的类-->

<action

attribute="logonForm"

input="/form/logon.jsp"

name="logonForm"

path="/logon"

scope="request"

type="com.mystruts.struts.action.LogonAction">

<!--这里是forward,即局部转发配置信息,登录成功后转向/success.jsp,name为logon_sc-->

<forward

name="logon_sc"

path="/success.jsp"

/>

</action>

</action-mappings>

<!--这里是消息资源文件的配置信息,用来配置Resource Bundle.用于存放本地文本消息文件。parameter指定文件名,不包含后缀名。-->

<message-resources parameter="com.mystruts.struts.ApplicationResources" />

</struts-config>

手把手教你在Eclipse中配置并开发Struts(二)

发表于 @ 2006年03月10日 09:57:00|评论(loading...)

新一篇: 手把手教你在Eclipse中配置并开发Struts(二) | 旧一篇: 追求代码质量: 不要被覆盖报告所迷惑

用户操作
[即时聊天] [发私信] [加为好友]
baggio785
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
baggio785的公告
育婴博客

文章分类
收藏
JAVA站点
BEA dev2dev 在线
IBM DeveloperWorks
Java examples
Java World
JAVA在线API(J2SE v1.4.2)
Java学习源代码检索中心
JAVA家
Java开发者
JAVA开源大全
JAVA相关免费资源集锦
Java研究组织-JR
Java视线论坛
JAVA阵线联盟
Matrix 与JAVA共舞
O'Reilly CodeZoo
Sun Developer Network
SUN技术社区
中国JSP技术网站
爪哇流氓
Struts
Apache Struts Project
数据库
数据库专研
友情链接
baggio785在donews的blog(RSS)
Booca.com
srx的BLOG
全面的BLOG
大巨的Blog
天空之城
摄影天地会
暴暴狼的blog
李现辉的blog
生活网络信息中心
竹笋炒肉
育婴博客网
存档
软件项目交易
Csdn Blog version 3.1a
Copyright © baggio785