SpringMVC1.4——响应处理

其他框架文章点这个

1.无返回值的响应

1、请求链接:

<a href="responseTest1">responseTest1</a><br/>

2、后台代码:

    @RequestMapping("/responseTest1")
    public void responseTest1(){
        System.out.println("t1执行了");
    }

3、执行结果:
控制台打印:t1执行了
浏览器显示页面:在这里插入图片描述
从这里可以看出,如果不设置返回值的话,会默认跳转到访问地址.jsp页面。而如果没有这个页面的话,就会404报错。
4、手动转发或重定向

    @RequestMapping("/responseTest1")
    public void responseTest1(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //转发
        //request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response);

        //重定向
        response.sendRedirect(request.getContextPath()+"/show.jsp");
    }

需要注意的是:重定向是不能访问到WEB-INF下面的文件的,所以需要在外部重新编写一个。

2.返回值为ModelAndView的响应

Controller中的代码

    @RequestMapping("/responseTest2")
    public ModelAndView responseTest2(){
        ModelAndView mv = new ModelAndView();
        User user = new User();
        user.setName("张三");
        user.setAge("23");
        mv.addObject("user", user);
        //设置跳转的位置
        mv.setViewName("success");
        return mv;
    }

success.jsp中的代码

${ user.name } ${ user.age }

页面结果:
在这里插入图片描述

3.使用SpringMVC框架关键字的转发或重定向

    @RequestMapping("/responseTest3")
    public String responseTest3(){
        //转发
        //return "forward:/WEB-INF/pages/success.jsp";
        //重定向
        return "redirect:/show.jsp";
    }

4. ResponseBody响应Json数据

1.在pom添加依赖支持json数据的传递

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.0</version>
    </dependency>

2.编写请求页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#btn").click(function(){
                $.ajax({
                	//发数据
                    url:"responseTest4",
                    contentType:"application/json;charset=UTD-8",
                    data:'{"name":"张三","age":"23"}',
                    dataType:"json",
                    type:"post",
					//接收到数据进行显示
                    success:function (data) {
                        alert(data.name);
                    }
                });
            });
        });
    </script>
</head>
<body>
    <button id="btn" type="button">按钮</button>
</body>
</html>

3.编写后台代码:

    @RequestMapping("/responseTest4")
    public @ResponseBody User responseTest4(@RequestBody User user){
        System.out.println(user);
        user.setName("李四");
        return user;
    }

4.结果展示:
在这里插入图片描述
点击按钮后
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值