[Servlet/JSP] Lập trình Java Servlet cơ bản P4: Lây thông tin cơ bản của Servlet

Đăng bởi: Admin | Lượt xem: 4742 | Chuyên mục: Servlet/JSP

Trong bài viết này, chúng ta cùng tìm hiểu cách lấy thông tin cơ bản của Servlet ví dụ như thông tin request từ client, thông tin server, thông tin client,...


Để thực hiện được hướng dẫn này, bạn cần đọc và thực hiện những hướng dẫn ở bài viết trước:

1. Tạo WebProject đầu tiên

2. Cấu hình eclipse

3. Tạo và chạy Servlet đầu tiên

Xem bài viết trước tại đây

Lấy các thông tin cơ bản của Servlet

Bạn có thể lấy ra các thông tin liên quan tới lần phục vụ của Servlet chẳng hạn:

  1. Thông tin request từ client.
  2. Thông tin Server
  3. Thông tin Client
  4. Thông tin Header gửi theo request
  5. ....

ExampleInfoServlet.java

package org.o7planning.tutorial.servlet;
 
import java.io.IOException;
import java.util.Enumeration;
 
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/other/exampleInfo")
public class ExampleInfoServlet extends HttpServlet {
 
    private static final long serialVersionUID = 1L;
 
    public ExampleInfoServlet() {
        super();
    }
 
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ServletOutputStream out = response.getOutputStream();
 
        out.println("<style> span {color:blue;} </style>");
 
        String requestURL = request.getRequestURL().toString();
        out.println("<br><span>requestURL:</span>");
        out.println(requestURL);
 
        String requestURI = request.getRequestURI();
        out.println("<br><span>requestURI:</span>");
        out.println(requestURI);
 
        String contextPath = request.getContextPath();
        out.println("<br><span>contextPath:</span>");
        out.println(contextPath);
 
        out.println("<br><span>servletPath:</span>");
        String servletPath = request.getServletPath();
        out.println(servletPath);
 
        String queryString = request.getQueryString();
        out.println("<br><span>queryString:</span>");
        out.println(queryString);
 
        String param1 = request.getParameter("text1");
        out.println("<br><span>getParameter text1:</span>");
        out.println(param1);
 
        String param2 = request.getParameter("text2");
        out.println("<br><span>getParameter text2:</span>");
        out.println(param2);
 
        // Server Infos
        out.println("<br><br><b>Server info:</b>");
 
        out.println("<br><span>serverName:</span>");
        String serverName = request.getServerName();
        out.println(serverName);
 
        out.println("<br><span>serverPort:</span>");
        int serverPort = request.getServerPort();
        out.println(serverPort + "");
 
        // Client Infos
        out.println("<br><br><b>Client info:</b>");
 
        out.println("<br><span>remoteAddr:</span>");
        String remoteAddr = request.getRemoteAddr();
        out.println(remoteAddr);
 
        out.println("<br><span>remoteHost:</span>");
        String remoteHost = request.getRemoteHost();
        out.println(remoteHost);
 
        out.println("<br><span>remoteHost:</span>");
        int remotePort = request.getRemotePort();
        out.println(remotePort + "");
 
        out.println("<br><span>remoteUser:</span>");
        String remoteUser = request.getRemoteUser();
        out.println(remoteUser);
 
        // Header Infos
        out.println("<br><br><b>headers:</b>");
 
        Enumeration<String> headers = request.getHeaderNames();
        while (headers.hasMoreElements()) {
            String header = headers.nextElement();
            out.println("<br><span>" + header + "</span>: " + request.getHeader(header));
        }
 
        // Servlet Context info:
        out.println("<br><br><b>Servlet Context info:</b>");
        ServletContext servletContext = request.getServletContext();
 
        // Vị trí của ứng dụng web trên ổ cứng (hard disk).
        out.println("<br><span>realPath:</span>");
        String realPath = servletContext.getRealPath("");
        out.println(realPath);
    }
 
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doGet(request, response);
    }
 
}

Hãy xem hình minh họa dưới đây, với các thông tin mà bạn quan tâm:

Chạy lại ứng dụng web và truy cập vào đường dẫn:

Kết quả nhận được:

Xem hướng dẫn tiếp theo tại đây

vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!



Khóa học liên quan

Khóa học: Servlet/JSP