栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring MVC之Controller层的常用注解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring MVC之Controller层的常用注解

Spring MVC之Controller层的常用注解

如果介绍有误请评论。

@Controller

通常写在类上

​ 作用:处理页面的HTTP请求

@RestController

通常写在类上

相当于@Controller +@ResponseBody,@ResponseBody作用见下文

@RequestMapping

作用:既可以作用在类上,也可以作用在方法上,也可以同时作用在类和方法上,其作用是指明该类或者该方法响应哪个路径下的请求

通常使用这些注解都是Controller后缀加配置Mapping后缀来使用的。以下是**@Controoller+@RequestMapping**的使用。

package com.it.lms.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping("/")
public class HelloController {

    @RequestMapping(value = {"/login","/","/login.html"})
    public String hello(){
        //调用业务,接受前端参数
        return "login";
    }

    @RequestMapping(value = "/index")
    public String toIndex(){
        return "index";
    }
}

第一个@Controller和@RequestMapping("/"),在启动项目之后,访问http://localhost:8080/的页面请求,就会调用hello()方法来处理这个页面请求,这时页面就会显示login所对应的页面。 同理,访问http://localhost:8080/login或http://localhost:8080/login.html的页面请求亦是调用hello()方法来处理这个页面请求。

@RequestMapping(value = "/index"),则是你访问http://localhost:8080/index的页面请求,就会调用toIndex()方法来处理这个页面请求,这时页面就会显示index所对应的页面。

注意:本项目的默认端口为8080,访问地址默认为本机,使用@RequestMapping的时候,如果参数仅有value的话,可以省略不写。

使用这些需要先了解请求与处理方法之间的映射关系

页面请求通常是@RequestMapping("/")这些带有Mapping字眼的注解。例如hello()方法所对应的页面请求就有三个。


@ResponseBody

返回json字符串数据

@RequestMapping("/id")
    @ResponseBody
    public HashMap toList(){
        HashMap lists;
        lists = new HashMap<>();
        lists.put("code","1232");
        lists.put("status","1");
        return lists;
    }

访问http://localhost:8080/id,会看到如下页面

@GetMapping和@PostMapping的区别

@GetMapping是一个组合注解,是**@RequestMapping(method = RequestMethod.GET)**的缩写

@PostMapping也是一个组合注解,是**@RequestMapping(method = RequestMethod.POST)**的缩写

	@RequestMapping(value = "/register")
    public String toRegister(){
        return "register";
    }
    @RequestMapping(value = "/register1")
    public String toRegister1(){
        return "register1";
    }
    @GetMapping("toRegister1")
    public String Register1( String username,
                        String password){

        return "index";
    }

    @PostMapping("toRegister")
    public String register(@RequestParam String username,
                           @RequestParam String password){

        return "index";
    }

在浏览器分别访问http://localhost:8080/register1和http://localhost:8080/register输入123,33,点击注册跳转到的页面的url分别是

http://localhost:8080/toRegister1?username=123&password=33和 http://localhost:8080/toRegister

这两个注解的不同就是提交方式的不同,从而导致跳转的url不同

项目源码地址:gitee项目源码
资源链接:项目源码

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/695581.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号