String uploadDir = getServletContext().getRealPath("/") + "upload"; // 获得服务器的绝对路径
解决方案 »
- org.hibernate.MappingException: Unknown entity: com.company.entity.user
- Exception sending context initialized event to listener instance of class
- 用Ajax和Web2.0扩展SOA
- java分析SQL语句?
- JSF的问题
- 请问JSP中Config和Context这两个是指什么东西?
- 跪求学J2EE心得!!
- 请帮忙啊,请问一下怎样判断前面时间比后面时间小的问题
- 如何理解coarse-grained这个词
- 造福大家:请各位推荐好的webservice技术/开发站点!
- Action之间传值问题
- 智力面试题
1.可以在servlet的init方法里
String path = getServletContext().getRealPath("/");
这将获取web项目的全路径
例如 :E:\eclipseM9\workspace\tree\
tree是我web项目的根目录
2.你也可以随时在任意的class里调用
this.getClass().getClassLoader().getResource("/").getPath();
这将获取 到classes目录的全路径
例如 : E:\eclipseM9/workspace/tree/WEB-INF/classes/
这个方法也可以不在web环境里确定路径,比较好用
3.request.getContextPath();
获得web根的上下文环境
如 /tree
tree是我的web项目的root context
这个就是你想要的相对路径,你试试,不好用在说
呵呵,希望解决问题。
src
cn.aa.servlet
UploadServlet.java(这是一个servlet)
……
WebRoot
upload(文件夹)
……
WEB-INF
index.jsp
对于在封装类里(其实也就是Servlet里),我平时一直都是通过System.getProperty("user.dir")这种方法获取当前服务器所在的磁盘路径,也就是绝对路径了,如:D:/java/tomcat6.0.18/Aa/upload/(其中tree是项目名)。可以,如果不用这种方法,而是su.save("http://localhost:8080/tree/upload"),可这种为什么就不行呢?