public class DemoServlet01 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//1.獲取HTTP請求消息中的請求方式
System.out.println("請求方式:" + request.getMethod());
//2.獲取請求行中資源名稱部分
System.out.println("資源部分= url:" + request.getRequestURL());
//3.獲取請求行中的參數部分
System.out.println("請求行中的參數:" + request.getQueryString());
//4.獲取請求行的協議和版本
System.out.println("請求的協議個版本:"+request.getProtocol());
//5.獲取WEB應用程序的路徑
System.out.println("獲取應用程序的路徑:"+ request.getContextPath());
//6.獲取Servlet的名稱或Servlet所映射的路徑
System.out.println("獲取Servlet的名稱:"+request.getServerName());
System.out.println( "路徑:" + request.getServletPath());
//7.獲取請求客戶端的IP地址
System.out.println("獲取客戶端的IP地址:" + request.getRemoteAddr());
//8.獲取請求客戶端的完整主機名
System.out.println("獲取請求客戶端的完整主機名:" + request.getRemoteHost());
//9.獲取請求客戶端網絡連接的端口號
System.out.println("客戶端網絡連接的端口號:" + request.getRemotePort());
//10.獲取Web服務器上接收當前請求網絡連接的IP地址
System.out.println("接收當前請求網絡連接的IP地址:" + request.getLocalAddr());
//11.獲取Web服務器上接收當前網絡連接IP所對應的主機名
System.out.println("接收當前網絡連接IP所對應的主機名:"+request.getLocalName());
//12.獲取Web服務器上接收當前網絡連接的端口號
System.out.println("獲取Web服務器上接收當前網絡連接的端口號:" + request.getLocalPort());
//13.獲取當前請求所指向的主機名
System.out.println("獲取當前請求所指向的主機名:" + request.getServerName());
//14.獲取當前請求所連接的服務器端口號
System.out.println("獲取當前請求所連接的服務器端口號:" + request.getServerPort());
//15.獲取請求的協議名
System.out.println("獲取請求的協議名:" + request.getScheme());
//16.獲取客戶端發出請求時的完整URL
System.out.println("獲取客戶端發出請求時的完整URL:" + request.getRequestURL());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class DemoServlet02 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("text/html;charset=utf-8");
//1.獲取一個指定頭字段值
System.out.println(request.getHeader("host"));
//2.獲取指定頭字段的多個值
Enumeration<String> names = request.getHeaderNames();
while(names.hasMoreElements()){
System.out.println(names.nextElement());
}
//3. 獲取請求頭中所有的請求頭字段的名稱
Enumeration<String> list = request.getHeaderNames();//所有的鍵
while(list.hasMoreElements()){
String name = list.nextElement();
String header = request.getHeader(name);
response.getWriter().println(name + " === " + header + "<br/>");
}
//4.獲取指定名稱參數
System.out.println("獲取指定名稱參數"+request.getParameter("username"));
//5.獲取所有參數名
Enumeration<String> parameterNames = request.getParameterNames();
//6.獲取多個參數值
System.out.println(Arrays.toString(request.getParameterValues("aihao")));
//7.用於將請求消息中的所有參數名和值裝入進一個Map對象中返回
Map<String, String[]> map = request.getParameterMap();
for (String key : map.keySet()) {
System.out.println(key + "--" + map.get(key));
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}