Khi Web Container khởi tạo một servlet, nó tạo một đối tượng ServletConfig cho servlet. Đối tượng ServletConfig được sử dụng để truyền thông tin tới một servlet trong quá trình khởi tạo bằng cách lấy thông tin cấu hình từ web.xml (Deployment Descriptor).
Các phương thức ServletConfig
- String
getInitParameter(String name):
trả về một tham số khởi tạo giá trị String, hoặc NULL nếu tham số không tồn tại. - Enumeration
getInitParameterNames():
trả về tên của các tham số khởi tạo của servlet như là một Enumeration of String objects, hoặc một Enumeration trống nếu servlet không có tham số khởi tạo. - ServletContext
getServletContext():
trả về một tham chiếu đến ServletContext - String
getServletName():
trả về tên của ví dụ servlet
Làm thế nào để khởi tạo một Servlet bên trong web.xml
Trong file Deployment Descriptor (web.xml),
Hoặc Bên trong lớp Servlet, sử dụng mã sau đây,
ServletConfig sc = getServletConfig(); out.println(sc.getInitParameter("email"));
Ví dụ về cách sử dụng ServletConfig
web.xml
<web-app...> <servlet> <servlet-name>check</servlet-name> <servlet-class>MyServlet</servlet-class> <init-param> <param-name>email</param-name> <param-value>we@studytonight.com</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>check</servlet-name> <url-pattern>/check</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
MyServlet class :
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); ServletConfig sc=getServletConfig(); out.println(sc.getInitParameter("email")); }