jsp调用method路径问题

Test.java
///////////////////////
public class Test {
public Test() {
File f = new File("sucai");
if (f.exists()) {
System.out.println("路径正确");
} else
System.out.println("路径不正确");
}

public static void main(String[] args) {
new Test();
}
}
运行结果:路径正确
test.jsp
///////////////////////
<%
Test t = new Test();
%>

new File("文件名");

是在当前的user.dir指定的目录下,寻找“文件名”的文件。

public static void main(String[] args) {
new Test();
}

<%
Test t = new Test();
%>

2种不同的运行方式,System属性中的user.dir是不同的。所以2者在不同的目录下,寻找同一个文件名的文件,所以结果不一样。
[quote]
更绝的是System.getProperty("user.dir");
前者结果是project路径,后者是eclipse路径? [/quote]

前者是JavaSE的方式调用的,此时user.dir为project的目录;

后者为JavaEE的方式调用,此时Eclipse将启用自身的Tomcat的插件,来运行Java Web ,所以user.dir再次被相应地改变。