zoukankan      html  css  js  c++  java
  • 寒假自学阶段(1)

    一.JavaWeb中图片路径的问题  

    1.可以使用相对路径

    eg.  使用"."以及".."来访问不同的路径

      (1)路径

     (2)代码

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <img src="./img/王珞丹.jpg">
    </body>
    </html>

     (3)其他事项

      ..访问与.类似

    2.使用绝对路径

    (1)路径

      桌面

    (2)代码

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <img src="file:///Users/amos/Desktop/王珞丹.jpg">
    11 </body>
    12 </html>

     (3)其他事项

      不能使用request.getContextPath()来对其访问,下一点会讲有关路径的问题。如果要用需要使用

    String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
    int num=t.indexOf(".metadata");
    String path="file:////"+t.substring(1,num)+"ForExam/WebContent/img/王珞丹.jpg";

    来访问。

    二.JavaWeb中文件路径的问题

    转载:http://blog.csdn.net/znb769525443/article/details/50731789

    1.用Jsp获取

    (1)获取文件的绝对路径

    String file="文件";(例如:DBUtil.java)

    String path=application.getRealPath(file);

    结果:

    /Volumes/三千小世界/学习文件/java开发/workplace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ForExam/DBUtil.java

    Tip:

    这里的文件可以是任意文件,不仅仅局限于当前项目的文件。

    (2)获取当前jsp页面的路径

    String p2=request.getRequestURI();

    结果:

    /ForExam/Test/Test.jsp 

    (3)获取当前项目的路径

    String p3=request.getContextPath(); 
    结果:

    /ForExam

    (4)获取当前项目子目录下的路径,

    String p4=request.getServletPath(); 
    结果:

    /Test/Test.jsp

    Tip:

    与(2)类似,但是不包括根目录

    2.用Java类获取

    (1)获取Eclipse的运行路径

    String a1=System.getProperty("user.dir");

    结果:

    /Users/amos/eclipse/jee-oxygen/Eclipse.app/Contents/MacOS

     Tip:

    windows可能会有所不同

    (2)获取当前的classpath路径

    String a2=User.class.getResource("").toString();

    String a3=DBUtil.class.getResource("/").toString();

    String a4=DBUtil.class.getClassLoader().getResource("").toString();

    String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();

    打印出来分别是:

    file:/Volumes/三千小世界/学习文件/java开发/workplace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ForExam/WEB-INF/classes/com/jaovo/school/model/

    file:/Volumes/三千小世界/学习文件/java开发/workplace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ForExam/WEB-INF/classes/


    file:/Volumes/三千小世界/学习文件/java开发/workplace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ForExam/WEB-INF/classes/


    /Volumes/三千小世界/学习文件/java开发/workplace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ForExam/WEB-INF/classes/

    Tip:

    没有看懂!!!!

    (3)获取文件的绝对路径
    如果要获取WebContent目录下的文件绝对路径怎么办?可以用下面的方法
    String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
     int num=t.indexOf(".metadata");
     String path=t.substring(1,num)+"项目名/WebContent/文件";
    结果是:

    Volumes/三千小世界/学习文件/java开发/workplace/项目名/WebContent/文件

    Tip:

    *其实就是(1)中的参数,去掉metadata后面的部分

    *windows的/有所不同

    3.用servlet获取

    (1)获取项目的绝对路径

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

    结果:

    /Volumes/三千小世界/学习文件/java开发/workplace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ForExam/

    (2)获取浏览器地址

    request.getRequestURL()

    结果:

    http://localhost:8080/ForExam/Test/Test.jsp

    (3)获取当前文件的绝对路径

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

    结果:

    /Volumes/三千小世界/学习文件/java开发/workplace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ForExam/ForExam/Test/Test.jsp

  • 相关阅读:
    布局及视图(三)
    笔试中的编程题2
    布局及视图(四)
    SoftReference,WeakReference&WeakHashMap
    Android自用 监测网络是否可用
    Android自用 加载png图片时出错!
    Android访问权限大全
    笔试中的编程题3
    如何全面的把握一个系统的异常处理
    从程序的控制逻辑看线程的三种应用模式
  • 原文地址:https://www.cnblogs.com/tianxiayoujiu/p/8370948.html
Copyright © 2011-2022 走看看