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页面

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

  1. FileReader对象的readAsDataURL方法来读取图像文件

     FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项特殊的技术,可以将资料(例如图片)内嵌在网页之中,不用放到外部文件.使用Dat ...

  2. 使用FileReader对象的readAsDataURL方法来读取图像文件

    使用FileReader对象的readAsDataURL方法来读取图像文件   FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项 ...

  3. 转载:使用FileReader对象的readAsDataURL方法来读取图像文件

    文章转载自:http://blog.okbase.net/jquery2000/archive/1296.html: FileReader对象的readAsDataURL方法可以将读取到的文件编码成D ...

  4. 通过RequestContextHolder直接获取HttpServletRequest对象

    问题 朋友遇到一个问题:他想在Service方法中使用HttpServletRequest的API,但是又不想把HttpServletRequest对象当作这个Service方法的参数传过来,原因是这 ...

  5. Java中两个线程是否可以同时访问同一个对象的两个不同的synchronized方法?

    不可以!!! 多个线程访问同一个类的synchronized方法时, 都是串行执行的 ! 就算有多个cpu也不例外 ! synchronized方法使用了类java的内置锁, 即锁住的是方法所属对象本 ...

  6. servlet中的HttpServletRequest对象

    HttpServletRequest对象表示客户端浏览器发起的请求,当客户端浏览器通过HTTP协议访问服务器时,Tomcat会将HTTP请求中的所有信息解析并封装在HttpServletRequest ...

  7. C 和 C++ 的标准库分别有自己的 locale 操作方法,C 标准库的 locale 设定函数是 setlocale(),而 C++ 标准库有 locale 类和流对象的 imbue() 方法(gcc使用zh_CN.GBK,或者zh_CN.UTF-8,VC++使用Chinese_People's Republic of China.936或者65001.)

    转自:http://zyxhome.org/wp/cc-prog-lang/c-stdlib-setlocale-usage-note/ [在此向原文作者说声谢谢!若有读者看到文章转载时请写该转载地址 ...

  8. request表示HttpServletRequest对象?

    request表示HttpServletRequest对象.它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法. response表示 ...

  9. 【Java面试题】26 多线程有几种实现方法?同步有几种实现方法? 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

    问题一:多线程有几种实现方法?同步有几种实现方法? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口   同步的实现方面有两种,分别是synchronized,wait与not ...

随机推荐

  1. 【ABAP系列】SAP ABAP实现发送外部邮件(添加附件)功能

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP实现发送外部邮件(添 ...

  2. js中ajax请求返回的数据处理成数组后,局部变量赋值给全局变量后,为空

    第二步是想把ss的值扔给res_r,两个数组直接相等即可,可谁想到,取出来的值是空. 如图取出来的值是空. 我一脸懵逼,调试了些许时间,最后把ss遍历一下,在重新push进res_r 再来看效果,已经 ...

  3. framebuffer设备驱动分析

    一.设备驱动相关文件 1.1. 驱动框架相关文件 1.1.1. drivers/video/fbmem.c a. 创建graphics类.注册FB的字符设备驱动 fbmem_init(void) { ...

  4. Codeforces 1047C (线性筛+因数分解)

    题面 传送门 分析 1.暴力做法 首先先把每个数除以gcd(a1,a2-,an)gcd(a_1,a_2 \dots,a_n )gcd(a1​,a2​-,an​) 可以O(namax)O(n\sqrt ...

  5. java 多态 (知识点不完整)

    1.多态的条件 1.要有继承 2.方法重写 3.父类引用指向子类对象 多态中成员访问 1.   访问成员变量:  编译看左边,运行也看左边 f.num = 10 因为这里是父类的,看是父类Father ...

  6. TAB切换与内容伸展闭合的结合

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. C#如何在Socket传递负数,比如-51

    1.关于计算机中的原码.反码和补码定义 1.原码   将最高位作为符号位(以0代表正,1代表负),其余各位代表数值本身的绝对值(以二进制表示).为了简单起见,我们用1个字节来表示一个整数.     + ...

  8. C# 错误配置页

    在web.config文件中 <system.web> <customErrors mode="On" defaultRedirect="报错时跳到指定 ...

  9. Sql 使用游标

    DECLARE data_cursor CURSOR FOR WITH T0 AS ( SELECT COUNT(f.DeptID) SubmitCount , f.DeptID FROM biz.F ...

  10. Kintex7XC7K325T板卡七仙女