首页 > 其他分享 >spring boot——请求与参数校验——spring-mvc-域对象共享数据——介绍一

spring boot——请求与参数校验——spring-mvc-域对象共享数据——介绍一

时间:2023-01-15 17:11:06浏览次数:37  
标签:HttpServletRequest RequestMapping spring boot request session mvc import public

 Spring MVC 中,控制器在接收到 DispatcherServlet 分发过来的请求后,会继续调用 Model 层对请求进行处理。Model 层处理完请求后的结果被称为模型数据,会将模型数据返回给 Controller。

Controller 在接收到 Model 层返回的模型数据后,下一步就是将模型数据通过域对象共享的方式传递给 View 视图进行渲染,最终返回给客户端展示。

 

 

 

域对象是服务器在内存上创建的一块存储空间,主要用不同动态资源之间的数据传递和数据共享。在 Spring MVC 中,常用的域对象有 request 域对象、session 域对象、application 域对象等。

 

 

 

Spring MVC 提供了多种域对象共享数据的方式,其中最常用的方式如下:

  • 使用 Servlet API 向 request 域对象中共享数据
  • 使用 ModelAndView 向 request 域对象中共享数据
  • 使用 Model 向 request 域对象中共享数据
  • 使用 Map 向 request 域对象中共享数据
  • 使用 ModelMap 向 request 域对象中共享数据
  • 使用 Servlet API 向 session 域中共享数据
  • 使用 Servlet API 向 application 域中共享数据


下面我们就一一对这几种域对象共享数据的方式进行介绍。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

之前笔记:https://www.cnblogs.com/xiaobaibailongma/p/17035102.html

 

 

 

package org.example.controller.requestparam;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@RestController
public class ShareValueController {


    // http://localhost:8080/shareValue001


    /**
     * 域共享数据——request只在一次请求中有效,不能跨请求,转发过程也是一次请求,也是有效的
     * @param request
     * @return
     */
    @RequestMapping("/shareValue001")
    public String test1(HttpServletRequest request) {

        request.setAttribute("a","b");
        Object ac = request.getAttribute("a");
        System.out.println(ac);
        request.removeAttribute("a");

        Object acb = request.getAttribute("a");
        System.out.println(acb);

        return "cheng_gong";
    }






    @RequestMapping(value = "/shareValue002")
    public void test2(HttpServletRequest request, HttpServletResponse response)
    {

        HttpSession session = request.getSession();

        session.setAttribute("msg","session-hello");

    }


    @RequestMapping(value = "/shareValue003")
    public void test3(HttpServletRequest request,HttpServletResponse response)
    {

        HttpSession session = request.getSession();
        Object as = session.getAttribute("msg");
        System.out.println(as);

    }












}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

之前笔记:https://www.cnblogs.com/xiaobaibailongma/p/17048145.html

package org.example.controller.requestparam;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@RestController
public class ShareValueController {


    // http://localhost:8080/shareValue001


    /**
     * 域共享数据——request只在一次请求中有效,不能跨请求,转发过程也是一次请求,也是有效的
     * @param request
     * @return
     */
    @RequestMapping("/shareValue001")
    public String test1(HttpServletRequest request) {

        request.setAttribute("a","b");
        Object ac = request.getAttribute("a");
        System.out.println(ac);
        request.removeAttribute("a");

        Object acb = request.getAttribute("a");
        System.out.println(acb);

        return "cheng_gong";
    }






    @RequestMapping(value = "/shareValue002")
    public void test2(HttpServletRequest request, HttpServletResponse response)
    {

        HttpSession session = request.getSession();

        session.setAttribute("msg","session-hello");

    }


    @RequestMapping(value = "/shareValue003")
    public void test3(HttpServletRequest request,HttpServletResponse response)
    {

        HttpSession session = request.getSession();
        Object as = session.getAttribute("msg");
        System.out.println(as);

    }












}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

笔记:https://www.cnblogs.com/xiaobaibailongma/p/17045120.html

 

 

 

 

 

package org.example.controller.requestparam;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@RestController
public class ShareValueController {


    // http://localhost:8080/shareValue001


    /**
     * 域共享数据——request只在一次请求中有效,不能跨请求,转发过程也是一次请求,也是有效的
     * @param request
     * @return
     */
    @RequestMapping("/shareValue001")
    public String test1(HttpServletRequest request) {

        request.setAttribute("a","b");
        Object ac = request.getAttribute("a");
        System.out.println(ac);
        request.removeAttribute("a");

        Object acb = request.getAttribute("a");
        System.out.println(acb);

        return "cheng_gong";
    }






    @RequestMapping(value = "/shareValue002")
    public void test2(HttpServletRequest request, HttpServletResponse response)
    {

        HttpSession session = request.getSession();

        session.setAttribute("msg","session-hello");

    }


    @RequestMapping(value = "/shareValue003")
    public void test3(HttpServletRequest request,HttpServletResponse response)
    {

        HttpSession session = request.getSession();
        Object as = session.getAttribute("msg");
        System.out.println(as);

    }




    @RequestMapping(value = "/shareValue004")
    public void test4(HttpServletRequest request,HttpServletResponse response)
    {

        HttpSession session = request.getSession();
        ServletContext application = session.getServletContext();
        application.setAttribute("testApplicationScope", "hello,application");

    }



    @RequestMapping(value = "/shareValue005")
    public void test5(HttpServletRequest request,HttpServletResponse response)
    {

        HttpSession session = request.getSession();
        ServletContext application = session.getServletContext();
        Object ad = application.getAttribute("testApplicationScope");
        System.out.println(ad);


    }









}

 

标签:HttpServletRequest,RequestMapping,spring,boot,request,session,mvc,import,public
From: https://www.cnblogs.com/xiaobaibailongma/p/17053775.html

相关文章