struts和spring结合的问题(在线等~~)

06-04-25 kusix



小弟我最近才开始学习spring,试着把struts和spring结合起来的时候总是出问题,大家给看看,只贴出关键地方的配置

struts-config.xml:

<action-mappings >
...
<action
attribute="loginForm"
input="/index.jsp"
name="loginForm"
path="/login"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward
name="loginSuccess"
path="/protected/main.jsp"
redirect="true" />
</action>
...
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>

</struts-config>

applicationContext.xml:

<beans>
<bean name="/login" class="com.kusix.struts.action.LoginAction" singleton="false"></bean>
</beans>

当打开主页的时候的tomcat logs:

2006-4-24 13:46:40 org.apache.catalina.core.ApplicationContext log
严重: action: null
java.lang.ClassCastException: org.springframework.web.struts.ContextLoaderPlugIn
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:846)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
...
2006-4-24 13:46:40 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet action as unavailable
2006-4-24 13:46:40 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /StrutsWeb threw load() exception
javax.servlet.UnavailableException
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:880)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)

如果把plug-in去掉,在web.xml中用ContextLoaderListener初始化spring倒是可以,但是和struts就结合不起来了。

极度郁闷中,大家99我吧!



banq
2006-04-27 17:47

》如果把plug-in去掉,在web.xml中用ContextLoaderListener初始化spring倒是可以,但是和struts就结合不起来了。

spring缺省是用ContextLoaderListener,要用在plugn-in中,你可以自己写一个struts plug-in.

jf可以的,提供上述两种方式。