jsp获取客户端信息和服务器信息

<%
    String agent = request.getHeader("user-agent");  
	StringTokenizer st = new StringTokenizer(agent,";");  
	//得到用户的浏览器名  
	String userbrowser = st.nextToken();
	//得到用户的操作系统名  
	String useros = st.nextToken();
	//取得本机的信息也可以这样:  
	//操作系统信息  
	String sysn = System.getProperty("os.name"); //win2003竟然是win xp?  
	String sysv = System.getProperty("os.version");  
	String sysa = System.getProperty("os.arch");
	out.println(userbrowser + "<br/>" + useros + "<br/>" + sysn + "<br/>" + sysv + "<br/>" +sysa + "<br/>");  
   %>

浏览器:

request.getheader(“user-agent”):返回客户端浏览器的版本号、类型

getheader(string name):获得http协议定义的传送文件头信息

request. getmethod():获得客户端向服务器端传送数据的方法有get、post、put等类型

request. getrequesturi():获得发出请求字符串的客户端地址

request. getservletpath():获得客户端所请求的脚本文件的文件路径

request. getservername():获得服务器的名字

request.getserverport():获得服务器的端口号

request.getremoteaddr():获得客户端的ip地址

request.getremotehost():获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址

request.getprotocol():获得客户端使用协议

request.getheadernames():返回所有request header的名字,结果集是一个enumeration(枚举)类的实例

request.getheaders(string name):返回指定名字的request header的所有值,结果集是一个enumeration(枚举)类的实例

 

获得URL参数字符串:

[java]  view plain copy
  1. /** 
  2.      * 获取参数字符串 
  3.      *  
  4.      * @param request 
  5.      * @return 
  6.      */  
  7.     public static String getParamString(HttpServletRequest request) {  
  8.         String paramString = "";  
  9.         Enumeration enmu = request.getParameterNames();  
  10.         while (enmu.hasMoreElements()) {  
  11.             String name = (String) enmu.nextElement();  
  12.             String value = "";  
  13.             try {  
  14.                 value = URLEncoder.encode(request.getParameter(name), "utf-8");  
  15.             } catch (UnsupportedEncodingException e) {  
  16.                 e.printStackTrace();  
  17.             }  
  18.             paramString += name + "=" + value + "&";  
  19.         }  
  20.         if (paramString.length() > 0) {  
  21.             paramString = paramString.substring(0, paramString.length() - 1);  
  22.             return paramString;  
  23.         } else {  
  24.             return null;  
  25.         }  
  26.     }  

request.getHeader("referer"):获得上一级页面地址
      request.getRequestURI():获得请求页面相对路径

打印结果示例:

request.getRequestURI() /jqueryWeb/resources/request.jsp
      request.getRequestURL() http://localhost:8080/jqueryWeb/resources/request.jsp
      request.getContextPath()/jqueryWeb

      request.getServletPath()/resources/request.jsp



<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> 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值