`

REFERER及jsp中request.getHeader() 相关详细

阅读更多

在三种情况下,<%=request.getHeader("REFERER") %>取值
1:通过链接跳过来
2:在地址栏中输入URL,打回车
3:刷新

当链接过来的时候,referer的值是链接过来的页面的URL,正常。我刷新的时候referer的值没有变,但当我在地址栏中打回车(URL没有改变,只是打回车),referer值却变成NULL了。

1):链接过来和在地址栏中直接输入URL,有没有什么区别?如果有,有什么区别?
2):刷新的时候URL为什么不变,为什么还是前一个URL地址,为什么不变成当前的URL?
3):直接输入为什么得不到 <%=request.getHeader("REFERER")的值?

如果是直接在浏览器里输入有referer的页面,返回是null,也就是说referer只有从别的页面点击连接来到这页的才会有内容。为NULL就是手工,非null就是连接过来的。刷新的时候,会检查服务端是否会有更新,没有的话,则使用本机的缓存,也就是说,你刷新时得到的响应依然是
前一次得到的服务端的内容,因为你的jsp文件没有变化。
referer是从哪里来的,也就是前一个页面。回车,则没有以前的,等同于你新打开一个浏览器,再次输入一样 。刷新,就是重复上一次的操作。

jsp 中 request.getHeader() 相关详细
System.out.println("rotocol: " + request.getProtocol());
System.out.println("Scheme: " + request.getScheme());
System.out.println("Server Name: " + request.getServerName() );
System.out.println("Server Port: " + request.getServerPort());
System.out.println("rotocol: " + request.getProtocol());
System.out.println("Server Info: " + getServletConfig().getServletContext().getServerInfo());
System.out.println("Remote Addr: " + request.getRemoteAddr());
System.out.println("Remote Host: " + request.getRemoteHost());
System.out.println("Character Encoding: " + request.getCharacterEncoding());
System.out.println("Content Length: " + request.getContentLength());
System.out.println("Content Type: "+ request.getContentType());
System.out.println("Auth Type: " + request.getAuthType());
System.out.println("HTTP Method: " + request.getMethod());
System.out.println("path Info: " + request.getPathInfo());
System.out.println("path Trans: " + request.getPathTranslated());
System.out.println("Query String: " + request.getQueryString());
System.out.println("Remote User: " + request.getRemoteUser());
System.out.println("Session Id: " + request.getRequestedSessionId());
System.out.println("Request URI: " + request.getRequestURI());
System.out.println("Servlet Path: " + request.getServletPath());
System.out.println("Accept: " + request.getHeader("Accept"));
System.out.println("Host: " + request.getHeader("Host"));
System.out.println("Referer : " + request.getHeader("Referer"));
System.out.println("Accept-Language : " + request.getHeader("Accept-Language"));
System.out.println("Accept-Encoding : " + request.getHeader("Accept-Encoding"));
System.out.println("User-Agent : " + request.getHeader("User-Agent"));
System.out.println("Connection : " + request.getHeader("Connection"));
System.out.println("Cookie : " + request.getHeader("Cookie"));
System.out.println("Created : " + session.getCreationTime());
System.out.println("LastAccessed : " + session.getLastAccessedTime());

分享到:
评论

相关推荐

    JSP获取HTTP header信息(request)例子

    下面将详细介绍JSP中如何获取HTTP请求头信息及其相关的知识点。 #### 一、HTTP请求头简介 HTTP请求头(Request Headers)是HTTP请求的一部分,它包含了客户端向服务器发送的元数据。这些元数据可以帮助服务器更好...

    关于request.getHeader(&quot;Referer&quot;)的问题探讨

    `request.getHeader("Referer")` 是在Java Servlet或JSP中获取HTTP请求头中的`Referer`字段的方法,这个字段通常用于追踪用户访问来源。`Referer`字段包含的是用户先前访问页面的URL,这对于分析用户行为、防止跨站...

    jsp编程中的小技巧(仅供参考)

    String referer = request.getHeader("referer"); String acceptLanguage = request.getHeader("accept-language"); String contentType = request.getHeader("content-type"); String acceptEncoding = request....

    第九讲Nginx动静分离URL转发实战.pptx

    - **`request.getHeader("Referer")`**: 获取请求头中的“Referer”字段。 通过这些信息,开发人员可以详细了解客户端与服务器之间的通信细节,这对于调试和优化Nginx配置非常有帮助。 综上所述,通过合理配置...

    图片防盗链(jsp)

    1. Referer检测:JSP可以通过`request.getHeader("Referer")`获取请求的来源页面URL。如果Referer不在预期的域名范围内,就拒绝显示图片。例如: ```jsp String referer = request.getHeader("Referer"); if ...

    Filter_Listener相信代码使用

    if(null==reque.getHeader("Referer")){ request.setAttribute("message", "你进行了不合法的操作!!!"); request.getRequestDispatcher("error.jsp").forward(request, response); 里面有更详细的代码...

    jsp返回登陆前的页面的几种实现

    在登录页面可以通过`request.getHeader("Referer")`获取当前请求的来源页面URL。 ```java String lastUrl = request.getHeader("Referer"); ``` 2. **记录来源页面地址**: 可以将`lastUrl`作为隐藏参数传递...

    httpservlet_request

    String referer = request.getHeader("Referer"); if (referer != null && !referer.startsWith("http://yourdomain.com")) { response.sendError(HttpServletResponse.SC_FORBIDDEN, "非法引用"); return; } ...

    正则匹配URL.txt

    这里,我们首先通过`request.getHeader("Referer")`获取请求头部中的`Referer`字段,然后使用`matches`方法检查其是否符合上述正则表达式。如果匹配成功,我们设置响应状态为301永久重定向,并指定重定向目标和连接...

    Javascript实现返回上一页面并刷新的小例子

    RequestDispatcher dispatcher = request.getRequestDispatcher(request.getHeader("referer")); dispatcher.forward(request, response); ``` 需要注意的是,这些方法依赖于浏览器发送`HTTP_REFERER`头,但并非...

    JAVA开发中遇到的问题和异常.doc

    - `&lt;%=request.getHeader("referer") %&gt;`获取上一页(action)的完整路径。 - EL表达式`${header['Referer']}`同样获取上一页路径,但可能不是当前地址栏的路径。 - 使用`request.getRequestURI()`在Servlet中...

    java 70个问答

    根据提供的文件信息,我们可以从中提炼出一系列与Java相关的知识点,特别是关于Java Web开发中的JSP技术、线程处理、输入输出操作以及网络编程等方面的重要概念和技术细节。下面将逐一进行详细解析。 ### Java 70个...

    JSP 中request与response的用法详解

    在学习JSP(Java Server Pages)技术时,理解request和response对象的使用至关重要。request和response是Web开发中非常基础且核心的组件,它们主要负责处理客户端(通常是Web浏览器)的HTTP请求以及服务器的HTTP响应...

    JSP和JSTL获取服务器参数示例

    首先,让我们详细解析JSP中的知识点: 1. **JSP声明指令(Declaration)**:`”java” import=”java.util.*” pageEncoding=”UTF-8″%&gt;` 这个声明定义了JSP页面的语言、导入的包以及页面编码。 2. **获取服务器...

    70个JAVA问答.txt

    可以通过`request.getHeader("referer")`来获取请求页面的URL,这在跟踪用户来源或进行日志记录时非常有用。 ### 7. 设置页面过期时间 要使页面在浏览器中不过期,可以使用`response.setHeader("Expires","0")`来...

    防盗链的方式借鉴.pdf

    本文将详细介绍一种基于Servlet的防盗链实现方法,以及如何在Web应用中配置和使用。 一、Servlet型反盗链原理 防盗链的核心在于检查HTTP请求中的`Referer`头部字段。`Referer`(引荐来源)是HTTP协议中的一项元...

    获取上一页面的URL和本页的URL的方法

    String url=request.getHeader(Referer); 2、获取本网页的URL: String url=request.getScheme()+://+ request.getServerName()+request.getRequestURI(); 您可能感兴趣的文章:jsp获取url路径的方法分析在jsp页面...

    jsp实现防盗链的方法

    在JSP中,可以通过`HttpServletRequest`对象的`getHeader()`方法获取到"Referer"头部信息。以下是一个简单的示例: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; &lt;title&gt;Simple jsp page ...

    java(20210925002359)[参考].pdf

    6. **获取上一页URL**:在JSP中,可以使用HttpServletRequest对象的`getHeader("referer")`方法来获取上一页的URL,前提是浏览器发送了Referer头部信息。 7. **设置页面过期**:为了让页面在客户端过期,可以使用...

    HttpServletRequest对象常用功能_动力节点Java学院整理

    String reqUrl = request.getHeader("referer"); if (reqUrl == null || !reqUrl.startsWith("http://localhost:8080/myservlet/index.jsp")) { response.sendRedirect("/myservlet/index.jsp"); return; } ``` ...

Global site tag (gtag.js) - Google Analytics