SpringMVC的数据响应(一)

4.SpringMVC的数据响应

4.1.SpringMVC的数据响应方式(理解)

1.页面跳转

  • 直接返回字符串

  • 通过ModelAndView对象返回

2.回写数据

  • 直接返回字符串(解析json数据)

  • 返回对象或集合

4.2.SpringMVC的数据响应-页面跳转-返回字符串形式(应用)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OxdfClO3-1671702092565)(C:\Users\紫轩蝶泪\AppData\Roaming\Typora\typora-user-images\image-20220916113108020.png)]

WEB-INF是受饱保护的文件夹,外部很难访问到里面的内容。

4.3.SpringMVC的数据响应-页面跳转-返回ModelAndView形式1(应用)

在Controller中方法返回ModelAndView对象,并且设置视图名称

    @RequestMapping(value = "/login2")  //请求地址
    public ModelAndView login2() {
        /**
         * Model:模型,作用封装数据
         * View:视图:作用展示数据
         * */
        ModelAndView modelAndView = new ModelAndView();
        //设置模型数据
        modelAndView.addObject("username", "楠木");
        //设置视图名称
        modelAndView.setViewName("login");
        return modelAndView;
    }

4.4.SpringMVC的数据响应-页面跳转-返回ModelAndView形式2(应用)

在Controller中方法形参上直接声明ModelAndView,无需在方法中自己创建,在方法中直接使用该对象设置视图,同样可以跳转页面,SpringMVC自己会给方法中传入参数

  @RequestMapping(value = "/login3")  //请求地址
    public ModelAndView login3(ModelAndView modelAndView) {
        /**
         * Model:模型,作用封装数据
         * View:视图:作用展示数据
         * */
        //设置模型数据
        modelAndView.addObject("username", "楠羽");
        //设置视图名称
        modelAndView.setViewName("login");
        return modelAndView;
    }

 @RequestMapping(value = "/login4")  //请求地址
    public String login4(Model model) {
        /**
         * Model:模型,作用封装数据
         * View:视图:作用展示数据
         * */
        //设置模型数据
        model.addAttribute("username", "楠慧");
        return "login";
    }

4.5.SpringMVC的数据响应-页面跳转-返回ModelAndView3(应用)

在Controller方法的形参上可以直接使用原生的HttpServeltRequest对象,只需声明即可

    @RequestMapping(value = "/login5")  //请求地址
    public String login5(HttpServletRequest request) {
        request.setAttribute("username", "楠楠");//设置域对象
        return "login";
    }

你可能感兴趣的:(Spring,json,java,spring)