ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中

ResquestInfoServlet.java

package com.demo.servlet;

import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

/**
 * Created by 谭雪娇 on 2017/4/5.
 */
public class RequestInfoServlet extends HttpServlet {
    /*响应客户请求*/
    public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException,ServletException {
        //设置HTTP响应的正文的类型
        response.setContentType("text/html;charset=GB2312");
        /*输出html文档*/
        PrintWriter out=response.getWriter();
        out.println("<html><head><title>RequestInfo</title></head>");
        out.println("<body>");
        out.println("<br>LocalAddr:"+request.getLocalAddr());
        out.println("<br>LocalName:"+request.getLocalName());
        out.println("<br>LocalPort:"+request.getLocalPort());
        out.println("<br>Protocol:"+request.getProtocol());
        out.println("<br>RemoteAddr:"+request.getRemoteAddr());
        out.println("<br>RemoteHost:"+request.getRemoteHost());
        out.println("<br>RemotePort:"+request.getRemotePort());
        out.println("<br>Method:"+request.getMethod());
        out.println("<br>URI:"+request.getRequestURI());
        out.println("<br>ContextPath:"+request.getContextPath());
        out.println("<br>QueryString:"+request.getQueryString());
        /*打印HTTP请求头*/
        out.println("<br>***打印HTTP请求头***");
        Enumeration eu=request.getHeaderNames();
        while(eu.hasMoreElements()){
            String headerName=(String)eu.nextElement();
            out.println("<br>"+headerName+":"+request.getHeader(headerName));
        }
        out.println("<br>***打印请求头结束***<br>");
        out.println("<br>username :"+request.getParameter("username"));
        out.println("</body></html>");
        //关闭输入流
        out.close();

}
}

web.xml

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>com.demo.servlet.RequestInfoServlet</servlet-class>

</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/info</url-pattern>
</servlet-mapping>

ResquestInfoServlet生成的HTML页面

最新文章

  1. C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
  2. php COOKIE和SESSION的一些理解
  3. linux第一面
  4. CPU时间戳获取
  5. php实验一
  6. Python学习笔记06
  7. Chrome Apps將是Google送給微軟的特洛伊木馬?
  8. C++之路进阶——bzoj3524(Couriers)
  9. Java 中方法的重载
  10. 【MINA】用mina做业务服之间的通信,实现业务负载均衡思路
  11. Oracle用脚本语言导入SCOTT用户
  12. spring security 3中的10个典型用法小结
  13. UNIX网络编程——fcntl函数
  14. 微信小程序页面跳转方法和携带参数详解
  15. 史上最全office2016 激活码
  16. openv
  17. Nginx&#160;限制并发连接和并发请求数配置
  18. 关于PS的操作
  19. Python--Virtualenv简明教程
  20. Thinkphp5笔记一:项目部署

热门文章

  1. 【BASIS系列】SAP 批量锁住用户和TCODE的方法
  2. day16模块,导入模板完成的三件事,起别名,模块的分类,模块的加载顺序,环境变量,from...import语法导入,from...import *,链式导入,循环导入
  3. MethodBase.GetCurrentMethod 方法
  4. vue项目 引入js文件
  5. WPF使用Mutex创建单实例程序失效
  6. 问题 C: 序列交换
  7. Python之路-面向对象&amp;继承和多态&amp;类属性和实例属性&amp;类方法和静态方法
  8. 在eclipse里搜索maven项目需要的dependency
  9. JavaScript实现生成指定范围随机数和一个包含不重复数的随机数组
  10. linux手动测试 rsync 的同步情况