请问各位,我写了一个登陆页面判断的action,该action放在com.gigfun.action包中,程序中有一行代码;
 Document doc = sb.build(new FileInputStream("admin.xml"));
   用来读取admin.xml,可是运行时总提示java.io.FileNotFoundException: admin.xml (系统找不到指定的文件。)
   我现在是把admin.xml放在WEB-INF文件夹下,和web.xml,strutsconfig.xml平行的位置,系统找不到该文件,那这个文件该放在何处action才能找到呢?   
  

解决方案 »

  1.   

    怎么个给法,能不能详细点.
    我记得如果是LabelsBundle.properties配置文件的话,就是放在/WEB-INF/classes文件夹下,然后在程序中直接用ResourceBundle labels = ResourceBundle.getBundle("LabelsBundle");就可以了,而xml文件好像却不行
      

  2.   

    Document doc = sb.build(new FileInputStream("../web/admin.xml"));
      

  3.   

    也试过了,不行.
    我估计是Document doc = sb.build(new FileInputStream("admin.xml"));这种写法有错,我记得以前看过别人写的代码,好像是把admin.xml放在classes下面,然后用url,getResource等方法来读取,但是一下子记不全了,有谁知道吗?
      

  4.   

    用相对于/WEB-INF/的相对路径,当你部署后,在代码中访问/afile.doc 就相当于/WEB-INF/afile.doc;
    如果你把admin.xml 放在/WEB-INF/config/admin.xml, 那么程序中访问的方法就是:
    Document doc = sb.build(new FileInputStream("/config/admin.xml"));
      

  5.   

    谢谢楼上的各位,我已解决了这个问题
     把 Document doc = sb.build(new FileInputStream("admin.xml"));
     用下列代码替换
        URL url = this.getClass().getResource("/admin.xml");
       Document doc = sb.build(new FileInputStream(url.getFile()));
       同时把admin.xml放到classes下面