有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java识别正在运行的JSP文件

我在一个巨大的jsp/servlet项目上工作,它有一个模板系统,而且相当复杂(很难指出导入了哪些jsp文件,因为它基于所选的模板和一些其他参数)。当我使用web浏览器测试站点时,我希望在不向大量jsp文件添加调试信息的情况下识别正在运行的jsp文件。我怎么能这么做?有什么把戏吗? 顺便说一下,我使用eclipse和tomcat


共 (1) 个答案

  1. # 1 楼答案

    创建一个^{},映射如下

    <filter-mapping>
        <filter-name>yourFilterName</filter-name>
        <url-pattern>*.jsp</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    

    并在doFilter()方法中大致完成以下工作

    String requestURI = ((HttpServletRequest) request).getRequestURI();
    String forwardURI = (String) request.getAttribute(RequestDispatcher.FORWARD_REQUEST_URI);
    String includeURI = (String) request.getAttribute(RequestDispatcher.INCLUDE_REQUEST_URI);
    
    if (includeURI != null) {
        System.out.println("JSP included: " + includeURI);
    } else if (forwardURI != null) {
        System.out.println("JSP forwarded: " + requestURI); // No, not forwardURI!
    } else {
        System.out.println("JSP requested: " + requestURI);
    }
    
    chain.doFilter(request, response);