用户操作
[即时聊天] [发私信] [加为好友]
baggio785
baggio785的公告
育婴博客

最近评论
KiTong:ONE. DataBase

Please use MySQL to Create DataBase like the language below

/*TabelName:inoutlist, Record the pass in and out of the storage*/
CREATE TABLE `inoutlist` (
orz_ORZ_orz:学习
xlsoft1983:InstallShield 2009 & InstallAnywhere 2008
—— 双重惊喜,火热放送!
为庆祝最新版InstallShield 2009上市,答谢广大新老用户的支持与厚爱,从即日起,上海世全软件(XLsoft)举办InstallShield 2009优惠活动!数量有限,售完为止!
销售热线:021-62128912/010-6……
wangluoxiaochong:感谢您的文章,解决了我的问题。
wuxiaolong039:我的邮箱是wuxiaolong_19@yahoo.com.cn
谢谢你的分享
文章分类
收藏
相册
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
生活网络信息中心
竹笋炒肉
育婴博客网
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

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

新一篇: 手把手教你在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(二) | 旧一篇: 追求代码质量: 不要被覆盖报告所迷惑

评论

#whistle 发表于2006-03-21 23:08:00  IP: 211.140.198.*
我怎么新建一个项目时没有Tomcat Project这一选项呢?????谢谢回答
#baggio785 发表于2006-03-22 09:46:00  IP: 60.191.55.*
有没有安装TomcatPlugin插件呢?
#zhaoym 发表于2006-03-30 21:11:00  IP: 202.199.108.*
baggio785 谢谢您的专栏,写的太好了。我是一名初学者,您有TomcatPlugin插件吗?能给我传一个吗?
zhaoym7910@163com,十分感谢!!
#baggio785 发表于2006-03-30 22:19:00  IP: 220.184.224.*
TomcatPlugin插件已经发到你的信箱了
#guiguzi629 发表于2006-03-30 23:18:00  IP: 219.140.88.*
恩 太感谢了 呵呵! 我一直在寻求着片文章!
#zhaoym 发表于2006-04-05 11:56:00  IP: 202.199.108.*
baggio785太谢谢您了。您给我发的TomcatPlugin插件,我没有收到,您能给我再重我传一个吗?
zhaoym7910@126.com,十分感谢!!
#baggio785 发表于2006-04-05 12:17:00  IP: 60.191.55.*
zhaoym,再去看看吧
#teneyuan 发表于2006-04-10 20:52:00  IP: 220.169.30.*
为什么提示在superclass找不到里找不到
org.apache.struts.action.Action
选择这项,会提示错误
#baggio785 发表于2006-04-11 00:06:00  IP: 220.184.224.*
teneyuan,请检查Struts包是否安装
#奇迹 发表于2006-04-23 22:24:00  IP: 218.13.208.*
我想要你的Tomcat插件和你前面写的Eclipse中用MyEclipse进行开发的图片,我的邮箱:wzx_cyx@163.com,谢谢!
#奇迹 发表于2006-04-23 22:41:00  IP: 218.13.208.*
为什么的Eclipse新建MyEclipse项中没发现有新建Struts这一项,是不是,还要别外安装些什么插啊?
#baggio785 发表于2006-04-24 11:00:00  IP: 60.191.55.*
奇迹:
1 Tomcat插件发送到你的信箱了
2 Eclipse中用MyEclipse进行开发的图片没有了,如果不清楚的地方咱们再交流
3 为什么的Eclipse新建MyEclipse项中没发现有新建Struts这一项?新建-其他-MyEclipse-Webstruts,就在这里啊
#奇迹 发表于2006-04-24 18:55:00  IP: 218.13.209.*
谢谢,baggio785,Tomcat插件已经收到了,很想与你交流,我的QQ:33267828,很多问题想与你交流
#Boyce 发表于2006-04-25 22:45:00  IP: 60.176.164.*
写得真不错..学习中..希望baggio785能指点一二我的qq是2770967
#baggio785 发表于2006-04-26 12:24:00  IP: 60.191.55.*
奇迹,Boyce,我很少上QQ,已经在QQ上给你们留下我的msn了,msn交流吧
#奇迹 发表于2006-04-26 20:54:00  IP: 219.131.229.*
baggio785你好,我好像没收到你信息能再发一次吗?
#光明牌砒霜 发表于2006-04-28 21:13:00  IP: 61.236.12.*
看到题目非常不错,希望有收获,先感谢了。
#pope 发表于2006-05-03 22:36:00  IP: 59.52.164.*
为什么提示在superclass找不到里找不到
org.apache.struts.action.Action
选择这项,会提示错误
myeclipse 不是自带了STRUTS么,为什么你在回答说是没有STRUTS包是否安装?

怎么检查,能否详细些。

如果有什么参考资料请发到有邮箱
pope945@gmail.com
#baggio785 发表于2006-05-03 23:29:00  IP: 60.176.191.*
请问pope ,是在创建的时候提示错误还是java文件调试出错?


MyEclipse会把Struts包部署到项目中的
#to baggio785 发表于2006-05-04 11:40:00  IP: 59.52.160.*
我在Myeclipse社区找到了答案,

重新建一个空的工作空间,然后就可以了

但是,不能理解为什么这样就可以?

希望有人能帮 我解决一下难题目
#pope 发表于2006-05-04 11:42:00  IP: 59.52.160.*
上面的to baggio785就是我

我还以为那是标题栏呢,大意了
#baggio785 发表于2006-05-04 13:03:00  IP: 60.176.191.*
这个就有点怪了

是否Add WebProject Capabilities,以及Add Struts Capabilities
#pope 发表于2006-05-04 20:11:00  IP: 59.52.160.*
我把图贴到了我的BLOG 了

希望你能明白我说的情况


http://blog.csdn.net/pope945/archive/2006/05/04/708389.aspx
#pope 发表于2006-05-04 22:00:00  IP: 59.52.160.*
怎么我点了浏览后上传不了

CSDN的图片上传这么麻烦啊
#baggio785 发表于2006-05-04 20:12:00  IP: 60.176.191.*
你的图片没有上传哦
#pope 发表于2006-05-04 20:19:00  IP: 59.52.160.*
在这里上传不了图片吧?
#baggio785 发表于2006-05-04 17:59:00  IP: 60.176.191.*
能说一下是具体哪一步出错的么?方便的话贴个图看看,大家讨论讨论~
#pope 发表于2006-05-04 22:26:00  IP: 59.52.160.*
现在应该可以了吧,我上传到CSDN的相册了

这次可以见了

不易啊
#baggio785 发表于2006-05-04 23:17:00  IP: 60.176.191.*
你最开始创建Struts时,选择的是Struts1.2,那为什么在创建Action的时候是1.1呢?

你在Add Struts Capabilities选择的是Struts的什么版本?
#baggio785 发表于2006-05-04 21:23:00  IP: 60.176.191.*
是你的blog没上传图片阿
http://blog.csdn.net/pope945/archive/2006/05/04/708389.aspx
图片还都是你的本地路径
#pope 发表于2006-05-04 21:33:00  IP: 59.52.160.*
啊?

不是吧?


怎么我能看到?
#pope 发表于2006-05-04 16:20:00  IP: 59.52.160.*
其他步骤是 一样的,后面我按照他说的做就可以


但是他也没有说为什么

这个一直困饶我
#pope 发表于2006-05-05 10:09:00  IP: 59.52.161.*
后面那张图片是别人截的,我开始创建的STRUTS是1.2,后面的也是创建的ACTION也是1.2的,因为我的问题搞好了,所以自己就没有截图。

你看的还是挺仔细的
#baggio785 发表于2006-05-05 15:25:00  IP: 60.176.188.*
有错误的那个工作空间还在么?
比较一下两个工作空间的struts.jar
#zhangfeng 发表于2006-05-07 09:45:00  IP: 222.133.16.*
我用的是eclipse3.1.2-sdk-win 怎么才能变成中文呢?谁能提供这方面的插件?谢谢!网上交流QQ:120309355
#baggio785 发表于2006-05-07 11:20:00  IP: 60.176.188.*
请参考http://blog.csdn.net/baggio785/archive/2005/09/21/486483.aspx
#hongfu 发表于2006-05-19 18:53:00  IP: 219.136.132.*
我把已经可以运行的Struts项目,除去.class文件,然后分类添加到MyEclipse的一个新建的项目中,代码全部可以显示,但deploy时,却没有将.java文件生成class文件。由于是自动编译的,不知道如何才能将修改后的.java文件重新编译,帮忙了。
#baggio785 发表于2006-05-20 18:22:00  IP: 60.176.189.*
我记得好像在Eclipse中设置类文件的源文件路径和class路径,你试试吧
#atom 发表于2006-06-18 23:24:00  IP: 60.7.81.*
中文包是3.1.1下不了.能否给我也发一个.谢谢.
honglei225@gmail.com
#matrix1984 发表于2007-03-08 15:25:11  IP: 192.168.50.*
你好,你的文章写的不错!
我是新手,问个问题啊: 在最后运行的时候,发现你IE上写的是,http://localhost:8090/mystruts/logon.do, 这mystruts什么意思?工程名?,logon.do又是什么?不是logn.jsp吗?

email:matrix2005@tom.com
msn:sujl1984@hotmail.com
qq:362563734
希望与你交流!
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © baggio785