1,java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 解决方法
问题的原因是struts里面的 antlr-2.7.2.jar和hibernate 里面的anltr-2.7.6.jar。将anltr-2.7.2.jar包删除即可。
但如果导入的是myeclipse包就需要将 antlr-2.7.2.jar 换成hibernate 里面的anltr-2.7.6.jar。并将名字改为 antlr-2.7.2.jar
2,Can't load IA 64-bit .dll on a AMD 64-bit platform!的解决办法
更换成64bit的Tomcat安装包,或者32-bit/64-bit集合体的Tomcat安装包。
3,
①【工程名\WebRoot\WEB-INF\web.xml】添加以下代码
<!--Spring监听器 -->
<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--实现监听器 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
②往路径【工程名\WebRoot\WEB-INF\lib】添加【struts2-spring-plugin-X.X.X.X.jar】,缺一不可。
缺①不缺②的时候,发布工程会报【NullPointerException】的错。
缺②不缺①的时候,跳转到action的时候,页面报【NullPointerException】的错。
①、②都有的时候,工程发布成功,进项目的首页却是404,这是什么原因呢?
【struts2-spring-plugin-X.X.X.X.jar】版本的缘故,我用【2.3.20】不好使,换了【2.3.4.1】就OK。注意一下!!!
4,【工程名\WebRoot\WEB-INF\applicationContext.xml】添加以下代码
<!-- DAO注入sessionFactory -->
<!--LoginDAOImpl 需要【extends HibernateDaoSupport】 -->
<bean id="loginD" class="com.dao.LoginDAOImpl">
<!-- 注入持久化操作所需的SessionFactory -->
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--Service注入 dao id为下面的 ref class为 service实现类 name="service实现类中声明的 dao" -->
<bean id="loginS" class="com.service.LoginServiceImpl">
<property name="logindao" ref="loginD" />
</bean>
<!-- Action注入 service id="" 注入 class="action路径" name="loginservice"与LoginAction中声明的要保持一致 ref随便取 -->
<bean id="com.action.LoginAction" class="com.action.LoginAction" scope="prototype">
<property name="loginService" ref="loginS" />
</bean>