resquest.getHeader()以及response.setContentType()

来源:互联网 发布:双程网络剧第1集 编辑:程序博客网 时间:2024/05/21 14:02

System.out.println("Protocol: " + request.getProtocol());    //返回http版本
System.out.println("Scheme: " + request.getScheme());     //返回当前请求所使用的协议
System.out.println("Server Name: " + request.getServerName() ); //获得服务器的名字
System.out.println("Server Port: " + request.getServerPort()); //获得服务器的端口号
System.out.println("rotocol: " + request.getProtocol());
System.out.println("Server Info: " + getServletConfig().getServletContext().getServerInfo()); //获得服务器信息
System.out.println("Remote Addr: " + request.getRemoteAddr()); /获得客户端的ip地址
System.out.println("Remote Host: " + request.getRemoteHost()); //获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址
System.out.println("Character Encoding: " + request.getCharacterEncoding()); //获得编码格式
System.out.println("Content Length: " + request.getContentLength()); //获得上传文件的大小
System.out.println("Content Type: "+ request.getContentType()); //获得发送数据的格式
System.out.println("Auth Type: " + request.getAuthType());  ///认证类型
System.out.println("HTTP Method: " + request.getMethod()); //获得客户端向服务器端传送数据的方法有get、post、put等类型
System.out.println("ath Info: " + request.getPathInfo()); //返回请求的实际URL相对于请求的serlvet的url的路径
System.out.println("ath Trans: " + request.getPathTranslated()); //映射到服务器的实际路径的路径信息
System.out.println("Query String: " + request.getQueryString()); //获得get方式传入的的参数
System.out.println("Remote User: " + request.getRemoteUser());  //使用Basic等验证方法登陆之后,就会返回用户名
System.out.println("Session Id: " + request.getRequestedSessionId());
System.out.println("Request URI: " + request.getRequestURI());//获得发出请求字符串的客户端地址

System.out.println("Servlet Path: " + request.getServletPath()); //获得客户端所请求的脚本文件的文件路径
System.out.println(request.getHeaderNames()); //返回所有request header的名字,结果集是一个enumeration(枚举)类的实例
System.out.println("Accept: " + request.getHeader("Accept"));
System.out.println("Host: " + request.getHeader("Host"));
System.out.println("Referer : " + request.getHeader("Referer"));
System.out.println("Accept-Language : " + request.getHeader("Accept-Language"));
System.out.println("Accept-Encoding : " + request.getHeader("Accept-Encoding"));
System.out.println("User-Agent : " + request.getHeader("User-Agent")); //返回客户端浏览器的版本号、类型
System.out.println("Connection : " + request.getHeader("Connection"));
System.out.println("Cookie : " + request.getHeader("Cookie"));
System.out.println("Created : " + session.getCreationTime());
System.out.println("LastAccessed : " + session.getLastAccessedTime());






response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。

Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考。
response.setContentType("text/html; charset=utf-8"); html
.setContentType("text/plain; charset=utf-8"); 文本
text/javascript json数据
application/xml xml数据

这个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设置Content-type实体报头。
一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");


response.setContentType()的String参数及对应类型

<optionvalue="image/bmp">BMP</option>
<option value="image/gif">GIF</option>
<option value="image/jpeg">JPEG</option>
<option value="image/tiff">TIFF</option>
<option value="image/x-dcx">DCX</option>
<option value="image/x-pcx">PCX</option>
<option value="text/html">HTML</option> //浏览器自动解析html格式
<option value="text/plain">TXT</option> //text格式
<option value="text/xml">XML</option> //xml格式
<option value="application/afp">AFP</option>
<option value="application/pdf">PDF</option>
<option value="application/rtf">RTF</option>
<option value="application/msword">MSWORD</option>
<option value="application/vnd.ms-excel">MSEXCEL</option>
<option value="application/vnd.ms-powerpoint">MSPOWERPOINT</option>
<option value="application/wordperfect5.1">WORDPERFECT</option>
<option value="application/vnd.lotus-wordpro">WORDPRO</option>
<option value="application/vnd.visio">VISIO</option>
<option value="application/vnd.framemaker">FRAMEMAKER</option>
<option value="application/vnd.lotus-1-2-3">LOTUS123</option>



0 0
原创粉丝点击