mvc 注解相应配置

简介: SpringMvc相应注解配置 @RequestParam 参数注解 @RequestHeader 请求头注解 @CookieValue Cookie注解 注解的好处是什么: 只要你写上相应的注解他就会给你得到相应的参数、减少了一些繁杂的操作 import org.

SpringMvc相应注解配置

     @RequestParam
        参数注解
     @RequestHeader
         请求头注解
     @CookieValue
         Cookie注解

注解的好处是什么:

         只要你写上相应的注解他就会给你得到相应的参数、减少了一些繁杂的操作

import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.net.ssl.HostnameVerifier;
import javax.servlet.http.Cookie;

@Controller
//所明这个类是控制器 要想管理servlet就得将他们集中起来进行统一的管理

@RequestMapping("/mm")
//@RequestMapping 请求注解 也可以写在类上 相当于一个虚拟夹子 也可以当做加一个父路径

public class Action {
    private String key;

    @RequestMapping(value = "/hehe", method = RequestMethod.POST, params = {"name", "a=10"})
    // 可以选择同一个url也就是value 不同的请求方式的方法 好处根据你的请求方式选择参数
    // params 根据参数确定方法
    //method 此参数是请求方式的选择
    public void Method(String uname, String password) {
        //需要表单参数可以直接在方法参数上写参数名他会自动帮你获得
        // 不用从请求头上面获得了 方便了不少
    }

    @RequestMapping("/H1")
    public void Method1(@RequestParam(value = "H1", required = false, defaultValue = "小明") String name) {
        //@RequestParam
        // value 参数重命名 可以帮你获得里面的值
        // required 必填选择默认必填 false表示不用必填
        //defaultValue 表示默认值 你要是不填我就按这个填写
    }

    @RequestMapping("/H2")
    public void Method2(@RequestHeader(value = "key", required = true, defaultValue = "") String Key) {
        //@RequestHeader
        // value 参数重命名 可以帮你获得里面的值
        // required 必填选择默认必填 false表示不用必填
        //defaultValue 表示默认值 你要是不填我就按这个填写
    }

    @RequestMapping("H3")
    public void Method3(@CookieValue(value = "JSESSIONID") String json) {
        // @CookieValue
        // value 参数重命名 可以帮你获得里面的值
        // required 必填选择默认必填 false表示不用必填
        //defaultValue 表示默认值 你要是不填我就按这个填写
        //好处可以帮你拿到cookie 因为cookie的拿取  和赋值的操作是真的麻烦

    }
    
}

@RequestBody 注解 接收请求的内容体 例如json、txt、xml等

   public void aVoid(@RequestBody String body) {
       //尼玛 这个注解 只能这样接受String body
       // 可以用来接受 json、txt、xml等格式
       //主要用法还是用来接收 json 将json一口气读上来
       System.out.println(body);
   }

mvc中的用对象来接收数据

    @RequestMapping(value = "/HH",method = RequestMethod.POST)
    public void Method(Stu stu) {
        //注意 他只接受对应着这个对象的值
        System.out.println(stu.getAddress());
        System.out.println(stu.getName());
    }

@RequestAttribute 标记 相当于request.setAttribute("a","A");//生命周期短

@ModelAttribute 标记在所有 方法之前执行 永远是这个标记下的方法最先执行
在其他方法中取值 @ModelAttribute("address") 在方法中说明注解及请求参数名称即可

    public void m1(Model model) {
        model.addAttribute("address","上海");//可以带参到请求头
        System.out.println(1111);
    }

Model&Map 参数 MVC会自动把你的Model中的数据默认存储在request对象中(用add的方法添加即可,他会自动将参数带入请求头当中)

@SessionAttributes 注解 (检索Model和Map的数据是否要存储在Session中)全Action都有效果
names 名字(Model和Map中如果有这个属性自动塞入到session中)

types 类型(Model和Map中如果有这个类自动塞入 session中)

@SessionAttribute 在方法属性中声明此注解

在session中帮我取一个值 required必填项 、 name和value表示名字

返回参数都会包装成ModelAndView对象 可以设置跳转的页面 可以将数据带入请求头 带值到跳转页面(转发形式的)

    public ModelAndView A(ModelAndView modelAndView/*这里的对象Spring会帮我们创建好*/) {
        //ModelAndView modelAndView=new ModelAndView(); 当然你也可以自己选择new对象
        modelAndView.addObject("name", "小红");//转发所带的值
        modelAndView.setViewName("aa");//跳转页面
        return modelAndView;//执行将对象返回出去 他就会按照你的参数进行跳转
    }

返回json数据 因为有些需求是需要 将值进行运算后 返回json数据的
1.添加处理jsonjar包、版本可以自己选

com.fasterxml.jackson.core
jackson-databind
2.9.4

2.在spring xml中支持 mvc的注解
mvc:annotation-driven>

3.然后把 @RsponseBody
可以写在方法返回值及方法上
也可以直接在类上写 @RestController(写在类上这个类的返回值都是json数据)
@Controller @ResponseBody 写这两个和前面意思一样 都是这个类返回值都是json数据
接受JSON数据可以使用 @RequestBody进行注解(写在属性上面)

    public @ResponseBody Stu A(Stu stu) {
        //可以将对象包装成json返回出去,对象的创建与返回 都有spring帮你完成
        stu.setAddress("北京");
        stu.setName("小明");
        return stu;
    }
    @RequestMapping("/execute")
    //这里是响应头
    public @ResponseBody HashMap execute10() {
        //返回键值对集合、可以嵌套包装成json返回
        HashMap hashMap = new HashMap();
        hashMap.put("name", "熬夜那不要怕多喝点花茶");
        hashMap.put("address","这样猝死会比较香");
        HashMap hashMap1 = new HashMap();
        hashMap1.put("名言",hashMap);
        return hashMap1;
    }

目录
相关文章
|
7月前
|
前端开发 Java 应用服务中间件
Springboot对MVC、tomcat扩展配置
Springboot对MVC、tomcat扩展配置
|
15天前
|
前端开发 Java Spring
Spring MVC核心:深入理解@RequestMapping注解
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的核心,它将HTTP请求映射到控制器的处理方法上。本文将深入探讨`@RequestMapping`注解的各个方面,包括其注解的使用方法、如何与Spring MVC的其他组件协同工作,以及在实际开发中的应用案例。
30 4
|
15天前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
41 2
|
15天前
|
前端开发 Java Spring
探索Spring MVC:@Controller注解的全面解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序的基石之一。它不仅简化了控制器的定义,还提供了一种优雅的方式来处理HTTP请求。本文将全面解析`@Controller`注解,包括其定义、用法、以及在Spring MVC中的作用。
33 2
|
15天前
|
前端开发 Java 开发者
Spring MVC中的控制器:@Controller注解全解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序控制层的核心。它不仅简化了控制器的定义,还提供了灵活的请求映射和处理机制。本文将深入探讨`@Controller`注解的用法、特点以及在实际开发中的应用。
33 0
|
3月前
|
前端开发 Java Spring
关于spring mvc 的 addPathPatterns 拦截配置常见问题
关于spring mvc 的 addPathPatterns 拦截配置常见问题
256 1
|
4月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
129 3
|
4月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
222 2
|
4月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
40 0
|
6月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
89 1