import javax.servlet.ServletContext; //导入方法依赖的package包/类
protected String getCGIVariable( String name ) {
String retVal = null;
if ( name.equalsIgnoreCase( "AUTH_TYPE" ) ) {
retVal = req.getAuthType();
} else if ( name.equalsIgnoreCase( "CONTENT_LENGTH" ) ) {
int contentLength = req.getContentLength();
if ( contentLength >= 0 ) {
retVal = Integer.toString( contentLength );
}
} else if ( name.equalsIgnoreCase( "CONTENT_TYPE" ) ) {
retVal = req.getContentType();
} else if ( name.equalsIgnoreCase( "DOCUMENT_NAME" ) ) {
String requestURI = req.getRequestURI();
retVal = requestURI.substring( requestURI.lastIndexOf('/') + 1 );
} else if ( name.equalsIgnoreCase( "DOCUMENT_URI" ) ) {
retVal = req.getRequestURI();
} else if ( name.equalsIgnoreCase( "GATEWAY_INTERFACE" ) ) {
retVal = "CGI/1.1";
} else if ( name.equalsIgnoreCase( "PATH_INFO" ) ) {
retVal = req.getPathInfo();
} else if ( name.equalsIgnoreCase( "PATH_TRANSLATED" ) ) {
retVal = req.getPathTranslated();
} else if ( name.equalsIgnoreCase( "QUERY_STRING" ) ) {
//apache displays this as an empty string rather than (none)
retVal = nullToEmptyString( req.getQueryString() );
} else if ( name.equalsIgnoreCase( "QUERY_STRING_UNESCAPED" ) ) {
String queryString = req.getQueryString();
if ( queryString != null ) {
retVal = URLDecoder.decode( queryString );
}
} else if ( name.equalsIgnoreCase( "REMOTE_ADDR" ) ) {
retVal = req.getRemoteAddr();
} else if ( name.equalsIgnoreCase( "REMOTE_HOST" ) ) {
retVal = req.getRemoteHost();
} else if ( name.equalsIgnoreCase( "REMOTE_USER" ) ) {
retVal = req.getRemoteUser();
} else if ( name.equalsIgnoreCase( "REQUEST_METHOD" ) ) {
retVal = req.getMethod();
} else if ( name.equalsIgnoreCase( "SCRIPT_NAME" ) ) {
retVal = req.getServletPath();
} else if ( name.equalsIgnoreCase( "SERVER_NAME" ) ) {
retVal = req.getServerName();
} else if ( name.equalsIgnoreCase( "SERVER_PORT" ) ) {
retVal = Integer.toString( req.getServerPort() );
} else if ( name.equalsIgnoreCase( "SERVER_PROTOCOL" ) ) {
retVal = req.getProtocol();
} else if ( name.equalsIgnoreCase( "SERVER_SOFTWARE" ) ) {
ServletContext servletContext = servlet.getServletContext();
retVal = servletContext.getServerInfo();
}
return retVal;
}