SSH开发中的Servlet action is not available异常备忘录:
以下两种是我的SSH开发中的集成模式
1. 查看struts-config.xml中是否有以下配置:
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>
<message-resources parameter="com.oaweb.struts.ApplicationResources" />
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
2. 查看web.xml中否有如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
以上由于是手动设置,所以出现异常的可能性很大
3. 查看applicationContext.xml中的mappingResources是否配置正确
正确的应为:
<property name="mappingResources">
<list>
<value>com/oaweb/bo/Father.hbm.xml</value>
<value>com/oaweb/bo/Child.hbm.xml</value>
<value>com/oaweb/bo/Car.hbm.xml</value>
<value>com/oaweb/bo/Userinfo.hbm.xml</value>
<value>com/oaweb/bo/Department.hbm.xml</value>
<value>com/oaweb/bo/Duty.hbm.xml</value>
<value>com/oaweb/bo/Role.hbm.xml</value>
<value>com/oaweb/bo/Dimission.hbm.xml</value>
<value>com/oaweb/bo/Retireduser.hbm.xml</value>
</list>
</property>
4. 由于struts中的action交由spring管理,在applicationContext.xml中应该配置action
5. 查看数据库驱动包和spring.jar是否加载到项目构建路径中.
6. 前台页面form中的的action路径是否和struts-config.xml一致