SpringMVC笔记系列(2)——@RequestMapping请求映射物理视图解析
来源:互联网 发布:51wan软件 编辑:程序博客网 时间:2024/06/03 21:34
说明:本文章的内容转载至:https://my.oschina.net/happyBKs/blog/411547
如有侵权的地方,请联系本人,本人将会立即删除!
上一篇的例子介绍了如何构建一个springMVC的请求映射的方法。但是@RequestMapping不仅可以修饰控制器类的方法,还可以可以修饰控制器类本身,它对请求的影响是:请求url的分段。
还是看一个例子吧。
假如现在有一个请求页面index2.jsp。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>RequestMapping Test</title></head><body><a href="c1/m1">c1/m1</a><br/><a href="c1/m2">c1/m2</a><br/><a href="c1/m3">c1/m3</a><br/></body></html>
另有3个响应页面robot_baymax1.jsp、robot_baymax2.jsp、robot_baymax3.jsp在webapp的views文件夹下。
现在我们要做的就是用springMVC的DispatcherServlet来处理 请求页面的请求 到 响应页面的映射。
关于映射的详细过程请看上一篇。
springmvc.xml配置文件。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><!-- 配置自动扫描的包 --><context:component-scan base-package="com.happyBKs.springmvc.handlers"></context:component-scan><!-- 配置视图解析器:如何把handler方法 的返回值 解析为 实际的物理视图--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/views/"></property><property name="suffix" value=".jsp"></property></bean></beans>
重点来了,我重新构造一个控制器类,来处理这种多段的请求。
定义控制器类RobotHandler。
@RequestMapping除了修饰方法,还可以来修饰类
类定义处:提供初步的请求映射信息。相对于web应用的根目录
方法定义处:进一步提供细分的映射信息。相对于类定义处的URL。若类定义处没有标注@RequestMapping,则方法处的@RequestMapping直接对应于web应用的根目录。
这里做个罗列,可能看得更清楚:
请求:(网站域名+web应用名)web应用根目录+类定义处@RequestMapping+方法定义处@RequestMapping
映射到
物理视图:webapp根目录+springmvc.xml配置的prefix+ 控制器方法的返回值 +springmvc.xml配置的sufix
这里的话是
请求:http://localhost:8080/mymvc/c1/m1
映射到
物理视图webapp/views/robot_baymax1.jsp就通过控制器上的
映射过程是:DispatchServlet在截获请求后,@RequestMapping提供额映射信息确认请求所对应对的处理方法。
package com.happyBKs.springmvc.handlers;import java.lang.annotation.Retention;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;/*1.@RequestMapping除了修饰方法,还可以来修饰类类定义处:提供初步的请求映射信息。相对于web应用的根目录方法定义处:进一步提供细分的映射信息。相对于类定义处的URL。若类定义处没有标注@RequestMapping,则方法处的@RequestMapping直接对应于web应用的根目录请求:(网站域名+web应用名)web应用根目录+类定义处@RequestMapping+方法定义处@RequestMapping映射到物理视图:webapp根目录+springmvc.xml配置的prefix+ 控制器方法的返回值 +springmvc.xml配置的sufix这里的话是请求:http://localhost:8080/mymvc/c1/m1映射到物理视图webapp/views/robot_baymax1.jsp就通过控制器上的映射过程是:DispatchServlet在截获请求后,@RequestMapping提供额映射信息确认请求所对应对的处理方法。*/@RequestMapping("/c1")@Controllerpublic class RobotHandler { @RequestMapping("/m1") String handle1() { return "robot_baymax1"; } @RequestMapping("/m2") String handle2() { return "robot_baymax2"; } @RequestMapping("/m3") String handle3() { return "robot_baymax3"; }}
- SpringMVC笔记系列(2)——@RequestMapping请求映射物理视图解析
- SpringMVC笔记系列(3)——@RequestMapping请求value和method属性
- springmvc @RequestMapping映射请求
- SpringMVC学习(2):使用@RequestMapping映射请求方式
- SpringMVC-2 使用@RequestMapping映射请求
- SpringMVC源码(十)RequestMapping请求映射
- SpringMVC学习(二) @RequestMapping映射请求
- springMVC笔记系列(4)——RequestMapping映射特定params和headers
- springMVC笔记系列(5)——@RequestMapping请求value的通配符详解
- springMVC笔记系列(5)——@RequestMapping请求value的通配符详解
- springmvc学习笔记(2)——RequestMapping
- SpringMVC学习笔记(2):请求映射
- 10003---SpringMVC 使用@RequestMapping映射请求
- SpringMVC入门(二)--使用@RequestMapping映射请求
- SpringMVC使用注解@RequestMapping映射请求
- 【学习】springmvc之@RequestMapping映射请求
- SpringMVC使用(一)——@RequestMapping处理请求
- SpringMVC使用(一)——@RequestMapping处理请求
- GetVersionEx 获取系统版本信息
- Java poi Excel xls列号数字转字母
- 第十四周项目7—是否二叉排序树
- jQuery 动画篇
- PHP 技能树
- SpringMVC笔记系列(2)——@RequestMapping请求映射物理视图解析
- nginx 使用gizp压缩提高网站的传输速度
- 欢迎使用CSDN-markdown编辑器
- 反思
- UIView中autoresizingMask属性研究
- Unity中使用暴风魔镜进行VR游戏开发
- 第14周项目3-是否二叉排序树?
- 十二周项目一 图基本算法库
- 【JqGrid】JqGrid本页合计+总合计(统计)