比如我的网站是 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

解决方案 »

  1.   

    可以用过滤器实现 。或者是使用JavaScript获取再做处理。
      

  2.   

    用过滤器吧。如果楼主用struts2的话拦截器是个不错的选择
      

  3.   

    在abc.jsp用String  request_url=request.getHeader("Referer");   
    可以获得是从那个页面跳转过来的。
      

  4.   

    用Filter拦截输入的网址,在Filter的doFilter中 通过request.gerRequestURl获取请求地址 然后response。sendRedirect重定向。在Web.xml配置mapping-url
      

  5.   

    bu  hui   xuexi
      

  6.   


    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>
      

  7.   

    但是由于是404跳转,我只能得到当前的url(www.abc.com/abc.jsp)我怎么才能得到www.abc.com/abc.jsp
    ----------------------------------------------------------
    你是想得到啥啊??
    根据题目里面说的,在过滤器里面把上次的url放到session里面(string也不大)
    用完了以后。。释放@