问题描述
web.xml<servlet><servlet-name>test</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/test-servlet.xml</param-value></init-param><load-on-startup>2</load-on-startup></servlet><servlet-mapping><servlet-name>test</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping> test-servlet.xml 里面配置了 <context:component-scan base-package="com.web.controller" /><!-- 配置视图解析 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean><bean id="paramMethodResolver"class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"><property name="paramName" value="method" /></bean>配置的 controller 为@Controllerpublic class ImgController {@RequestMapping("/hello.do")public ModelAndView welcome() {System.out.println("helloworld");return new ModelAndView("xlsImport");}}其中, 在配置文件里面配置了<property name="mappings"><props> <!-- 页面跳转 --><prop key="forward.do">forwardController</prop></props></property>访问:http://localhost:8080/项目名称/hello.do 提示 404错误,也进步了weclome 方法 访问 http://localhost:8080/项目名称/forward.do 是可以访问进入断点的
解决方案
<context:component-scan base-package="com.web.controller" /> <!-- 楼主是否少了下面这两个启用Spring注解的Bean --><bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /><bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
解决方案二:
<!-- 自动搜索@Controller标注的类 --><context:annotation-config /><context:component-scan base-package="com.wsd.*.action" /><!-- <mvc:annotation-driven /> --><beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /><beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />