1、 运用Tomcat和Servlet,采用继承HttpServlet的写法来得到Servlet封装的HTTP协议相关信息:下面是相关代码和结果:
代码:
int port =request.getRemotePort(); //获得客户端端口号
int lcoalport = request.getLocalPort();//本地端口号
String path = request.getContextPath(); //获得根路径
String beforepage = request.getHeader("referer"); //获得点击来源页面
String localip = request.getLocalAddr(); //获得服务器的IP
String localname = request.getLocalName(); //获得本地服务器的名称
Locale local = request.getLocale(); //获得用户的语言环境
String country = local.getDisplayCountry(); //获得语言国家
String method = request.getMethod(); //得到请求过来的方法
String RemoteAddr = request.getRemoteAddr(); //得到远程请求的地址
String RemoteHost = request.getRemoteHost();//得到远程主机
String RemoteUser = request.getRemoteUser();//得到远程用户
String useragent = request.getHeader("user-agent"); //得到操作系统相关信息
//得到回显界面的对象PrintWriter
//设置响应的信息
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPEHTML PUBLIC \"-//W3C//DTDHTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>AServlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using theGET method");
out.println("<p>客户端端口号"+String.valueOf(port)+"</p>");
out.println("<p>服务器端口号"+String.valueOf(lcoalport)+"</p>");
out.println("<p>根路径"+path+"</p>");
out.println("<p>点击哪个页面到达"+beforepage+"</p>");
out.println("<p>服务器IP"+localip+"</p>");
out.println("<p>本地服务器名称"+localname+"</p>");
out.println("<p>语言国家"+country+"</p>");
out.println("<p>请求过来的方法"+method+"</p>");
out.println("<p>远程请求的地址<"+RemoteAddr+"/p>");
out.println("<p>远程主机"+RemoteHost+"</p>");
out.println("<p>远程用户"+RemoteUser+"</p>");
out.println("<p>操作系统相关信息"+useragent+"</p>");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
输出结果:
客户端端口号2375
服务器端口号8080
根路径/ServletTest
点击哪个页面到达null
服务器IP127.0.0.1
本地服务器名称localhost
语言国家中国
请求过来的方法GET
远程请求的地址<127.0.0.1/p>
远程主机127.0.0.1
远程用户null
操作系统相关信息Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
2、
1、WEB开发由浅入深系列BLOG-1(Http协议初学)
最新推荐文章于 2024-09-05 04:45:45 发布