複製代碼 代碼如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JSP和JSTL擷取伺服器參數</title>
</head>
<body>
JSP方式<br/>
<%
String SERVER_NAME = request.getServerName();
String SERVER_SOFTWARE = getServletContext().getServerInfo();
String SERVER_PROTOCOL = request.getProtocol();
Integer SERVER_PORT = request.getServerPort();
String REQUEST_METHOD = request.getMethod();
String PATH_INFO = request.getPathInfo();
String PATH_TRANSLATED = request.getPathTranslated();
String SCRIPT_NAME = request.getServletPath();
String DOCUMENT_ROOT = request.getRealPath("/");
String QUERY_STRING = request.getQueryString();
String REMOTE_HOST = request.getRemoteHost();
String REMOTE_ADDR = request.getRemoteAddr();
String AUTH_TYPE = request.getAuthType();
String REMOTE_USER = request.getRemoteUser();
String CONTENT_TYPE = request.getContentType();
Integer CONTENT_LENGTH = request.getContentLength();
String HTTP_ACCEPT = request.getHeader("Accept");
String HTTP_USER_AGENT = request.getHeader("User-Agent");
String HTTP_REFERER = request.getHeader("Referer");
HashMap infoMap = new HashMap();
infoMap.put("SERVER_NAME", SERVER_NAME);
infoMap.put("SERVER_SOFTWARE", SERVER_SOFTWARE);
infoMap.put("SERVER_PROTOCOL", SERVER_PROTOCOL);
infoMap.put("SERVER_PORT", SERVER_PORT);
infoMap.put("REQUEST_METHOD", REQUEST_METHOD);
infoMap.put("PATH_INFO", PATH_INFO);
infoMap.put("PATH_TRANSLATED", PATH_TRANSLATED);
infoMap.put("SCRIPT_NAME", SCRIPT_NAME);
infoMap.put("DOCUMENT_ROOT", DOCUMENT_ROOT);
infoMap.put("QUERY_STRING", QUERY_STRING);
infoMap.put("REMOTE_HOST", REMOTE_HOST);
infoMap.put("REMOTE_ADDR", REMOTE_ADDR);
infoMap.put("AUTH_TYPE", AUTH_TYPE);
infoMap.put("REMOTE_USER", REMOTE_USER);
infoMap.put("CONTENT_TYPE", CONTENT_TYPE);
infoMap.put("CONTENT_LENGTH", CONTENT_LENGTH);
infoMap.put("HTTP_ACCEPT", HTTP_ACCEPT);
infoMap.put("HTTP_USER_AGENT", HTTP_USER_AGENT);
infoMap.put("HTTP_REFERER", HTTP_REFERER);
Iterator it = infoMap.keySet().iterator();
%>
<%
while (it.hasNext()) {
Object o = it.next();
%>
<%=o%>
<%=infoMap.get(o)%>
<% out.println("<br>"); }%>
<br/>
JSTL方式<br/>
${pageContext.request} |取得請求對象<br>
${pageContext.session} |取得session對象<br>
${pageContext.request.queryString} |取得請求的參數字串<br>
${pageContext.request.requestURL} |取得請求的URL,但不包括請求之參數字串<br>
${pageContext.request.contextPath} |服務的web application的名稱<br>
${pageContext.request.method} |取得HTTP的方法(GET、POST)<br>
${pageContext.request.protocol} |取得使用的協議(HTTP/1.1、HTTP/1.0)<br>
${pageContext.request.remoteUser} |取得使用者名稱稱<br>
${pageContext.session.new} |判斷session是否為新的,所謂新的session,表示剛由server產生而client尚未使用<br>
${pageContext.session.id} |取得session的ID<br>
${header["User-Agent"]}|使用者瀏覽器的版本<br/>
${header["Host"]}|IP<br/>
${pageContext.request.remoteAddr } |取得使用者的IP地址<br>
${pageContext.servletContext.serverInfo}|取得主機端的服務資訊<br>
${pageContext.request.serverPort}|連接埠資訊<br>
${pageContext.request.serverName}|伺服器名稱<br>
${pageContext.request.remoteHost}|客戶機名稱<br>
</body>
</html>