如何获取跳转前页面的url

pig_2000 2010-04-01 04:56:43

比如我的网站是 www.abc.com

所有域名后面加上其他内容的页面都进行跳转
我在tomcat里设置404都跳转到www.abc.com/abc.jsp

比如有人输入www.abc.com/sss,则跳转到www.abc.com/abc.jsp页面

在abc.jsp页面里我获取用户输入的url,即“www.abc.com/abc.jsp”,根据这个url再做处理。

但是由于是404跳转,我只能得到当前的url(www.abc.com/abc.jsp)

我怎么才能得到www.abc.com/abc.jsp
...全文
1004 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiteny 2010-04-02
  • 打赏
  • 举报
回复
但是由于是404跳转,我只能得到当前的url(www.abc.com/abc.jsp)

我怎么才能得到www.abc.com/abc.jsp
----------------------------------------------------------
你是想得到啥啊??
根据题目里面说的,在过滤器里面把上次的url放到session里面(string也不大)
用完了以后。。释放@
oubo824219 2010-04-02
  • 打赏
  • 举报
回复

package com.company.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AdminFilter extends HttpServlet implements Filter {

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// 未登陆用户禁止访问后台的任何页面
HttpServletRequest request = (HttpServletRequest) arg0;
Object user = request.getSession().getAttribute("usermodel");
if (null == user || "".equals(user)) {
// 直接到登陆截面
request.getRequestDispatcher("/admin/backlogin.jsp").forward(arg0, arg1);
} else {
arg2.doFilter(arg0, arg1);
}

}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

/**
* Constructor of the object.
*/
public AdminFilter() {
super();
}

/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}




/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}

}

web.xml配置
<!--过滤是否用户已登录 -->
<filter>
<filter-name>AdminFilter</filter-name>名称

<filter-class>com.company.servlet.AdminFilter</filter-class> 类名的路径 </filter>
<filter-mapping>
<filter-name>AdminFilter</filter-name> 名称
<url-pattern>/admin/pages/*</url-pattern> 过滤路径
</filter-mapping>
oubo824219 2010-04-02
  • 打赏
  • 举报
回复
用过滤器啊
zdy32032319861105 2010-04-02
  • 打赏
  • 举报
回复
bu hui xuexi
jay1986 2010-04-02
  • 打赏
  • 举报
回复
用Filter拦截输入的网址,在Filter的doFilter中 通过request.gerRequestURl获取请求地址 然后response。sendRedirect重定向。在Web.xml配置mapping-url
若鱼1919 2010-04-02
  • 打赏
  • 举报
回复
在abc.jsp用String request_url=request.getHeader("Referer");
可以获得是从那个页面跳转过来的。
animshuod521 2010-04-02
  • 打赏
  • 举报
回复
过滤器
2010-04-02
  • 打赏
  • 举报
回复
用过滤器吧。如果楼主用struts2的话拦截器是个不错的选择
风起于默 2010-04-02
  • 打赏
  • 举报
回复
同意2楼的说法
amber_paul 2010-04-02
  • 打赏
  • 举报
回复
request.getRequestURI();就行了
zhouxuegangjava163 2010-04-02
  • 打赏
  • 举报
回复
你好,楼主!
过滤器是最好的处理方法。
hjjk123 2010-04-02
  • 打赏
  • 举报
回复
都试试吧!!觉得js更简单..........
如果是专业网站吧 还是用过滤器吧!
xuexijava 2010-04-02
  • 打赏
  • 举报
回复
学习。。。。。
yueweiac110 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 javaalpha 的回复:]

可以用过滤器实现 。或者是使用JavaScript获取再做处理。
[/Quote]
支持,最好是过滤器
amos1989 2010-04-01
  • 打赏
  • 举报
回复
window.location.href
amos1989 2010-04-01
  • 打赏
  • 举报
回复
用JS获取到,然后传到后台去。。再派发回来
JavaAlpha 2010-04-01
  • 打赏
  • 举报
回复
可以用过滤器实现 。或者是使用JavaScript获取再做处理。
Ouyangquanjun 2010-04-01
  • 打赏
  • 举报
回复
用过滤器啊。 过滤每个跳转页面

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧