注册 登录
编程论坛 J2EE论坛

无法找到Servlet action

elemy21 发布于 2008-05-29 08:55, 1428 次点击
struts-config.xml

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="successForm" type="org.elemy.managerbook.struts.form.SuccessForm" />
    <form-bean name="loginForm" type="org.elemy.managerbook.struts.form.LoginForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="successForm"
      input="/index.jsp"
      name="successForm"
      path="/success"
      scope="request">
      <forward name="success" path="/success.jsp"></forward>
      <forward name="error" path="/error.jsp"></forward>
     </action>
    <action
      attribute="loginForm"
      input="/index.jsp"
      name="loginForm"
      path="/login"
      scope="request">
      <forward name="login" path="/jsp/login.jsp"></forward>
      <forward name="error" path="/error.jsp"></forward>
     </action>

  </action-mappings>
  <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>

  <message-resources parameter="org.elemy.managerbook.struts.ApplicationResources" />
  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
  </plug-in>
</struts-config>
当我把<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
  </plug-in>
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>
去掉的话,就会正常执行,
大家帮帮忙
1 回复
#2
菜鸟也疯狂2008-05-30 11:33
你是想整合struts和spring吧。spring为struts提供了三种支持方式:使用spring的ActionSupport;使用spring的DelegatingRequestProcessor;还有就是全权委托的方式。
   你用的是第二种,这样你必须要让你的Action继承org.springframework.web.struts.DelegatingRequestProcessor。而且你的<action-mapping>里面没有映射到你要创建的那个Action,这是有问题的。增加一个type="你的Action"。
   建议使用第三种:全权委托。你只需要在配<action-mapping>的时候让type="org.springframework.web.struts.DelegatingActionProxy",这样你就可以在spring里完成你的Action创建和依赖注入。
1