request请求-操作请求头

操作请求头

        格式:key/value(value可以是多个值)
        常用方法:
            ★String getHeader(String key):通过key获取指定的value (一个)
            
            了解:
                Enumeration getHeaders(String name) :通过key获取指定的value(多个)
                Enumeration getHeaderNames() :获取所有的请求头的名称
                int getIntHeader(String key):获取整型的请求头
                long getDateHeader(String key):获取时间的请求头
        重要的请求头:
            user-agent:浏览器内核 msie firefox chrome
            referer:页面从那里来 防盗链

 代码展示:

  html文件代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="/webfour/Loc1">重定向页面(响应头)</a>
<a href="/webfour/refresh1.html">定时器</a>
<a href="/webfour/Print">操作响应体</a>
<a href="/webfour/download1.html">编码下载</a>
<hr>
<a href="/webfour/Row?username=tom&password=123">d_请求行</a>
<a href="/webfour/header">e_请求头</a>
</body>

</html>

XML文件代码

  <servlet>
    <description></description>
    <display-name>HeaderServlet</display-name>
    <servlet-name>HeaderServlet</servlet-name>
    <servlet-class>com.feizhu._response_e_header.HeaderServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HeaderServlet</servlet-name>
    <url-pattern>/header</url-pattern>

  </servlet-mapping>

类代码:

package com.feizhu._response_e_header;

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

import jdk.nashorn.internal.ir.RuntimeNode.Request;

/**
 * 请求头
 */
public class HeaderServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
 
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         //获取浏览器内核
         String agent =request.getHeader("user-agent");
         System.out.println(agent);
         //获取referer
          String referer= request.getHeader("referer");
          if(referer==null) {
              System.out.println("直接在地址栏输入的");
          }else if(referer.contains("localhost")) {
              System.out.println("我自己点的");
          }else if(referer.contains("192.168.")) {
              System.out.println("别人点的");
          }else {
              System.out.println("盗链可耻");
          }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        doGet(request, response);
    }

}

效果截图: