仿牛客论坛-SpringMVC入门-1

获取请求数据;返回响应数据

  • HttpServletRequest request, HttpServletResponse response
    response.getWrite();
// controller.AlphaController
    
// HttpServletRequest request, HttpServletResponse response
@RequestMapping("/http")
public void http(HttpServletRequest request, HttpServletResponse response) {
    // 获取请求数据
    // request.~~~
    System.out.println(request.getMethod());
    System.out.println(request.getServletPath());
    Enumeration<String> enumeration = request.getHeaderNames();
    while (enumeration.hasMoreElements()) {
        String name = enumeration.nextElement();
        String value = request.getHeader(name);
        System.out.println(name + ": " + value);
    }
    System.out.println(request.getParameter("code")); //path?code=123&name=234

    // 返回响应数据
    // response.getWrite();
    response.setContentType("text/html;charset=utf-8");
    try (
        PrintWriter writer = response.getWriter();
    ) {
        writer.write("<h1>xx网</h1>");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

返回响应Html数据

  • ModelAndView mav = new ModelAndView();
    return mav;

  • Model model
    return “/demo/view”;

--controller-AlphaController
    
// 方法一:
// ModelAndView mav = new ModelAndView();
// return mav;
@RequestMapping(path = "/teacher", method = RequestMethod.GET)
public ModelAndView getTeacher() {
    ModelAndView mav = new ModelAndView();
    mav.addObject("name", "张三");
    mav.addObject("age", 30);
    mav.setViewName("/demo/view"); //templates-demo-view.html
    return mav;
}

// 方法二:Model model
// Model model
// return "/demo/view";
@RequestMapping(path = "/school", method = RequestMethod.GET)
public String getSchool(Model model) {
    model.addAttribute("name", "北京大学");
    model.addAttribute("age", 80);
    return "/demo/view";
}

返回响应JSON数据

  • @ResponseBody
--controller-AlphaController

@RequestMapping(path = "/emp", method = RequestMethod.GET)
@ResponseBody // 返回json不是html
public Map<String, Object> getEmp() {
    Map<String, Object> emp = new HashMap<>();
    emp.put("name", "张三");
    emp.put("age", 23);
    return emp;
}

路径中得到变量(get)

  • @RequestParam
  • @PathVariable
--controller.AlphaController

// /students?current=1&limit=20
@RequestMapping(path = "/students", method = RequestMethod.GET)
@ResponseBody
public String getStudents(
    @RequestParam(name = "current", required = false, defaultValue = "1") int current,
    @RequestParam(name = "limit", required = false, defaultValue = "10") int limit) {
    System.out.println(current);
    System.out.println(limit);
    return "some students";
}

// 参数是路径的一部分
// /student/123
@RequestMapping(path = "/student/{id}", method = RequestMethod.GET)
@ResponseBody
public String getStudent(@PathVariable("id") int id) {
    System.out.println(id);
    return "a student";
}

Post请求

<!--resources-static-html-student.html-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>增加学生</title>
</head>
<body>
	<!--localhost:8080/communtiy/html/student.html-->
    <form method="post" action="/community/alpha/student"> 
        <p>
            姓名: <input type="text" name="name">
        </p>
        <p>
            年龄: <input type="text" name="age">
        </p>
        <p>
            <input type="submit" value="保存">
        </p>
    </form>

</body>
</html>
// controller-AlphaController​
// 与post中的name相同即可
 @RequestMapping(path = "/student", method =RequestMethod.POST)
 @ResponseBody
 public String saveStudent(String name, int age) {
     System.out.println(name);
     System.out.println(age);
     return "success";
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值