SpringMVC_4 响应数据和结果视图

SpringMVC_4 响应数据和结果视图

4.1 响应之返回值是String
4.2 响应之返回值是void类型

默认:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Til9Abn-1575903350213)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\1568062840787.png)]

测试代码

/**
     * 2)返回值void,默认返回方法名,可以自己转
     */
    @RequestMapping("/testVoid")
    public void testVoid(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("anchor1");
        //编写请求转发的程序
        /**
         * 1)请求转发是一次请求,不用编写项目的名称
         */
        //request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request, response);
        /**
         * 2)重定向
         */
//        System.out.println(request.getContextPath());
//        response.sendRedirect(request.getContextPath()+"/index.jsp");
        /**
         * 3)直接响应
         */
        //设置中文乱码
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().print("hello哈啊");
        return;
    }
4.3 返回值是ModuleAndView类型

ModuleAndView对象是Spring所提供的一个对象,可以用来调整具体的SP视图

 @RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        //创建一个ModelAndView对象
        ModelAndView mv = new ModelAndView();
        System.out.println("anchor2");
        User user = new User();
        user.setUsername("美美");
        user.setPassword("33");
        user.setAge(30);
        //把user对象存储在mv对象中,也会把mv对象存入到request对象
        mv.addObject("user", user);
        //跳转到哪个页面
        mv.setViewName("success");
        return mv;
    }
4.4 响应之使用forward和redirect进行页面跳转
 @RequestMapping("/testForwardOrRedirect")
    public String testForwardOrRedirect(){
        System.out.println("执行了");
        //return "forward:/WEB-INF/pages/success.jsp";
        //重定向
        return "redirect:/index.jsp";
    }
4.5 响应json数据之过滤静态资源

(1)jquery.mni.js

复制一个,到如下目录(重要,与引入js文件和静态资源过滤有关)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fZxLfMRO-1575903350215)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\1568069267665.png)]

(2)配置请求页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RnLyP0An-1575903350217)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\1568069321729.png)]

请求页面引入jquery.mni.js

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EKvbsqEa-1575903350219)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\1568069425375.png)]

注意,引入时候实际上不能引入,原因:

DispatcherServlet会拦截到所有的资源,导致一个问题就是静态资源(img、css、js)也会被拦截到,从而不能被使用。解决问题就是需要配置静态资源不进行拦截,在springmvc.xml配置文件添加如下配置:

 <!-- 设置静态资源不过滤 -->
    <mvc:resources location="/css/" mapping="/css/**"/> <!-- 样式 -->
    <mvc:resources location="/images/" mapping="/images/**"/> <!-- 图片 -->
    <mvc:resources location="/js/" mapping="/js/**"/> <!-- javascript -->

(3)配置controller

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YmXkxlky-1575903350223)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\1568069598268.png)]

如果直接是@RequestBody 后面加String body,将会得到请求体的信息

(4):(3)中使用的两个注解表示能够自动将json转为对象,将对象转为json,但是要想使用这两个注解,必须要引入json三jar包,如下

jackson-databind
jackson-core
jackson-annotations

son转为对象,将对象转为json,但是要想使用这两个注解,必须要引入json三jar包,如下

jackson-databind
jackson-core
jackson-annotations
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值