免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3238 | 回复: 4
打印 上一主题 下一主题

请教一个spring整合struts的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-28 22:52 |只看该作者 |倒序浏览
不知道大家在整合spring和struts是否遇到"javax.servlet.ServletException: No bean named '/springlogin' is defined","org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '/springlogin' is defined"的问题?这个应该如何解决呢?先谢谢大家
相关文件如下:
struts-config.xml

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
  3. <struts-config>
  4.         <form-beans>
  5.                 <form-bean name="HelloForm" type="org.yzq.HelloForm"/>
  6.                 <form-bean name="LogonForm" type="org.yzq.LogonForm"/>
  7.                 <form-bean name="SignForm" type="org.yzq.SignForm"/>

  8.                 <form-bean name="springloginForm" type="org.apache.struts.validator.DynaValidatorForm">
  9.                         <form-property name="username" type="java.lang.String"/>
  10.                         <form-property name="userpasswd" type="java.lang.String"/>
  11.                 </form-bean>
  12.         </form-beans>
  13.         <global-forwards>
  14.         </global-forwards>
  15.         <action-mappings>

  16.                 <action path="/Hello" type="org.yzq.HelloAction" name="HelloForm" scope="request" validate="true" input="/test/sayhello.jsp">
  17.                         <forward name="SayHello" path="/test/sayhello.jsp"/>
  18.                 </action>

  19.                 <action path="/Logon" type="org.yzq.LogonAction" name="LogonForm" scope="request" validate="true"
  20.                 input="/index.jsp">
  21.                         <forward name="loginsuccess" path="/main/main.jsp"/>
  22.                         <forward name="loginfail" path="/warning/loginfail.jsp"/>
  23.                 </action>
  24.                
  25.                 <action path="/Sign" type="org.yzq.SignAction" name="SignForm" scope="request" validate="true" input="/warning/signfail.jsp">
  26.                         <forward name="signsuccess" path="/warning/signsuccess.jsp"/>
  27.                         <forward name="signfail" path="/warning/signfail.jsp"/>
  28.                 </action>

  29.                 <action attribute="springloginForm" input="/test/springlogin.jsp" name="springloginForm" path="/springlogin" scope="request" validate="true" type="org.springframework.web.struts.DelegatingActionProxy">
  30.                         <forward name="springsuccess" path="/test/springsuccess.jsp"/>
  31.                         <forward name="springfail" path="/warning/signfail.jsp"/>
  32.                 </action>

  33.         </action-mappings>
  34.         <message-resources parameter="com.test.ApplicationResources"/>
  35.         <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
  36.                 <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
  37.         </plug-in>
  38.         <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
  39.                 <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/>
  40.         </plug-in>
  41. </struts-config>
复制代码

validation.xml

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
  3. <form-validation>
  4.         <formset>
  5.                 <form name="springloginForm">
  6.                         <field property="username" depends="required">
  7.                                 <arg0 key="springlogin.username"/>
  8.                         </field>
  9.                         <field property="userpasswd" depends="required">
  10.                                 <arg0 key="springlogin.userpasswd"/>
  11.                         </field>
  12.                 </form>
  13.         </formset>
  14. </form-validation>
复制代码

applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
  3. <beans>
  4.         <bean name="/springlogin.do" class="com.test.SpringLoginAction">
  5.         </bean>
  6. </beans>
复制代码

web.xml

  1. <?xml version="1.0" encoding="ISO-8859-1"?>

  2. <web-app>
  3.         <servlet>
  4.                 <servlet-name>action</servlet-name>
  5.                 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  6.                 <init-param>
  7.                         <param-name>application</param-name>
  8.                         <param-value>ApplicationResources</param-value>
  9.                 </init-param>

  10.                 <init-param>
  11.                         <param-name>config</param-name>
  12.                         <param-value>/WEB-INF/struts-config.xml</param-value>
  13.                 </init-param>

  14.                 <init-param>
  15.                         <param-name>debug</param-name>
  16.                         <param-value>2</param-value>
  17.                 </init-param>

  18.                 <init-param>
  19.                         <param-name>detail</param-name>
  20.                         <param-value>2</param-value>
  21.                 </init-param>
  22.                 <load-on-startup>2</load-on-startup>
  23.         </servlet>
  24.         <servlet-mapping>
  25.                 <servlet-name>action</servlet-name>
  26.                 <url-pattern>*.do</url-pattern>
  27.         </servlet-mapping>

  28.         <taglib>
  29.                 <taglib-uri>/struts-bean</taglib-uri>
  30.                 <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
  31.         </taglib>

  32.         <taglib>
  33.                 <taglib-uri>/struts-html</taglib-uri>
  34.                 <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
  35.         </taglib>

  36.         <taglib>
  37.                 <taglib-uri>/struts-logic</taglib-uri>
  38.                 <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
  39.         </taglib>

  40.         <taglib>
  41.                 <taglib-uri>/struts-nested</taglib-uri>
  42.                 <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
  43.         </taglib>

  44.         <taglib>
  45.                 <taglib-uri>/struts-tiles</taglib-uri>
  46.                 <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
  47.         </taglib>
  48. </web-app>

复制代码

SpringLoginAction.java

  1. package com.test;

  2. import javax.servlet.http.HttpServletRequest;
  3. import javax.servlet.http.HttpServletResponse;
  4. import org.apache.struts.action.Action;
  5. import org.apache.struts.action.ActionForm;
  6. import org.apache.struts.action.ActionForward;
  7. import org.apache.struts.action.ActionMapping;
  8. import org.apache.struts.validator.DynaValidatorForm;

  9. public class SpringLoginAction extends Action
  10. {
  11.         public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
  12.         {
  13.                 DynaValidatorForm springloginForm = (DynaValidatorForm)form;
  14.                 ActionForward forward;
  15.                 String username = springloginForm.getString("username");
  16.                 String userpasswd = springloginForm.getString("userpasswd");
  17.                 if(username.equals("yzq")&&userpasswd.equals("8383055"))
  18.                 {
  19.                         forward = mapping.findForward("springsuccess");
  20.                 }
  21.                 else
  22.                 {
  23.                         forward = mapping.getInputForward();
  24.                 }
  25.                 return forward;
  26.         }
  27. }

复制代码

论坛徽章:
0
2 [报告]
发表于 2007-02-03 17:00 |只看该作者
没用过SPING不知道什么原因,我想问楼主,你现在一直做开发吗? 我做了3年的开发,现在已经不做了。

论坛徽章:
0
3 [报告]
发表于 2007-02-04 16:09 |只看该作者
原帖由 傲雪寒梅 于 2007-1-28 22:52 发表
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
        <bean name="/springlogin.do" class="com.test.SpringLoginAction">
        </bean>
</beans>
...


去掉.do试试

论坛徽章:
0
4 [报告]
发表于 2007-02-04 22:18 |只看该作者
我没有整合过 spring和struts 我大约 三年前 结合使用过这两个 框架
记得是 实现了自己process ,生成action 然后利用 spring 的autowaverproxy  按照名称把bean 注射到action上  没通过spring生成action
不过后来我就再也没用过这两个。
这个问题我同意楼上的意见 不过我也没用过呵呵
哦现在有插件了呵呵
  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
                <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/>
        </plug-in>

论坛徽章:
0
5 [报告]
发表于 2007-02-05 12:59 |只看该作者
No bean named '/springlogin'
说明整合对了,不然不会报这样的错。是配置问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP