bug1 :符号 File.separator是系统默认的文件分割符号,屏蔽了这些系统的区别。 用File.separator保证了在任何系统下不会出错。 String filePath="src"+ File.separator +"user"+ File.separator +userName+ File.
String filePath="src"+ File.separator +"user"+ File.separator +userName+ File.separator +listConn.get("connName")+".properties"; 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写: File file1 = new File ("C:\tmp\test.txt"); 在linux下则是这样的: File file2 = new File ("/tmp/test.txt"); 如果要考虑跨平台,则最好是这么写: File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt"); File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。bug2:source和deploy path路径
原本在java 中路径为source 下的/src 和 /WebContent 在controllet,html 中路径为Deploy Path下的 WEB-INF/classes 和 / demo: String path = request.getRealPath("/"); String filePath=path+"WEB-INF"+ File.separator+"classes"+ File.separator +"user";相对路径问题,前部添加<%=request.getContextPath()%>,以确保所引用的文件都属于Web应用中的目录
如果是js,css等文件可以用这个{pageContext.request.ContextPath}/... 文件确实是在webContent下的img或js目录下,直接使用/js/jquery-2.1.0.min.js 或/images/bg.png能在程序中直接访问 客户端浏览器的路径也为/js/jquery-2.1.0.min.js 或/images/bg.png,这是能访问的,但是我们测试的时候不止一个项目, 所以并没有将这个项目放到tomcat的默认项目中或其他问题。 写法: src=“{pageContext.request.ContextPath}/js/jquery-2.1.0.min.js” 如果是图片 <%=request.getContextPath()%>/images/bg.png%> 这样一来就能访问了,浏览器上的路径为 /ProjectName/images/bg.png 或 /ProjectName/js/jquery-2.1.0.min.js http://blog.csdn.net/bohemia/article/details/704427/