zoukankan      html  css  js  c++  java
  • JSP、Java和Servlet获取当前工程的路径

    JSP、Java和Servlet获取当前工程的路径:

    1.JSP中取得路径:

    以工程名为TEST为例:

    (1)得到包含工程名的当前页面全路径:request.getRequestURI()
    结果:/TEST/test.jsp
    (2)得到工程名:request.getContextPath()
    结果:/TEST
    (3)得到当前页面所在目录下全名称:request.getServletPath()
    结果:如果页面在jsp目录下 /TEST/jsp/test.jsp
    (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
    结果:D: esinwebappsTEST est.jsp
    (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
    结果:D: esinwebappsTEST

    在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法如下:

    一、使用${pageContext.request.contextPath}

    例如:

    1 <!--使用绝对路径的方式引入CSS文件-->
    2 <link rel="stylesheet" href="${pageContext.request.contextPath}/themes/default/css/ueditor.css" type="text/css"/>
    3 <!--使用绝对路径的方式引入JavaScript脚本-->
    4 <script type="text/javascript" src="${pageContext.request.contextPath}/ueditor1_3_6-gbk-jsp/ueditor.config.js"></script>

    使用<%=request.getContextPath()%>和使用${pageContext.request.contextPath}达到同样的效果

    1 <script type="text/javascript" src="<%=request.getContextPath()%>/ueditor1_3_6-gbk-jsp/ueditor.all.js"></script>

    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    System.out.println(basePath);//这里获得的就是 协议名://服务器名:请求端口号/项目名/

    //basePath=http://localhost:8080/TEST
    %>

    如果我们要导入一个富文本控件,以时间控件为例:

    <script language="javascript" type="text/javascript"

    只需要在相对项目资源的相对路径(此处为src属性,还有href属性)前加上 <%=basePath>  或   ${bashPath} 或 ${page.basePath} 皆可



    2.在Java中取得路径:

    (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:TomcatwebappsTEST
    (2)得到IE地址栏地址:request.getRequestURL()
    结果:http://localhost:8080/TEST/test
    (3)得到相对地址:request.getRequestURI()
    结果:/TEST/test

  • 相关阅读:
    exe4j的使用
    java线程生命周期及其对应方法
    自动登录开心网
    java小知识点
    java工具类目录
    java 上传图片
    eclipse+svn
    maven
    读propert文件
    hadoop学习
  • 原文地址:https://www.cnblogs.com/huangdabing/p/9179892.html
Copyright © 2011-2022 走看看