在Myeclipse10环境下,Struts2.1、Spring3.0、Hibernate3.3框架整合再叙

参考文献:

[1] http://blog.sina.com.cn/s/blog_6ffd47bf0100rm1p.html

[2] http://www.qqread.com/java/2008/11/r437179.html

[3] http://zhidao.baidu.com/question/88668316.html?fr=qrl&index=0

[4] http://zhidao.baidu.com/question/549018434.html?push=related&group=0

[5] http://bbs.csdn.net/topics/380049531

[6] http://yin123.blog.51cto.com/882581/389682

文献1中在Web project中添加Struts2.1、Spring3.0、Hibernate3.3都有截图记录,这里就不在赘述。后面部分还有一些挖掘空间。

这里就说下我遇到的问题吧

1、 Access数据库可以连接,读取,但是Hibernate反向工程一直有一个“Generating Artifacts ERROR”错误,看了一些说法,说JDBC驱动太老什么的,我用了最新的JDK1.7的驱动也不行。还是老老实实用标准一点的数据库吧,我用了MySQL,一次就成功了。顺便说下,数据库就照着文献1的结构建,特别是表名“users”,不然后面代码有的改了。。。

2、文献1后面就没截图了,我也不知道到底目录结构是咋样的。只能看着Java文件里的包名自己摸索,现在附上src的结构图。

3、structs.xml映射机制,点击JSP页面的按钮后,就会调用UserAction.java的函数,根据函数的返回值在structs.xml搜索该对应的操作(到其他的JSP页面还是其他UsersAction的操作)。

4、 JSP和Structs2在Myeclipse中有点bug,用它validate就会指出错误,需要把自动validate关掉。而且,JSP标签s:textfield 和 s:form不能识别,需要在文件头上加上:

<%@ taglib uri="/struts-tags" prefix="s"%>

5、最大的问题就是strut2类库中包含antlr-2.7.2.jar而hibernate使用antlr-2.7.6.jar而引起的异常java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I ,我看到所有的网页都说,把antlr-2.7.2.jar删掉。幸好我留了个备份,删掉以后就会,如果你把class文件删掉,就不会有编译结果,但是还不报错。乱删之后直接就提示编译错误了。我的方法是把antlr-2.7.6.jar该名成antlr-2.7.2.jar,再去替换原来antlr-2.7.2.jar的包。而且注意antlr-2.7.2.jar还有隐藏在其它Jar包里的,必须用winrar打开,也把antlr-2.7.2.jar替换掉。可以用com.genuitec.eclipse.lib.struts2和com.genuitec.eclipse.cross.easystruts.eclipse作为关键字去Myeclipse的安装文件夹搜索。

 附上源代码:http://pan.baidu.com/share/link?shareid=451955&uk=654753681

原文地址:https://www.cnblogs.com/kind064100611/p/3076921.html