Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 推荐人请求_Java_Servlets_Request_Http Referer - Fatal编程技术网

Java 推荐人请求

Java 推荐人请求,java,servlets,request,http-referer,Java,Servlets,Request,Http Referer,我一直在开发一个servlet调查应用程序。我的问题是,request.getHeader('referer')在第一次访问应用程序时没有获得正确的referer url。 然而,第二次(或任何其他时间)它确实得到了正确的一个 应用程序第一次要求用户进行调查,然后将他们重定向到资源url。第二次,它只是将用户重定向到资源,因为他们已经进行了调查。我有两个java文件处理take.survey逻辑,第二个文件只是重定向和记录信息(survey.logic) 两个例程文件都使用request.get

我一直在开发一个servlet调查应用程序。我的问题是,
request.getHeader('referer')
在第一次访问应用程序时没有获得正确的referer url。
然而,第二次(或任何其他时间)它确实得到了正确的一个

应用程序第一次要求用户进行调查,然后将他们重定向到资源url。第二次,它只是将用户重定向到资源,因为他们已经进行了调查。我有两个java文件处理
take.survey
逻辑,第二个文件只是重定向和记录信息(
survey.logic

两个例程文件都使用
request.getHeader('referer')
。第一次要求用户进行调查(take.survey)

正如我之前所说,应用程序将在数据库中记录目标url,而不是推荐url。第二次运行平稳,并获得正确的转诊信息

例如:

我正在使用以下地址的页面调用该应用程序:

refering page:   thispage
该应用程序位于:

app/take.survey
将以下链接插入
此页面
以访问应用程序:

app/take.survey?refurl=http://google.com
结果:

第一次点击链接记录:
app/take.survey?refurl=http://google.com
第二次单击链接时,它会得到正确的值:
thispage(url)
第三次修正值,依此类推

同样,这两个文件都使用:
request.getHeader('referer')
来获取引用值

有什么想法吗


谢谢。

当您使用
window.open()
打开窗口时,仅在单击常规链接或表单提交时,推荐人不适用。推荐人是指当你点击链接或提交按钮时你所在的网站。因此,如果他们来自谷歌,这就是为什么推荐人说谷歌。第一次进入你的网站推荐人将始终为空(空字符串或null),因为他们在地址栏中键入了地址(与通过JS打开弹出窗口时相同),或者其他一些网站,因为他们通过链接进入你的网站。第一个进入站点的引用人不会是您的页面。

我使用原始引用页面,通过Velocity文件将其保存在会话中,并在将其插入数据库之前将其传递给java servlet,从而使其正常工作。仅供参考:我没有用window打开任何东西。open():)