[series Spring Boot] 7. Http Request

quydtkt

Administrator
1/11/19
365
35
28
26
Trong bài này, chúng ta sẽ cùng tìm hiểu về request trong Spring Boot.

1. Truyền dữ liệu từ controller lên view trong mô hình MVC
- Trong mô hình MVC, view là phần dùng để hiển thị dữ liệu ra màn hình cho người dùng nhìn thấy, không thực hiện xử lý tính toán.
- Phần chịu trách nhiệm xử lý dữ liệu trước khi đưa lên view để hiển thị ra màn hình là controller.
- Vậy controller dùng gì để đưa dữ liệu lên cho view. Hầu hết các ứng dụng java web sử dụng request để thực hiện điều này. Request có thể hiển đơn giản là một gói chứa các thông tin và yêu cầu của client gửi lên web server. Nó tồn tại từ khi trình duyệt web gửi yêu cầu lên server tới khi nhận được hồi đáp từ web server.
- Sau khi xử lý xong dữ liệu, controller đẩy các thông tin cần hiển thị lên màn hình vào request, sau đó view sẽ lấy dữ liệu trong request ra và hiển thị lên màn hình.
- Trong Spring Boot nói riêng và tất cả các ứng dụng java web nói chung, có thể thao tác với request thông qua class HttpServletRequest. Đây là class của java servlet.​

2. Cách sử dụng HttpServletRequest

HelloController.java
Java:
package vn.congdongjava.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
import javax.servlet.http.HttpServletRequest;
 
@Controller
public class HelloController {
 
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String index(HttpServletRequest request) {
		request.setAttribute("name", "quydtkt");
		request.setAttribute("age", 26);
 
		return "index";
	}
}
- Để sử dụng request, ta khai báo biến có kiểu HttpServletRequest là tham số đầu vào của request mapper. Spring Boot sẽ tự khởi tạo biến này cho chúng ta sử dụng mà không cần phải tự khởi tạo.
- Để đưa dữ liệu vào request, ta sử dụng phương thức setAttribute.
- HttpServletRequest cũng giống như Map, với key là String và value là Object.
- Hầu hết mọi kiểu dữ liệu đều có thể đưa vào request.
- Tại view, ta dùng key để truy cập đến các request attribute trong request. Tại đoạn code trên là 2 key “name” và “age”​

index.html
HTML:
<!DOCTYPE HTML>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
	<title>Cộng đồng Java - Http request</title>
</head>
<body>
Name [[${name}]]<br/>
Age [[${age}]]
</body>
</html>
- Để truy cập đến các request attribute trong request trên thymeleaf, có thể dùng cú pháp [[${key}]]. Đây là cú pháp của thymeleaf. Các bạn có thể tham khảo thêm tại https://www.thymeleaf.org

- Chạy project và truy cập vào link http://localhost:8080



Cám ơn các bạn đã theo dõi. Hẹn gặp lại trong bài viết tiếp theo :)
 

Attachments

Sửa lần cuối: