在jsp中用JSP和JSTL獲取服務器參數

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>  


<%
String path = request.getContextPath();  
request.setAttribute("path", path);
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>
<link rel="stylesheet" href="<%=path%>/resource/css/style.css" />
<link rel="stylesheet" href="${path}/resource/css/style.css" /> 
<link rel="stylesheet" href="${pageContext.request.contextPath}/resource/css/style.css" />



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章