我想用jsp获得浏览器地址栏全路径
此前我有一个jsp提交到了一个自己写的一个servlet上去,然后我的servlet又重定向了,如下:
req.getRequestDispatcher("accountant/history.jsp").forward(req,resp) ;
重定向后的浏览器路径是:
http://localhost:8080/ERS/AccountantHistoryServlet?accountantid=2006030101
然后这个页面中有一个链接又跳转到了一个success.jsp页面,我就想在success.jsp页面中获得上面的地址
但是用了好几种方法获得都是错误的,用request.getRequestURL()获得的是
http://localhost:8080/ERS/accountant/history.jsp    也不带参数,
根本不是上面的servlet的路径,请问如何获得上面的路径?

解决方案 »

  1.   

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

  2.   

    取路径:request.getRequestURL(); 
    取参数:request.getParameter(); 
    你用request.getParameter("accountantid");获取参数看看还有就是如果你用的是重定向,请求参数和请求属性都会丢失
    你得重新传值..
      

  3.   

    这个是获取项目的完整路径,不是获取URL地址的完整路径!!!
      

  4.   

    取路径:request.getRequestURL(); 
    取参数:request.getParameter(); 
    你用request.getParameter("accountantid");获取参数看看 还有就是如果你用的是重定向,请求参数和请求属性都会丢失 
    你得重新传值... 
      

  5.   

    取路径:request.getRequestURL(); 
    取参数:request.getParameter(); 
      

  6.   

    request.getRealPath("") 
    取得你当前运行文件在服务器上的绝对路径. 
    request.getRealPath("/") 
    取得当前站点的根目录. 
      

  7.   

    这是jsp里自动就生成的就有啊。谢谢了。
      

  8.   

    例子:
    http://localhost:8088/mycache/cacheTest.jsp?name=lee&key=123request.getRequestURI()
    获取部分 mycache/cacheTest.jsp
    request.getQueryString()
    获取部分 name=lee&key=123
      

  9.   

    发上的方法都不吧:
    他是想获得是servlet的地址,而不是jsp的地址;
    jsp好像是获取不到,至少我没有获取到,我以前也遇到这个问题,我是用javascript方法解决的,如:
    <script type="text/javascript">
    alert(document.URL);
    //或
    alert(document.location);
    </script>
    这样就直正获取地址栏里的全路径了,包括参数。
    具体做的时候,可以用js把值传给一个对象,然后再把这个对象的值传给success.jsp
    或者直接在success.jsp页面里使用js:
    var url = document.referrer
    这个直接就获取了链接到当前文件的url,更加方便!
      

  10.   

    补充一下 如果是用post方式传的参数 可以用request.getInputStream来获取参数值
    http://zhidao.baidu.com/question/323954999.html