日期:2014-05-20  浏览次数:20715 次

spring+struts配了连接池后找不到action
我配了dataSource的bean以后就出现下面的情况。tomcat没反应。
不配就很正常。
下面是我dataSource的bean的源码。

…………
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="org.gjt.mm.mysql.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
…………
之后就发生下面的异常。

HTTP Status 404 - Servlet action is not available

--------------------------------------------

type Status report

message Servlet action is not available

description The requested resource (Servlet action is not available) is not available.

我想了很久想不清楚,哪位兄弟指点一下。


------解决方案--------------------
这个在 struts配置好插件后, 然后 在spring配置中 配置 好 Action和 struts中的对应,就可以了,
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
<action-mappings >
<action
path="/person"
type="org.springframework.web.struts.DelegatingActionProxy"
validate="false">
</action>

spring配置
<bean name="/person" class="net.birds.hib.control.PersonAction"></bean>
------解决方案--------------------
探讨
这个我知道。我的配置没有错。没加dataSource之前就很正常,struts和spring的整合完全没问题。只是加了这个bean以后,还没用到就找不到action了。

------解决方案--------------------
感觉你错误信息不全,
你去c:\Tomcat x.0\logs下面去找最近的log文件打开看是什么错误.
------解决方案--------------------
使用log4j输出你信息,然后贴出来
------解决方案--------------------
DAO没有抛出的异常有吗?



或者使用Spring提供的JNDI试试,apache的据说不太好
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jndiname</value>
</property>
</bean>