Home  >  Article  >  Database  >  六、访问CGI变量_MySQL

六、访问CGI变量_MySQL

WBOY
WBOYOriginal
2016-06-01 14:07:401012browse

6.1 CGI变量概述

   如果你是从传统的CGI编程转而学习Java Servlet,或许已经习惯了“CGI变量”这一概念。CGI变量汇集了各种有关请求的信息:

部分来自HTTP请求命令和请求头,例如Content-Length头;
部分来自Socket本身,例如主机的名字和IP地址;
也有部分与服务器安装配置有关,例如URL到实际路径的映射。
   6.2 标准CGI变量的Servlet等价表示

   下表假定request对象是提供给doGet和doPost方法的HttpServletRequest类型对象。 CGI变量  含义  从doGet或doPost访问  
AUTH_TYPE  如果提供了Authorization头,这里指定了具体的模式(basic或者digest)。  request.getAuthType()  
CONTENT_LENGTH  只用于POST请求,表示所发送数据的字节数。  严格地讲,等价的表达方式应该是String.valueOf(request.getContentLength())(返回一个字符串)。但更常见的是用request.getContentLength()返回含义相同的整数。  

CONTENT_TYPE  如果指定的话,表示后面所跟数据的类型。  request.getContentType()  
DOCUMENT_ROOT  与http://host/对应的路径。  getServletContext().getRealPath("/")
注意低版本Servlet规范中的等价表达方式是request.getRealPath("/")。

HTTP_XXX_YYY  访问任意HTTP头。  request.getHeader("Xxx-Yyy")  
PATH_INFO  URL中的附加路径信息,即URL中Servlet路径之后、查询字符串之前的那部分。  request.getPathInfo()  
PATH_TRANSLATED  映射到服务器实际路径之后的路径信息。  request.getPathTranslated()  
QUERY_STRING  这是字符串形式的附加到URL后面的查询字符串,数据仍旧是URL编码的。在Servlet中很少需要用到未经解码的数据,一般使用getParameter访问各个参数。  request.getQueryString()  
REMOTE_ADDR  发出请求的客户机的IP地址。  request.getRemoteAddr()  
REMOTE_HOST  发出请求的客户机的完整的域名,如java.sun.com。如果不能确定该域名,则返回IP地址。  request.getRemoteHost()  
REMOTE_USER  如果提供了Authorization头,则代表其用户部分。它代表发出请求的用户的名字。  request.getRemoteUser()  
REQUEST_METHOD  请求类型。通常是GET或者POST。但偶尔也会出现HEAD,PUT, DELETE,OPTIONS,或者 TRACE.  request.getMethod()  
SCRIPT_NAME  URL中调用Servlet的那一部分,不包含附加路径信息和查询字符串。  request.getServletPath()  
SERVER_NAME  Web服务器名字。  request.getServerName()  

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn