Java 推荐人请求
我一直在开发一个servlet调查应用程序。我的问题是,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
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():)