我想通过java来获取执行脚本的名称,例如在asp中通过request.ServerVariables("SCRIPT_NAME")来获得,不知道在java或者jsp中怎么获取阿

解决方案 »

  1.   

    获得配置文件中的内容吗?
    可以使用ServletContext类型的对象来获得
      

  2.   

    Mailbomb(网络咖啡http://blog.csdn.net/mailbomb):不是啊!
    最原始的想法是获得蜘蛛爬行纪录,上网查找之后,有通过asp来实现的,其中asp代码中就是request.ServerVariables("SCRIPT_NAME"),再去匹配现有的spider,获取信息!
    request.ServerVariables("SCRIPT_NAME")语句是获取执行脚本,我想通过jsp来实现,不知道如何获取阿?
      

  3.   

    是指除服务器地址后面的那段吧?
    request.getContextPath() + request.getServletPath()就可以
      

  4.   

    如果你的蜘蛛爬行是指类似google的robot访问记录,那么打开访问日志就可以记录它访问过的网页
      

  5.   

    如果 要判断到底是否google 的robot访问等,你需要判断
    request.getHeader("user-agent")是否包含googlebot字符
      

  6.   

    ChDw(米) :
    谢谢您提供这么多建议!
    我就是想得到比方google的robot访问纪录,但是我不知道访问日志是怎么一回事,以前在开发web系统的时候,没有接触到这一层。
    我想问个问题:如何纪录访问日志,服务器端应该如何配置阿?
      

  7.   

    访问日志就是Web服务器提供的记录功能,默认情况下可能没有打开(打开了会对性能有一定的影响)
    如果是Tomcat,则打开conf\server.xml,原来有一段可能是注释了的配置
            <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
                     directory="logs"  prefix="localhost_access_log." suffix=".txt"
                     pattern="combined" resolveHosts="false"/>去掉注释使之生效,并且pattern改成combined(这样才会记录userAgent信息)这样在任何人访问网站(包括各种robot)都会在logs\localhost_access_log.2007-04-25.txt这样的文件中记录,
    你可以对这些文件分析测试就当然可能是做一个Robot出来,再或者自己编造一些access_log文件分析了
    除了Tomcat外,各种Web服务器普通都会提供类似的配置功能的,具体需要看相关文档
      

  8.   

    我把Tomcat的server.xml做了以下配置:
            <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
                     directory="logs"  prefix="localhost_access_log." suffix=".txt"
                     pattern="combined" resolveHosts="false"/>
    但是当他人通过IE访问的时候,会纪录该页面中所有的包含文件。比如:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
    <head>
    <meta http-equiv="Content-Language" content="zh-CN" /> 
    <link rel="stylesheet" href="/css/search_main.css" type="text/css" media="all" />
    <title>测试</title>
    <script type="text/javascript" src="/js/search.js"></script>
    </head>
    <body>
    <img src="/images/csdn_search_logo.gif" />
    </body>
    </html>log文件中分别会纪录:
    本页面
    /css/search_main.css
    /js/search.js
    /images/csdn_search_logo.gif
    四条访问纪录,不知道该如何修改配置,才能正确的记录阿?
      

  9.   

    这个的确就是如此,因为IE的确向Tomcat同时请求了html, css, js, gif这个access_log会记录所有文件的,可能包含你不需要的记录,但是你可以在分析日志的时候去掉你认为不需要分析的记录