`
wiselyman
  • 浏览: 2093961 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
Group-logo
点睛Spring4.1
浏览量:82327
74ae1471-94c5-3ae2-b227-779326b57435
点睛Spring MVC4...
浏览量:130798
社区版块
存档分类
最新评论

02点睛Spring MVC 4.1-@RequestMapping

 
阅读更多

2.1 @RequestMapping

  • @RequestMapping是SpringMVC的核心注解,负责访问的url与调用方法之间的映射;
  • @RequestMapping可以放在类和方法上;
    • @RequestMapping的属性produces属性控制response返回的形式;
    • @RequestMapping的属性method属性控制接受访问的类型,不写不做限制,本例为演示方便全部都是get请求;
  • @ResponseBody(放在方法上或者返回值类型前)将方法参数放置在web body的body中(返回的不是页面而是你所控制的字符)
  • @RequestBody(放在方法参数前)将方法参数放置在web request的body中(如提交一个json对象作为参数-在03点睛Spring MVC 4.1-REST演示)
  • produces的内容是指定返回的媒体类型让浏览器识别
    • 如返回text/plain的话,chrome浏览器下network显示Response的Content-Type:text/plain;
    • 如返回application/json的话,chrome浏览器下network显示Response的application/json;
    • 因本节无页面,在03点睛Spring MVC 4.1-REST有只管的阐述和演示;
  • 这节使用@RequestMapping演示常用映射场景

2.2 演示

  • 传值对象
package com.wisely.web;

public class DemoObj {
    private Long id;
    private String name;

    public DemoObj() {
        super();
    }

    public DemoObj(Long id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}
  • 控制器 TestController
package com.wisely.web;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller //声明为控制器bean
@RequestMapping("/test")// 根地址为http://localhost:8080/testSpringMVC/test
public class TestController {
    //response媒体类型(MediaType)为text/plain,编码是utf-8
    @RequestMapping(produces = "text/plain;charset=UTF-8")
    //映射地址为http://localhost:8080/testSpringMVC/test
    @ResponseBody //此注解让返回值不是页面,也是将结果字符串直接返回
    public  String root(HttpServletRequest request){
        return "url:"+request.getRequestURL()+" 可以访问此方法";
    }

    @RequestMapping(value = "/add",produces = "text/plain;charset=UTF-8")
    //映射地址为http://localhost:8080/testSpringMVC/test/add
    @ResponseBody
    public   String add(HttpServletRequest request){
        return "url:"+request.getRequestURL()+" 可以访问此方法";
    }

    @RequestMapping(value = {"/remove","/delete"},produces = "text/plain;charset=UTF-8")
    //映射地址为http://.../test/remove(或http://.../test/delete)
    @ResponseBody
    public   String remove(HttpServletRequest request){
        return "url:"+request.getRequestURL()+" 可以访问此方法";
    }

    //获取request参数
    //获取路径参数
    @RequestMapping(value = "/get",produces = "text/plain;charset=UTF-8")
    //映射路径http://.../test/get?id=123
    @ResponseBody
    public String passRequestParam(@RequestParam Long id,HttpServletRequest request){
        System.out.println("id为"+id);
        return "url:"+request.getRequestURL()+" 可以访问此方法";

    }


    //获取路径参数
    @RequestMapping(value = "/{id}",produces = "text/plain;charset=UTF-8")
    //映射路径http://.../test/123
    @ResponseBody
    public String passPathVariable(@PathVariable Long id,HttpServletRequest request){
        System.out.println("id为"+id);
        return "url:"+request.getRequestURL()+" 可以访问此方法";

    }

    //获得对象
    @RequestMapping(value = "/pass",produces = "text/plain;charset=UTF-8")
    //映射路径http://.../test/pass?id=123&name=wyf
    @ResponseBody
    public String passObj(DemoObj obj,HttpServletRequest request){
        System.out.println("对象的id和名称分别为为:"+obj.getId()+"/"+obj.getName());
        return "url:"+request.getRequestURL()+" 可以访问此方法";

    }




}

新书推荐《JavaEE开发的颠覆者: Spring Boot实战》,涵盖Spring 4.x、Spring MVC 4.x、Spring Boot企业开发实战。

 

京东地址:http://item.jd.com/11894632.html

当当地址:http://product.dangdang.com/23926195.html

亚马逊地址:http://www.amazon.cn/图书/dp/B01D5ZBFUK/ref=zg_bsnr_663834051_6 

淘宝地址:https://item.taobao.com/item.htm?id=528426235744&ns=1&abbucket=8#detail

 

 

 

或自己在京东、淘宝、亚马逊、当当、互动出版社搜索自选。

 


0
0
分享到:
评论
1 楼 longzhiwuing 2017-03-10  
我买了你的springboot的书,但是源码有一个地方没跑通。DemoObj中属性为id时,用springmvc无法映射该属性,映射路径http://.../test/pass?id=123&name=wyf,id换成别的名字,比如did这种,123和wyf都能获取到?我想问的是在pojo类里不能用属性名为id的名称吗?和什么有冲突吗?希望能够解答

相关推荐

    Spring MVC--2.@RequestMapping 映射请求

    本篇文章将深入探讨`@RequestMapping`的使用、功能以及相关知识点。 ### 1. `@RequestMapping`介绍 `@RequestMapping`是Spring MVC提供的一个类型级别的注解,可以应用在类或方法上,用于定义HTTP请求的映射规则。...

    Spring MVC之@RequestMapping详解

    《Spring MVC之@RequestMapping详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...

    Spring MVC step-by-step 源码

    - 在Spring MVC 3.0以后,可以使用注解如`@RequestMapping`、`@Controller`、`@Service`、`@Autowired`等,替代XML配置,简化开发。 6. **Spring MVC的其他特性**: - 参数绑定:自动将请求参数绑定到Controller...

    SpringMVC@RequestMapping(重点)@RequestParam@PathVariable示例

    在Spring MVC框架中,`@RequestMapping`、`@RequestParam`和`@PathVariable`是三个非常重要的注解,它们用于处理HTTP请求并绑定请求参数到控制器方法的参数上。接下来,我们将详细探讨这三个注解的工作原理以及如何...

    springmvc 4.1

    Spring MVC 4.1支持基于注解的路径映射,如`@RequestMapping`、`@GetMapping`、`@PostMapping`等。这些注解允许开发者直接在控制器方法上声明HTTP请求类型和URL模板,简化了配置。 6. **异常处理**: 通过`@...

    简化版@requestmapping注解注册源码

    在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它用于处理HTTP请求映射,使得控制器类或方法能够与特定的URL路径关联。本文将深入解析`@RequestMapping`的工作原理,并介绍一个简化版的自定义实现,...

    spring-web-5.2.3.RELEASE和spring-webmvc-5.2.3.RELEASE

    Spring Web模块和Spring Web MVC模块是Spring框架中的两个关键组成部分,它们在构建Web应用程序时起着至关重要的作用。 Spring Web模块(spring-web-5.2.3.RELEASE.jar)主要负责提供Web相关的功能支持,包括HTTP...

    translation-spring-mvc-4-documentation, Spring MVC 4.2.4 RELEASE 中文文档完整翻译稿.zip

    在Spring MVC中,我们可以使用注解如@Controller和@RequestMapping来标记和映射控制器方法。 模型-视图-控制器模式(MVC)是Spring MVC的基础,模型代表业务数据,视图负责展示,而控制器是模型和视图之间的桥梁。...

    SpringMybatis项目基于@RequestMapping和RequstAttribute实现登录注册

    在SpringMybatis项目中,利用`@RequestMapping`和`RequestAttribute`实现登录注册功能是Web开发中的常见实践。`@RequestMapping`是Spring MVC框架中用于处理HTTP请求映射的注解,而`RequestAttribute`则用于在请求...

    spring-mvc-test-sample-master.zip_spring mvc_springmvc-test

    6. **@Controller、@RequestMapping**:这两个注解是Spring MVC中非常重要的,`@Controller`标记一个类为控制器,而`@RequestMapping`则用来指定处理请求的URL路径。 7. **HandlerMapping**和**HandlerAdapter**:...

    spring-mvc-showcase

    《Spring MVC 展示应用深度解析》 Spring MVC 是 Spring 框架的重要组成部分,它为构建基于模型-视图-控制器(MVC)模式的Web应用程序提供了强大的支持。"spring-mvc-showcase"项目是Spring官网提供的一个实战示例...

    SpringMVC-2 使用@RequestMapping映射请求

    总结起来,`@RequestMapping`是Spring MVC中实现请求映射的关键工具,它允许开发者灵活地根据URL、请求方法、参数和头信息来映射处理逻辑。而`HiddenHttpMethodFilter`则解决了在非RESTful环境中模拟其他HTTP方法的...

    spring-mvc-study.zip

    此外,Spring MVC支持注解驱动开发,如@Controller、@RequestMapping、@RequestParam、@PathVariable等,使得代码更简洁,降低了XML配置的复杂度。同时,Spring MVC还提供了模型绑定、数据验证、异常处理等机制,...

    spring-mvc-demo

    【Spring MVC 框架详解】 Spring MVC 是 Spring 框架的一部分,它是一个轻量级的、基于模型-视图-控制器(MVC)设计模式的 Web 应用开发框架。Spring MVC 提供了丰富的功能,使得开发者可以快速、高效地构建高质量...

    spring MVC step-by-step

    此外,Spring MVC还支持注解驱动开发,比如@Controller、@RequestMapping、@Service、@Repository等,这些注解可以简化代码,提高开发效率。 在实际的开发过程中,你可能会遇到如国际化、数据验证、异常处理、视图...

    Spring MVC--------我在创智软件的面试

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建MVC(Model-View-Controller)架构...在面试中,展示你对这些知识点的理解和实践经验,能够有效地证明你具备Spring MVC的高级技能,有助于获得心仪的工作机会。

    spring mvc工程-初学者helloworld

    Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能和灵活的Web应用程序。它作为Spring框架的一部分,提供了一种模型-视图-控制器(MVC)架构,简化了处理HTTP请求和响应的过程。本教程是针对初学者...

Global site tag (gtag.js) - Google Analytics