可能因为使用的是相对路径
运行Tomcat的时候是从Tomcat根目录运行的吧? ^_^

解决方案 »

  1.   

    因为在程序中直接写文件名,则是当前运行目录,应用程序当前运行目录是应用程序所在目录。而Tomcat的当前运行目录指的是tomcat的webapp目录。
      

  2.   

    2楼正解,可以打log来看,不写路径默认的路径就是:
    String strPath = System.getProperty("user.dir");
      

  3.   

    这个到不一定,我的两台机器分别是tomcat快捷目录和c盘..5092目录,你如果想用当前目录,需要用requset类和servlet类的方法
      

  4.   

    是啊。在Java里,很多时候都是指当前工作目录
    ^@^
      

  5.   

    相对路径不是你的JSP放的相对路径,是编译成SERVLET
    的路径为根
      

  6.   

    jsp编以后放在work目录中,我不是在jsp中定位文件的,是在javabean中定位文件
      

  7.   

    在servlet中获取文件在服务器上的绝对路径,可以使用ServletContext.getRealPath():
    ... ...
    ServletContext context = getServletContext();
    File file = new File(context.getRealPath("/conf/webConfig.xml"));
    ... ...