ブラウザ入力: http://localhost:8080/community/alpha/http?code=10
@RequestMapping("/http") public void http(HttpServletRequest request, HttpServletResponse response) { // 获取请求数据 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")); // 返回响应数据 response.setContentType("text/html;charset=utf-8"); try { PrintWriter writer = response.getWriter(); writer.write("<h2>nowcoder</h2>"); } catch (IOException e) { e.printStackTrace(); } }
フロントエンド ページの表示: nowcoder
同時に、IDEA コンソール出力:
2. GET タイプのリクエストGET
/alpha/http
host: localhost:8080
connection: keep -alive
sec-ch-ua: " ブランドではありません";v="99", "Google Chrome";v="97", "Chromium";v="97"
sec-ch -ua- mobile: ?0
sec-ch-ua-platform: "Windows"
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/97.0.4692.99 Safari/537.36
accept: text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng ,*/ *;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site: none
sec-fetch-mode: navigate
sec-fetch-user : ?1
sec-fetch-dest: document
accept-encoding: gzip、deflate、br
accept- language: zh-CN,zh;q=0.9
cookie: Idea-10659edd= 72fa12c3-9b68 -4da6-8b68-38a81c822aa0###10
AlphaController に
GET を処理するメソッドを追加します。 リクエストのタイプ。
@GetMapping("/students") @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"; }
フロントエンド ページに表示される内容: 一部の学生同時に、IDEA コンソールの出力:
12.2 /student/123ブラウザ入力: http://localhost:8080/community/alpha/student/123100
@GetMapping("/student/{id}") @ResponseBody public String getStudent(@PathVariable("id") int id) { System.out.println(id); return "one student"; }
フロントエンド ページが表示されます。 1 人の生徒同時に、IDEA コンソールの出力:
1233. POST タイプのリクエスト
AlphaController に
POST タイプのリクエストを処理するメソッドを追加します。
@PostMapping("/student") @ResponseBody public String saveStudent(String name, int age) { System.out.println(name); System.out.println(age); return "success"; }resources/static/html/student.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>增加学生</title> </head> <body> <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>フロントエンドページ 名前、年齢、保存ボタンの 2 行からなるフォームを表示します。 「Lebron」と「38」を入力後、「保存」をクリックすると「成功」と表示されます。 4. HTML 形式のデータに応答する ブラウザへの
HTML 形式のデータに応答するメソッドを
AlphaController に追加します。
@GetMapping("/teacher") public ModelAndView getTeacher() { ModelAndView mav = new ModelAndView(); mav.addObject("name", "Lebron"); mav.addObject("age", 38); mav.setViewName("/demo/view"); return mav; }フロントエンド ページの表示:
Lebron4.2 モデルを使用するブラウザ入力: http://localhost:8080/community/alpha/school38
@GetMapping("/school") public String getSchool(Model model) { model.addAttribute("name", "xx大学"); model.addAttribute("age", 100); return "/demo/view"; }resources /templates/demo/view.html
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Teacher</title> </head> <body> <p th:text="${name}"></p> <p th:text="${age}"></p> </body> </html>フロントエンド ページには、
xx University5 が表示されます。 JSON 形式のデータ AlphaController100
にメソッドを追加して、JSON
形式のデータでブラウザに応答します。 5.1 単一セットのデータ
@GetMapping("/emp") @ResponseBody public Map<String, Object> getEmp() { Map<String, Object> emp = new HashMap<>(); emp.put("name", "Kitty"); emp.put("age", 20); emp.put("salary", 12000.00); return emp; }
フロントエンド ページ表示:
{"name":"Kitty","salary":12000.0,"age":20}
5.2 複数のデータセット
@GetMapping("/emps") @ResponseBody public List<Map<String, Object>> getEmps() { List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> emp = new HashMap<>(); emp.put("name", "Tom"); emp.put("age", 20); emp.put("salary", 12000.00); list.add(emp); emp = new HashMap<>(); emp.put("name", "Jerry"); emp.put("age", 18); emp.put("salary", 15000.00); list.add(emp); emp = new HashMap<>(); emp.put("name", "Leo"); emp.put("age", 25); emp.put("salary", 8000.00); list.add(emp); return list; }
フロントエンド ページには次のように表示されます:
[{"name":"Tom","salary":12000.0 ,"年齢": 20},{"名前":"ジェリー","給与":15000.0,"年齢":18},{"名前":"レオ","給与":8000.0,"年齢":25 }]以上がSpring Bootにおける各種リクエストやレスポンスの処理方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。