1、WEB开发由浅入深系列BLOG-1(Http协议初学)

原创 2012年03月31日 09:29:22

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、


相关文章推荐

8、WEB开发由浅入深系列BLOG-8(JSTL标准标签库之FMT标签)

1、 首先引入标签库: //1、fmt:requestEncoding标签改变请求编码

2、WEB开发由浅入深系列BLOG-2(Servlet编写验证码)

1、用Servlet返回相应的文件的时候我们就调用response.setContextType(“image/JPEG”);方法就可以了,这次的案例是写一个验证码的案例。代码和注释内容如下所示: ...

7、WEB开发由浅入深系列BLOG-7(JSTL标签之核心标签库)

引入是必不可少的 1、c:out标签通过c:out标签输出值 2、c:set标签,通过JavaBean和EL表达式结合 ...

5、WEB开发由浅入深系列BLOG-5(Servlet实现简单文件上传)

Servlet实现文件的上传 客户端: 上传文件的案例 上...

3、WEB开发由浅入深系列BLOG-3(Servlet两种跳转方式,Servlet读取web.xml,Servlet配置)

Web.xml配置局部servlet参数和全局上下文参数的写法: 1、 局部Servlet: ServletForGetInfos cn.servlet.test.ServletFo...

第六章 Web开发实战1——HTTP服务

此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索、用户登录、实时价格、实时库存、服务支持、广告语等这种非Web页面,而是在Web页面中异步加载的相关数据。这些服务有个特点即访问量巨大、逻...

http://blog.csdn.net/w00w12l/article/details/8143591?locationNum=14&fps=1 转载请注明出处 Android异步处理系列文章索引

在《Android异步处理二:使用AsyncTask异步更新UI界面》一文中,我们介绍了如何使用AsyncTask实现异步下载图片,并且更新图片到UI界面的方法。本篇我们将学习Framework层As...

HTTP 协议 1.1(Web开发必看)

  • 2011年06月11日 13:09
  • 751KB
  • 下载

web开发基础教程 http协议 j2ee概述

  • 2009年04月19日 21:53
  • 7.7MB
  • 下载

php以http1.1协议模拟浏览器(转自http://hi.baidu.com/chenshuanj/blog/item/3de1c4c2afa122020ff4772b.html)

2011年07月07日 星期四 17:25 该程序以最接近真实浏览器的方式浏览页面,可以作为一个完美的采集器使用! 1.使用http1.1协议发送请求; 2.支持keep-a...
  • gsm123
  • gsm123
  • 2012年07月17日 22:22
  • 1553
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1、WEB开发由浅入深系列BLOG-1(Http协议初学)
举报原因:
原因补充:

(最多只允许输入30个字)