实际开发中遇到的关于路径问题的简单总结,仅供大家参考。
前期准备工作(包括相关工具或所使用的原料等)
JAVA JDK版本 jdk1.7.0_51
windows 7 操作系统和Eclipse加部分应用插件
详细的操作方法或具体步骤
相对路径都可以透过一下方式获得:
public class URLTest{
public static void main(String[] args) {
String relativelyPath=System.getProperty("user.dir");
System.out.println("相对路径:"+relativelyPath);
}
}
此方法是Java项目的根路径,而Java Web项目可能是服务器的某个路径并且不同的服务器路径也有不同,例如tomcat服务器是相对于安装目录“\bin”;在Java web项目中不要使用相对于当前用户目录的相对路径。
在java.io.*包中的类是根据当前用户目录分析相对路径名称的,此目录是由user.dir指定的,通常是Java虚拟机的调用目录,因此在使用java.io.*包中的类时,尽量避免使用相对路径。
代码展示图如下:
![Java路径问题解决方案:[2]应用篇](http://www.52ij.com/uploads/allimg/160402/2216461327-0.jpg)
在Java Web项目中获取路径,建立一个servlet在init()方法中添加如下代码获取:
package com.test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletSample extends HttpServlet {
private static final long serialVersionUID=416863504806100479L;
/**
* 初始化加载,即应用被调用之后只加载一次
*/
public void init() throws ServletException {
String realPath=this.getServletContext().getRealPath("/");
System.out.println(realPath);
}
}
在Java Web项目中获取路径,建立一个servlet在doPost()方法中添加如下代码获取,不能通过浏览器中输入URL地址调用:
package com.test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletSample extends HttpServlet {
private static final long serialVersionUID=416863504806100479L;
/**
* POST方式
*/
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String realPath=req.getSession().getServletContext().getRealPath("/");
System.out.println(realPath);
}
}
在Java Web项目中获取路径,建立一个servlet在doGet()方法中添加如下代码获取,可以通过浏览器中输入URL地址调用:
package com.test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletSample extends HttpServlet {
private static final long serialVersionUID=416863504806100479L;
/**
* GET方式
*/
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String realPath=req.getSession().getServletContext().getRealPath("/");
System.out.println(realPath);
}
}
上述方式中init()的含义是初始化加载,即应用被调用之后只会加载一次;获取项目文件路径的详细代码如下图所示:
![Java路径问题解决方案:[2]应用篇](http://www.52ij.com/uploads/allimg/160402/22164AW2-1.jpg)
在Java Web项目中通过配置web.xml来实现servlet方法的调用,配置如下,
这是sevlet的配置方式,具体配置如下图所示:
![Java路径问题解决方案:[2]应用篇](http://www.52ij.com/uploads/allimg/160402/22164C5I-2.jpg)
注意事项
servlet写配置文件web.xml
Java路径问题解决方案(共2篇)上一篇:基础篇经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
