Spring MVC教程 映射处理器Handler Mapping(二)
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
复制代码
步骤四:在WEB-INF/U9VIP目录下建立U9FirstSpringMVC.jsp,主要代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
${message}
复制代码
步骤五:启动服务器,输入http://127.0.0.1:8080/SpringMVC02/u9.action 访问测试。
简析执行过程
(1)启动服务器后,当我们向服务器发送u9.action请求时,首先被在web.xml中配置的前端控制器DispatcherServlet拦截到。
(2)前端控制器把此请求转交给后端控制器,下面分析转交过程:当在action-servlet.xml中查找能执行u9.action请求的映射处理器时,发现没有能处理此请求的映射处理器,这时便使用默认的映射处理器BeanNameUrlHandlerMapping:This is the default implementation used by the DispatcherServlet, along with DefaultAnnotationHandlerMapping (on
Java 5 and higher). 我们还需注意:这种后端控制器的bean Name必须以“/”开头,并且要结合DispatcherServlet的映射配置。同时beanName支持通配符配置。比如如果配置:*.action 时,当访问U9VIP.action时也可以成功访问到U9Controller类。
(3)BeanNameUrlHandlerMapping处理器,会查找在spring容器中是否在名为“u9.action”的bean实例。当查找到此实例后,则把此bean作为处理此请求的后端控制器。同时把自身加到映射处理器链上,并向处理器链传递此请求。
(4)后端控制器进行处理,并返回视图。
三、实例:SimpleUrlHandlerMapping
步骤一:建立后端控制器U9SimpleUrlHandlerMappingContrller.java.代码如下:
package com.u9vip.springmvc.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class U9SimpleUrlHandlerMappingContrller extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// http://www.u9vip.com U9社区
System.out.println("U9社区第二个SpringMVC 控制层案例 SimpleUrlHandlerMapping");
return new ModelAndView("U9FirstSpringMVC", "message",
"U9社区第二个SpringMVC 控制层案例 SimpleUrlHandlerMapping");
}
}
复制代码
步骤二:在action-servlet.xml中增加如下配置:
复制代码