Nhiệm vụ thực sự của Servlet là xử lý yêu cầu của client. Servlet API cung cấp hai interfaces quan trọng javax.servlet.ServletRequest và javax.servlet.http.HttpServletRequest để gói gọn yêu cầu của client. Việc thực hiện các interfaces này cung cấp thông tin quan trọng về yêu cầu của client đến một servlet.
Một số phương thức quan trọng của ServletRequest
Phương thức | Mô tả |
---|---|
Object getAttribute(String name) |
Thuộc tính trả về đặt theo yêu cầu đối tượng theo tên |
Enumeration getAttributeName() |
Trả về một Enumeration có chứa tên của các thuộc tính có sẵn trong yêu cầu này |
int getContentLength() |
Kích thước trả về theo yêu cầu |
int getContentType() |
Loại phương tiện truyền thông trả về nội dung yêu cầu |
ServletInputStream getInputStream() |
Trả về một luồng đầu vào để đọc dữ liệu nhị phân |
String getParameter(String name) |
Trả về giá trị của tham số theo tên |
String getLocalAddr() |
Trả về địa chỉ Giao thức Internet (IP) của giao diện mà yêu cầu được nhận |
Enumeration getParameterNames() |
Trả về một bảng liệt kê các tên tham số |
String[] getParameterValues(String name) |
Trả về một mảng các đối tượng String có chứa tất cả các giá trị cho tham số yêu cầu đã cho, hoặc null nếu tham số không tồn tại |
ServletContext getServletContext() |
Trả về bối cảnh servlet của yêu cầu hiện tại. |
String getServerName() |
Trả về tên máy chủ lưu trữ của máy chủ mà yêu cầu đã được gửi |
int getServerPort() |
Trả về số cổng mà yêu cầu đã được gửi |
boolean isSecure() |
Trả về kiểu dữ liệu boolean cho biết yêu cầu này được thực hiện bằng cách sử dụng một kênh an toàn, chẳng hạn như HTTPS. |
void removeAttribute(String name) |
Loại bỏ một thuộc tính từ yêu cầu này |
void setAttribute(String name, Object o) |
Lưu trữ một thuộc tính trong yêu cầu này. |
HttpServletRequest interface
Interface HttpServletRequest thêm các phương thức có liên quan đến giao thức HTTP.
Một số phương thức quan trọng của HttpServletRequest
Phương thức | Mô tả |
---|---|
getContextPath() |
Trả về phần của URI yêu cầu chỉ ra ngữ cảnh của yêu cầu |
getCookies() |
Trả về một mảng chứa tất cả các đối tượng Cookie mà khách hàng đã gửi với yêu cầu này |
getQueryString() |
Trả về chuỗi truy vấn được chứa trong URL yêu cầu sau đường dẫn |
HttpSession getSession() |
Trả về hiện tại HttpSession liên kết với yêu cầu này hoặc, nếu không có phiên hiện tại và tạo là đúng, trả về một phiên mới |
getMethod() |
Trả lại tên của phương thức HTTP mà yêu cầu này được thực hiện, ví dụ như GET, POST, hoặc PUT. |
getPart(String name) |
Lấy phần với tên đã cho |
getPathInfo() |
Trả lại bất kỳ thông tin đường dẫn bổ sung liên quan đến URL mà khách hàng gửi khi thực hiện yêu cầu này. |
getServletPath() |
Trả về một phần của URL yêu cầu này gọi servlet |
Trong ví dụ này, tôi sẽ chỉ ra cách một tham số được chuyển đến một Servlet trong một đối tượng yêu cầu từ trang HTML.
Index.html
<form method="post" action="check"> Name <input type="text" name="user" > <input type="submit" value="submit"> </form>
Web.xml
<servlet> <servlet-name>check</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>check</servlet-name> <url-pattern>/check</url-pattern> </servlet-mapping>
MyServlet.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { String user=request.getParameter("user"); out.println("<h2> Welcome "+user+"</h2>"); } finally { out.close(); } } }
Đầu ra: