构建第一个Spring Boot2.0应用之RequestMapping(四)
在学习controller的时候,测试了在RequestMapping中,value参数中配置集合,实现不同的URL访问同一方法。
本章继续学习和测试RequestMapping的其他特性。
一.PathVariabe获取URL参数,代码如下:
package com.yy.controller; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; /**
* Created by Administrator on 2018-05-18.
*/
@RestController
//@Controller
public class HelloController {
@RequestMapping(value = "/hello1",method= RequestMethod.GET)
public String sayHello1()
{
String hello="index";
return hello;
}
@ResponseBody
@RequestMapping(value = {"/hello2","/index2"},method= RequestMethod.GET)
public String sayHello2()
{
String hello="index"; return hello;
} @RequestMapping(value = "/hello3",method= RequestMethod.GET)
public ModelAndView sayHello3()
{
ModelAndView mv = new ModelAndView("index");
return mv;
}
// URL参数
@RequestMapping(value = "/hello4/{name}",method= RequestMethod.GET)
public String sayHello4(@PathVariable("name") String name )
{
String str=name;
return str;
} }
启动应用,访问URL:http://localhost:8088/sptest/hello4/lilei,则方法sayHello4获取的name参数值为lilei,方法返回name值,则显示如下:
二.使用@RequestMapping给整个类指定URL映射
package com.yy.controller; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; /**
* Created by Administrator on 2018-05-18.
*/
@RestController
//@Controller
@RequestMapping(value="my")
public class HelloController {
@RequestMapping(value = "/hello1",method= RequestMethod.GET)
public String sayHello1()
{
String hello="index";
return hello;
}
@ResponseBody
@RequestMapping(value = {"/hello2","/index2"},method= RequestMethod.GET)
public String sayHello2()
{
String hello="index"; return hello;
} @RequestMapping(value = "/hello3",method= RequestMethod.GET)
public ModelAndView sayHello3()
{
ModelAndView mv = new ModelAndView("index");
return mv;
}
// URL参数
@RequestMapping(value = "/hello4/{name}",method= RequestMethod.GET)
public String sayHello4(@PathVariable("name") String name )
{
String str=name;
return str;
} }
其他不变,给HelloController类添加@RequestMapping注解。启动应用访问URL:
三.按照传统方式Url+"?name=lilei"传递参数
//传统URL参数
@RequestMapping(value = "/hello5",method= RequestMethod.GET)
public String sayHello5(@RequestParam(value="name",required = false,defaultValue = "james") String name )
{
String str=name;
return str;
}
获取参数使用@RequestParam,其中value值为url中参数的名称;required默认为true,表示参数必须,此处修改为false;defaultValue为该参数默认值,如果url中没有为该参数指定值,则使用该默认值,如果参数已传递,则用获取的参数值覆盖该默认值。
用如下URL访问:http://localhost:8088/sptest/my/hello5/?name=chole,显示如下:
四.使用GetMapping代替RequestMapping
其他不变,将上面代码中的sayHello5注解改为@GetMapping(value = "/hello5")
构建第一个Spring Boot2.0应用之RequestMapping(四)的更多相关文章
- 构建第一个Spring Boot2.0应用之项目创建(一)
1.开发环境 IDE: JAVA环境: Tomcat: 2.使用Idea生成spring boot项目 以下是使用Idea生成基本的spring boot的步骤. (1)创建工程第一步 (2)创建工 ...
- 构建第一个Spring Boot2.0应用之集成mybatis(六)
一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.步骤 方式一:利用配置文件配 ...
- 构建第一个Spring Boot2.0应用之application.properties和application.yml(八)
本节学习在项目中配置文件配置的方式,一种是通过applicaiton.properties,一种是通过application.yml方式. 一.环境: IDE:IntelliJ IDEA 2017.1 ...
- 构建第一个Spring Boot2.0应用之集成mybatis、Druid(七)
一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.说明: 本文综合之 ...
- 构建第一个Spring Boot2.0应用之集成dubbo上---环境搭建(九)
一.环境: Windows: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE Linux(C ...
- 构建第一个spring boot2.0应用之项目启动运行的几种方式(二)
方法一. 配置Run/Debug Configuration 选择Main Class为项目 Application启动类(入口main方法) (2).进行项目目录,即包含pom.xml的目录下,启 ...
- 构建第一个Spring Boot2.0应用之Controller(三)
Controller控制器主要是接收浏览器请求.下面说一说@Controller注解和@RestController的区别: (1)@Controller类中的方法可以直接通过返回String跳转到j ...
- 快速搭建spring boot2.0 项目
快速搭建spring boot2.0+mybatis+thymeleaf 项目 使用工具STS 3.9.7(eclipse) 首先创建一个spring boot2.0项目(具体创建方法就不写了) 然后 ...
- spring boot2.0(一 ) 基础环境搭建
1.基础配置 开发环境:window jdk版本:1.8(spring boot2.0最低要求1.8) 开发工具:eclipse 构建方式:maven3 2.POM配置文件 <project x ...
随机推荐
- CODING 代码托管架构升级之路
本文为 CODING 创始团队成员王振威在『CODING 技术小馆:上海站』的演讲实录. CODING 技术小馆,是由国内专业的一站式软件服务平台 CODING 主办的一系列技术沙龙.将邀请数位业内知 ...
- Docker 启动配置和远程访问
1. 添加Docker 启动时的配置: vi /etc/default/docker 添加: DOCKER_OPTS=" --label name=dockerServer1 -H ...
- 2017-10-26 NOIP模拟赛
三分咲 #include<iostream> #include<cstdio> #include<ctime> using namespace std; int n ...
- 洛谷P3038 牧草种植Grass Planting
思路: 首先,这道题的翻译是有问题的(起码现在是),查询的时候应该是查询某一条路径的权值,而不是某条边(坑死我了). 与平常树链剖分题目不同的是,这道题目维护的是边权,而不是点权,那怎么办呢?好像有点 ...
- 洛谷P3582 [POI2015]KIN
题目描述 共有\(m\)部电影,编号为\(1--m\),第\(i\)部电影的好看值为\(w[i]\).在\(n\)天之中(从\(1~n\)编号)每天会放映一部电影,第\(i\)天放映的是第\(f[i] ...
- HelloSpock
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- context.xml
<?xml version='1.0' encoding='utf-8'?> <!-- Licensed to the Apache Software Foundation (ASF ...
- 转 rman-08120 以及查询隐含参数
rman-08120 We need RMAN to automatically purge archivelogs from the FRA once they are applied to the ...
- LeetCode 088 Merge Sorted Array 合并两个有序数组
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:You ...
- Hive 基本语法操练(三):分区操作和桶操作
(一)分区操作 Hive 的分区通过在创建表时启动 PARTITION BY 实现,用来分区的维度并不是实际数据的某一列,具体分区的标志是由插入内容时给定的.当要查询某一分区的内容时可以采用 WHER ...