JSP和Servlet中request怎么获得请求发起页面的地址或路径

我在两个个JSP文件中都有表单form,但是内容不同,现有一个servlet文件,因为操作基本相同,为了复用两JSP的表单都提交POST方式到这个servlet。

现在问题是我在servlet中怎么区分来自这两个JSP文件的请求。
比如说1.jsp和2.jsp,我尝试在servlet中利用request.getRequestURI()来取源请求页面地址,预想的是/test/1.jsp或/test/2.jsp,但结果却是/test/servlet。

后来试了其他几个方法,都不成功。请教一下知道的高手,谢谢。

一种方式就是前端把地址(只要最后 / 的部分)作为参数传回来。要么则在session会话类中保存你的路径,如在1.jsp中调用session保存‘1.jsp’,其他也这样做。然后servlet处理时再从session再拿出来也是可以知道的。如果拿出来的既不是1.jsp,又不是2.jsp,你懂的!!前端的页面肯定不会是1.jsp或2.jsp。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-04-11
String requestUrl = request.getHeader("referer");
response.sendRedrict(requestUrl );
//这样运行后会自动跳转回上一级跳转的页面
第2个回答  2018-01-17
String header_referer = request.getHeader("Referer");

通过上述的Java代码即可获取到请求的引用页面地址

本回答被网友采纳
第3个回答  2013-09-21
我给你一个方法吧,在两个页的表单内设置分别设置一个<input type="hidden" value=''1""/><input type="hidden" value=''2""/>把这两个一起传给servlet然后在servlet 内取到这个值,如果是1,你就知道那个路径的形式,然后用String把路径给拼凑出来了 最后给你一句话:实现方式很多,但效率才是最重要的。
第4个回答  2013-09-21
把页面地址做为参数传过去,或者在页面中设置到request或session请求范围,在serverlet中区出来就行了
相似回答