jsp中获取当前页面的绝对地址/相对地址,以及获取这些地址有什么好处?

在很多网页开发中,获取当前页面的地址是很有用处的,比如一个jsp页面获取当前页面的地址,然后传到下一个网页中,下一个网页可以利用上一个网页传过来的这个地址进行做文章。

举个简单的例子:登录页面(login.jsp),个人主页(people.jsp),个人信息的页面(information.jsp)

1.正常的访问顺序是:登录页面(login.jsp)->个人主页(people.jsp)->个人信息的页面(information.jsp)

2.非正常的访问顺序:

直接地址栏输入:个人信息的页面(information.jsp)

这个页面要求是用户必须登录以后才可以进行访问自己的个人信息的,并且设有拦截器,一旦用户没有经过登录就访问这个页面,这个页面会跳转到登录页面(login.jsp),然后要求用户登录,用户登录以后,就会自动跳转回个人信息的页面(information.jsp)。

这里面就用到了网页之间的传地址方式。登录页面每次被访问的时候,就会检测用户是从哪里访问进来的。

1.直接地址栏输入登录页面(login.jsp)访问。

第一种情况没什么好说的,比较简单。

2.被别的页面拦截跳转过来的。

第二种情况需要知道是哪个页面传过来的,需要获取上一个页面的地址,这也就要求上一个页面也要将自己的地址传输过来。

个人信息的页面(information.jsp)中可以这么获取自己所处的页面绝对路径:

<%

//相对地址 

String path = request.getContextPath();

//绝对地址   http://IP地址:端口号/页面名

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;

%>

然后传到登录页面(login.jsp)。登录页面接受到该地址的时候保存到一个变量里面,用户登录成功以后,再重定向回这个地址,这样可以回到上一个网页的页面了。

猜你喜欢

转载自blog.csdn.net/weixin_40327259/article/details/80470772