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>