这里是用SSH+MYSQL做的
首先在mysql建立表user 字段有3个 id(int) 、username(varchar) 、password(varchar)其中id为主键。
新建web工程
切换到数据库透视图,在空白区域右键并选择new,如下图(我这里是已经建立好了好几个数据库连接了)
在第一个Driver template 里面选择mysql的那个
其他配置信息自己填写
有个ADD jars 选择mysql的数据库驱动包,点finish就可以了
右键你刚刚配置好的连接,选择open connection 可以打开连接,若未成功请根据错误仔细检查配置。
切换回j2ee透视图
右键你的工程,选择MyEclipse->add Struts capabilities…如图:
Struts用的版本是1.1,在Base package for new classess:里输入资源配置文件的路径.然后点进击Finish按钮
加入spring包,右键工程选择MyEclipse->add Spring capabilities...如图:
Spring版本我用2.0,注意所选jar包里面还有最后一个看到不的spring 2.0 web Labraries要选择中,在JAR Library Insatallation 里选择Library存放的路径,路径选择图上的这个为佳,然后点击Next。
上图是Spring的配置文件存放径。点击Finish。之后会遇到有相同的library提示,选择keep existing。
把Hibernate相关的jar包等加载进来 MyEclipse->add Hibernate capabilities...如图:
我用的是3.0 ,点击Next。
上面所示为Hibernate用的是Spring 的配置文件,因和Spring结合在一起,所以不用Hibernate.cfg.xml,选择第2个applicationContext.xml,点击Next
为SessionFactory ID取名:sessionFactory点击Next。
Bean ID 输入dataSource ,DB Driver 选择你刚刚配置的,点击next
这里我们把勾勾掉,我们不需要创建这个,点击Finish就可以了。
在web.xml文件里面把spring的配置文件加载进来, 要注意spring配置文件的放置路径
再把struts标签加进来,这里要注意路径了,在jsp页面上使用的时候也要注意路径
在工程下建立一些包备用,如下图:
然后打开MyEclipse Database Explorer(数据库透视图),打开刚才连接的数据库,用鼠标右击user表,选择Hibernate Reverse Engineering,打开一对话框如下:
要注意最上面src和package的选择,点击next。
选择increment即可,finish完成。
找到刚生成的hbm.xml把catalog删除掉,否则会报错(oracle数据库不要删除)
找到struts的配置文件,选择design视图,右键选择new —>formbean action and jsp:
选择NEXT
我用的Superclass 是第2个DispatchAction,个人比较喜欢它,最下面的Parameter输入status(这个随你数入什么,一会要对应到就行),点击finish完成。
接下来我们来写dao借口,在dao包下新建interface,代码如下:
在dao包下的impl包下新建类实现这个接口
注意这里要继承HibernateDaoSupport和实现刚刚的接口。
在service包下创建接口IUserService,里面的方法和dao的一样,复制过来
在service包下的impl建立类实现这个接口,并且将IUserDao接口作为它的一个属性(要有setter、getter方法),这里是通过配置文件将它注入进来,一会spring配置文件就会体现出来,代码如下。
打开struts的配置文件,在 </action-mappings>下加入
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
并在action里面加入forward元素
这个配置文件完成,如下:
在webroot下建立test.jsp success.jsp fail.jsp
success.jsp在body加入
<h1>
struts+spring+hibernate练习
</h1>
<br />
<h2>
恭喜,插入用户成功!!!
</h2>
就可以,而fail.jsp把 “恭喜,插入用户成功!!!”改成“对不起,插入失败!!”。
test.jsp的代码:
打开类
private String username;
private String password;
打开UserAction类,将service接口做为它的一个属性,并生成getter和setter方法。
属性是 private IUserService iuserservice;
代码如下:
下面我们来配置spring
运行工程测试,注意有些错误是jar包引起的,所以要加入LOG4J 文件,方便看到错误好方便去网上找到答案。
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
这个错误是asm-2.23.jar导致的(删除),lib下只需要一个asm.jar,多个会冲突
我少了这个commons-pool.jar 包报创建sessionFactory出错,加上去就好了
在输入框里面输入 ding/123
提示成功,一看数据库也有数据了
OK啦