小弟最近在使用spring2.5搭建mvc框剪,具体过程如下:
web.xml:
------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>testFrame</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testFrame</servlet-name>
<url-pattern>*.spr</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>-----------------------
testFrame-servlet.xml
-----------------------
<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <import resource="classpath:applicationContext.xml" /> <!-- 定义映射 -->
<bean id="simpleUrlhandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- 定义控制层类的映射 -->
<prop key="/demo.spr">demoController</prop>
</props>
</property>
</bean> <!-- 指定提取方法的参数名为action,用来请求后的*.spr?methodOp=method -->
<bean name="methodNameResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName">
<value>methodOp</value>
</property>
</bean> <!-- 定义视及路径,prefix="/"表示jsp都放在"/"根目录下面,suffix=".jsp"表示JSP页面的后缀都是.jsp -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/" p:suffix=".jsp" /> <!-- 映射控制层的具体类 -->
<bean name = "demoController" class="com.spr.pro.controller.DemoController">
<property name="methodNameResolver">
<ref bean="methodNameResolver"/>
</property>
</bean>
</beans>-----------------DemoController.java
------------------------
package com.spr.pro.controller;import java.util.HashMap;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import org.springframework.web.servlet.ModelAndView;public class DemoController extends MultiActionController { public ModelAndView test1111(){
HashMap model = new HashMap();
String navigation = "test";
System.out.println("this is controller!!!");
return new ModelAndView();
}
}-----------------------------------index.jsp
-----------------------------------
  <body>
     <form action="/springTest/demo.spr?methodOp=test1111" method="post">
     <input type = "submit"/>
     </form>
  </body>当点击"submit"按钮后,应该运行DemoController.java类中的test1111方法,并在后台打印出“this is controller!!!”,
但是点击后,却出现警告:
WARN PageNotFound:432 - No request handling method with name 'test111' in class [com.spr.pro.controller.DemoController]小弟曾将testFrame-servlet.xml中的:
<bean name = "demoController" class="com.spr.pro.controller.DemoController">
<property name="methodNameResolver">
<ref bean="methodNameResolver"/>
</property>
</bean>
"class='com.spr.pro.controller.DemoController'"改为"class='com.spr.pro.controller.DemoController1'
随即出现类名无法找到的错误,由此可见,类应该是映射成功了的,但是却找不到test111的方法,小弟很是纳闷,
请各位高手指点江山啊!!!!

解决方案 »

  1.   

    好像少打了个1,WARN PageNotFound:432 - No request handling method with name 'test111' in class [com.spr.pro.controller.DemoController]
      

  2.   

    工程实时更新了么?我也不看你CODE!这样,你写junit:用这个:import static org.junit.Assert.*;import org.junit.Test;
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.context.support.ClassPathXmlApplicationContext;public class Timport static org.junit.Assert.*;import org.junit.Test;
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.context.support.ClassPathXmlApplicationContext;public class xxxTest {
    private static BeanFactory factory = new ClassPathXmlApplicationContext("*-*.xml");
    你的bean类 你的bean对象 = (你的bean类)factory.getBean("你的bean名");
    @Test
    public void test方法名() {
    测试代码自己写。
    }
    }
      

  3.   

    谢谢各位指点,小弟知道原因了,原因是我的public ModelAndView test1111()方法应该加上HttpServletRequest request,HttpServletResponse response的参数
      

  4.   

    欢迎加入ASP.NET MVC超级群,QQ群号:40985466