获取请求数据;返回响应数据
- 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";
}