SpringMVC的响应

SpringMVC的响应

  1. 直接响应
    /**
         * 直接响应:使用response对象
         * 使用:在单元方法上声明形参接收。
         * 注意:
         *  单元方法就不需要声明返回值。
         */
    @RequestMapping("demo1")  //声明请求方法的别名
    public void demo1(String uname, String pwd, HttpServletResponse response) throws IOException {
        System.out.println(uname + ":" + pwd);
        response.getWriter().write("today is a good day");
    }
    
  2. 请求转发
    /**
         * 请求转发:
         *  使用:以返回值的形式告诉DispatchServlet,要请求转的资源路径。
         *  格式:
         *      return "forward:/路径";
         *
         *      路径可以为某个jsp资源的路径,也可以是某个单元方法的别名。
         *
         *  注意:
         *      /表示项目根目录。
         * 注意2:
         *  单元方法的返回值类型为String
         *  注意3:
         *      默认方式就是请求转发,forward:可以省略不写。
         */
    @RequestMapping("demo2")  //声明请求方法的别名
    public String demo2(String uname, String pwd){
        System.out.println(uname + ":" + pwd);
        return "forward:/show.jsp";
    }
    
  3. 重定向
    /**
         * resp.sendRedirect(req.getContextPath+"/show2.jsp");
         * 重定向:
         *  使用:以返回值的形式告诉DispatchServlet,要重定向的资源路径。
         *  格式:
         *      return "redirect:/路径"
         *       路径可以为某个jsp资源的路径,也可以是某个单元方法的别名。
         *  注意:
         *      /表示项目根目录。
         * 注意2:
         *  单元方法的返回值类型为String
         */
    @RequestMapping("demo3")  //声明请求方法的别名
    public String demo3(String uname, String pwd){
        System.out.println(uname + ":" + pwd);
        return "redirect:/show.jsp";
    }
    
  4. ajax的响应
    /*响应ajax的json对象,直接响应的就是对象,要导入Gson或者jackson*/
    @RequestMapping("demo4")  //声明请求方法的别名
    @ResponseBody   //告知控制器我要响应的是ajax响应
    public List<User> demo4(String uname, String pwd){
        System.out.println(uname + ":" + pwd);
        List<User> user = userService.find();
        return user;
    }
    
  5. 返回值是ModelAndView类型
    @RequestMapping("modelAndView")
    public ModelAndView modelAndView(){
        //创建modelAndView对象
        ModelAndView mv = new ModelAndView();
        System.out.println("Hello MVC");
        User user = new User();
        user.setUname("zhangsan");
        user.setPwd("123");
        //把user对象存储到mv对象中,底层会把user存到request域中
        mv.addObject("user",user);
        //跳转到哪个页面
        mv.setViewName("success");  //配置了视图解析器
        return mv;
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值