两种方法在JS中使用项目根路径,以及从reques获取各种路径总结

    xiaoxiao2021-12-14  20

    一、在当前JSP中的java代码中获取,再在JS中获取

    <%

    String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() +  ":"   + request.getServerPort()          + path + "/";    %> 再在JS中调用:        var basePath = '<%=basePath%>';        alert(basePath); //http://localhost:8080/ 二、在跳入当前页面的action中获取根路径,放入request中,再在JS中获取 String path = request.getContextPath(); String basePath = request.getScheme() +  "://"          + request.getServerName() +  ":"  + request.getServerPort()          + path +  "/" ; request.setAttribute( "basePath" , basePath); 再在JS中通过EL表达式调用: var  basePath = ${ 'basePath' }; alert(basePath);  //http://localhost:8080/

    三、从reques获取各种路径总结

    equest.getRealPath() 这个方法已经不推荐使用了,代替方法是:

    request.getSession().getServletContext().getRealPath()

    在servlet里用this.getServletContect().getRealPath()

    在struts里用this.getServlet().getServletContext().getRealPath()

    在Action里用ServletActionContext.getRequest().getRealPath();

     

    以上三个获得都是当前运行文件在服务器上的绝对路径

    从request获取各种路径总结  request.getRealPath("url"); // 虚拟目录映射为实际目录  request.getRealPath("./");    // 网页所在的目录  request.getRealPath("../"); // 网页所在目录的上一层目录  request.getContextPath();    // 应用的web目录的名称  如http://localhost:7001/bookStore/  /bookStore/ => [contextPath] (request.getContextPath())  获取Web项目的全路径  String strDirPath = request.getSession().getServletContext().getRealPath("/");  以工程名为TEST为例:  (1)得到包含工程名的当前页面全路径:request.getRequestURI()  结果:/TEST/test.jsp  (2)得到工程名:request.getContextPath()  结果:/TEST  (3)得到当前页面所在目录下全名称:request.getServletPath()  结果:如果页面在jsp目录下 /TEST/jsp/test.jsp  (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")  结果:D:\resin\webapps\TEST\test.jsp  (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();  结果:D:\resin\webapps\TEST  2.在类中取得路径:  (1)类的绝对路径:Class.class.getClass().getResource("/").getPath()  结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/  (2)得到工程的路径:System.getProperty("user.dir")  结果:D:\TEST  3.在Servlet中取得路径:  (1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。  结果:E:\Tomcat\webapps\TEST  (2)得到IE地址栏地址:request.getRequestURL()  结果:http://localhost:8080/TEST/test  (3)得到相对地址:request.getRequestURI()  结果:/TEST/test

    转载请注明原文地址: https://ju.6miu.com/read-963532.html

    最新回复(0)