Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
jsp/ServletAPI中是否有任何特定的可用方法可以告诉您请求是从哪个页面重定向的_Jsp_Servlets - Fatal编程技术网

jsp/ServletAPI中是否有任何特定的可用方法可以告诉您请求是从哪个页面重定向的

jsp/ServletAPI中是否有任何特定的可用方法可以告诉您请求是从哪个页面重定向的,jsp,servlets,Jsp,Servlets,在过去的4个月里,我一直在Oracle iStore中工作,在没有任何IDE的情况下管理应用程序(基本上,我在记事本上做所有的家务,只是因为应用程序设计得很差,没有IDE可以支持它) 由于编码是在简单的记事本文件上完成的,因此很难找出应用程序中的错误。我面临一个问题,我不知道哪个jsp页面将控件重定向到哪个jsp页面。例如,有两个jsp页面A.jsp,另一个是B.jsp。现在浏览器当前正在显示一个.jsp。当用户单击submit按钮(可在A.jsp上获得)时,表单提交控件并将其重定向到B.jsp

在过去的4个月里,我一直在Oracle iStore中工作,在没有任何IDE的情况下管理应用程序(基本上,我在记事本上做所有的家务,只是因为应用程序设计得很差,没有IDE可以支持它)

由于编码是在简单的记事本文件上完成的,因此很难找出应用程序中的错误。我面临一个问题,我不知道哪个jsp页面将控件重定向到哪个jsp页面。例如,有两个jsp页面A.jsp,另一个是B.jsp。现在浏览器当前正在显示一个.jsp。当用户单击submit按钮(可在A.jsp上获得)时,表单提交控件并将其重定向到B.jsp


现在我的问题是,我知道我正在使用B.jsp,但我不知道A.jsp正在将控件重定向到B.jsp。ServletAPI中是否有一种方法可以告诉哪个jsp将控件重定向到B.jsp?

使用request.getHeader(“Referer”)

一个简单的方法是抓取(legendaric拼写错误)。您可以在Servlet中获得它,如下所示:

String referrer = request.getHeader("referer");
${header.referer}
String from = request.getParameter("from");
${param.from}
在JSP中,如下所示:

String referrer = request.getHeader("referer");
${header.referer}
String from = request.getParameter("from");
${param.from}
但是,您应该意识到,这是一个客户端控制的值,可以更改/欺骗/黑客到完全不同的东西,甚至可以删除

如果您想要更可靠的方法,那么您确实需要向请求中添加一个额外的参数。在普通链接中,可以将其设置为查询字符串

<a href="b.jsp?from=a.jsp">go to b.jsp</a>
或在JSP中,如下所示:

String referrer = request.getHeader("referer");
${header.referer}
String from = request.getParameter("from");
${param.from}