重现手把手struts+hibernate图文教程
重现手把手struts+hibernate图文
Ps:刚入门后,N久没做了,今天一个最简单的struts搭起来都报错误.网上找的教程要不是不够详细就是年久失修.(记得去年还看到的一个图文教程,算是详细的了,现在图片是打不开了,郁闷中自己参考着)摸索半天做了这个教程.至今原理还是不太明白的,所以其中可能有错误,望不吝批证.后面还要加进spring,都是独立的,
以便未来还能找到这些东东.
环境:myeclipse 5.5 ,
mysql5,
jdk1.5,
struts1.2,
validator1.1.3,
hibernate3.1;
一. 开始:建立web工程
选择新建àweb projectànext,
Project name 填上,选择其中的java EE 5.0,Finish
生成项目结构如下图:
二. 加入struts元素.如图示:
选择struts1.2,第二个红色框改成需要的名字,这里不修改了.finish
生成结构如下:
三. 建立action, jsp , form
双击struts-config.xml,右键点击选择newà form,action, jsp
填写use case,superclass选择org.apache.struts.validator.ValidatorForm,这是因为后面要加上validator 验证器,form properties中add加入username,password字段
在optional details中选择jsp选项卡,勾选create jsp form, Next
在optional details中选forward选项.add两个转向页面,如图: Finish
生成结构如下图:
这里有个小问题,打开/form/login.jsp页面,发现password这个项是在username的上面,换一下. 再新建jsp页面/form/success.jsp,这里我直接copy一下login.jsp改下名字和内容就可以了.
四. 在LoginAction.java中加入代码
String us=loginForm.getUsername();
if(us==null||us.length()<1)
{
return mapping.findForward("failed");
}
return mapping.findForward("success");
当username为空时,会返回输入页面,相当于没有跳转.这是为加入validator验证作准备.
这里struts建立已经完成.测试一下,
跳转:
你可以测试下不输入username的时候跳不跳,我敢肯定,跳了就见鬼了.: )
五. 加入validator验证器
1.Copy WEB-IN目录下的validator-rules.xml改名成validation.xml
2,打开,删掉
3.在
这里只较验username是否为空,其他类似,自己加吧.
注意:其中的name要和struts-config.xml中的formbean的name一致,
property则是要较验字段的名字
结果如图所示:
4.在资源文件ApplicationResources.properties中加入username-null字段和较验规则
5.new一个plugin
两种方法要么自己在struts-config.xml中手写
要么就新建,记不住就只好新建了.
注意框住的地方,你要写错了,我的罪过可大了.
下一步还有个add,也要注意,好像property不能改: pathnames Valu: /WEB-INF/validator-rules.xml,/WEB-INF/validation.xml
Finish.
6.在login.jsp中加入代码结果成:差异自己比较…
password :
测试:
六.终于该加hibernate了
1.加之前需要建立一个数据库连接.如图示:其中driver jars选择你的jdbc连接包
建表语句
select
`id`,
`username`,
`password`,
`age`
from
`test`.`myuser2`
直接finish
2.加入hibernate元素.
框住的选项是复制包到项目下,最好选上.
.两次next后,添加刚才建立的连接,在db driver中选择,next
.这里在javapackage中new一个
Finished,结果如下图,添加了很多包.
3.在数据库连接中选择建立的表,右击à选择hibernate reverse engineering
Java src folder中选择项目下的src文件夹