Tôi không chắc chắn chính xác cách cụm từ tiêu đề ở đây và do đó tôi không chắc chắn về cách tìm kiếm câu trả lời.Có ngữ cảnh yêu cầu trong Java không?
Tôi có một công cụ servlet java xử lý các yêu cầu. Giả sử chúng tôi có yêu cầu doGet:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//set up user data
//do whatever the user requested
SomeClass c = new SomeClass();
c.doSomething();
}
Bây giờ trong doMột cái gì đó, tôi muốn có thể truy cập người dùng đã thực hiện yêu cầu. Ngay bây giờ tôi đang làm việc đó bằng cách tạo ra một đối tượng java và đi qua nó để bất cứ nơi nào tôi cần:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//set up user data
MyUserObj userObj = new MyUserObj();
userObj.setId('123');
//do whatever the user requested
SomeClass c = new SomeClass(userObj);
c.doSomething();
}
Bằng cách này, tôi được tiếp cận với trường hợp của MyUserObj, và nó có thể được chuyển tiếp cùng nếu cần thiết.
Điều này cảm thấy cẩu thả. Trong asp.net MVC3 (Tôi hiện đang học nó, bắt đầu sau khi tôi bắt đầu học java, nhưng thấy điều này rất tiện lợi để tôi suy nghĩ lại cách tôi đang làm nó trong java), ví dụ, lưu trữ các mục cho hiện tại chủ đề như thế này: HttpContext.Current.Items.Add("myId", "123")
. HttpContext
là sau đó có sẵn trong các chức năng khác mà không cần tôi phải vượt qua xung quanh một đối tượng.
Có cách nào trong java để đặt một số biến cho mỗi yêu cầu (hoặc thậm chí đặt MyUserObject
để được truy cập sau) mà không truyền đối tượng thông qua làm tham số?
Nếu đây là một câu hỏi thường được trả lời, vui lòng chỉ cho tôi đúng hướng vì tôi không chắc chắn cách đặt cụm từ đó.
Tôi đã tự do chỉnh sửa tiêu đề của bạn. Vui lòng xác minh xem đó có phải là một trong những tốt – Bozho
Tôi chỉ cần chuyển nó xung quanh một cách rõ ràng, trạng thái tiềm ẩn và các phụ thuộc không tốt để bảo trì. Các khung như Spring sẽ giúp loại bỏ một số bản mẫu và sự lộn xộn bằng cách làm điều này một cách rõ ràng. – millimoose
Nếu bạn hiểu câu hỏi của tôi thì tôi tin tưởng chỉnh sửa tiêu đề của bạn tốt hơn tiêu đề gốc của tôi :) – Two13