我想把访问过的文件名记下来。
 getRealPath 和 getRequestURI 能取到一些,但是struts中,url是*.do的,就只能取到do的名字了。无法取到真实的文件名。

解决方案 »

  1.   

    getServletContext()
    看看这个方法能不能帮上你,具体还需google
      

  2.   

    多谢两位的帮助,我是在访问的页面中嵌入一个jsp,用来判断所进入的界面。xuender的方法只能得到嵌入界面的名称。goole了两天了,都没查到。有人继续帮忙吗?分不够再加。
      

  3.   

    你在jsp里调用this.getClass().getName()就是jsp的名称了
      

  4.   

    那样要在所有的jsp里调用,我想用一个统一的程序来处理这个操作。
      

  5.   

    用来判断所进入的界面?当一条路走不通的时候可以另辟蹊径:
    *.do文件是不是与*.jsp对应的?MAPPING一下,不就知道从哪里过来的吗?
      

  6.   

    这个程序是在配置文件里加的,相当于校验功能,访问每个界面时都要先通过这个校验。mapping固然能得到,但也要知道他对应哪个mapping文件,我的系统有多个mapping文件,所以也不好取。
      

  7.   

    public class test
    {
    public void execute()
    {System.out.println(this.getClass());}
    public static void main(String[] args)
    {new test().execute();
    }
    }
    serlet也是普通的类obj.getClass()是java.lang.Object的函数,所有的类都继承它,都可以用。运行上面的程序,可以得到class test,因此,你只要String s=this.getClass().substring(6)就可以了。
      

  8.   

    问题解决了,我们实际环境是weblogic的,weblogic下可以从url中得到文件名,而tomcat只能得到do名字,多谢大家的帮助。就此结贴。