<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 配置Handler --> <bean class="cn.muriel.auto.controller.UserController" name="/userController.action"/> <!-- 配置处理器映射器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- 配置处理器适配器 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!-- 配置视图解析器 解析jsp解析,默认使用jstl标签 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/> </beans> public class UserController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("service/service.xml"); UserService userService = (UserService) applicationContext.getBean("userService"); userService.selectAllUser(); ModelAndView modelAndView = new ModelAndView(); //如果不设置ViewName的话,就会404加参数 //如果url错误就报404 modelAndView.setViewName("WEB-INF/jsp/userList.jsp"); return modelAndView; } }
<!-- 配置Handler --> <bean class="cn.muriel.auto.controller.UserController" name="/userController.action" id="userController"/> <!-- 配置处理器映射器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- 多个映射器可以并存,前端控制器判断url能让那些映射器映射,就让正确的映射器处理 所有的映射器都实现HandlerMapping接口 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/userController.action">userController</prop> </props> </property> </bean>
<!-- 配置处理器适配器,实现Controller接口 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> public class UserController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { } }
<!-- 配置Handler,配置单个handler --> <bean class="cn.muriel.auto.controller.FoodController" /> <!-- 注解开发中建议使用组建扫名描,进行handler扫描配置 --> <context:component-scan base-package="cn.muriel.auto.controller"/> <!-- 注解映射器 在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器 在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping注解映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!-- 注解适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> <!-- mvc:annotation-driven代替上边注解映射器和注解适配器配置, 它默认加载很多的参数绑定方法 --> <mvc:annotation-driven></mvc:annotation-driven> //使用Controller标识它是一个控制器 @Controller public class FoodController { //一般建议将url和方法写成一样,控制器映射器 @RequestMapping("/selectAllFood") public ModelAndView selectAllFood(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("WEB-INF/jsp/foodList.jsp"); return modelAndView; } }
<!-- 配置视图解析器 解析jsp解析,默认使用jstl标签 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 配置Jstl,若与mvc:annotation-driven不需要配置, <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> --> <!-- 配置前缀 --> <property name="prefix" value="WEB-INF/jsp/"/> <!-- 配置后缀 --> <property name="suffix" value=".jsp"/> </bean> //使用Controller标识它是一个控制器 @Controller public class FoodController { //一般建议将url和方法写成一样,控制器映射器 @RequestMapping("/selectAllFood") public ModelAndView selectAllFood(){ ModelAndView modelAndView = new ModelAndView(); //因为在springmvc.xml中配置了前缀和后缀,所以原格式WEB-INF/jsp/foodList.jsp可以改为foodList modelAndView.setViewName("foodList"); return modelAndView; } }
原文:https://www.cnblogs.com/fatRabbit-/p/10547797.html