• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tail2
V2EX  ›  程序员

Java 过滤器的问题

  •  
  •   tail2 · Apr 12, 2019 · 1777 views
    This topic created in 2600 days ago, the information mentioned may be changed or developed.

    我在用过滤器实现一个网页防篡改系统:

    我在过滤器中对网页实现了修改, 然后把请求交给 servlet 返回网页, 但是第一次返回的 jsp 网页还是修改之前的网页, 需要再次刷新浏览器才能显示修改后的网页。

    我应该如何做到第一次返回的网页就是修改后的网页?? 过滤器代码:

    //摘要值不相等, 说明网页被修改, 需恢复 System.out.println("=====恢复中"); //恢复网页, 就是把修改后的网页文件删除, 再把备份文件复制到网页目录 WebpageUtil.retrievePage(url); chain.doFilter(request, response)

    servlet 代码: request.getRequestDispatcher("/WEB-INF/views/page2.jsp").forward(request, response);

    3 replies    2019-04-12 11:51:00 +08:00
    wolfie
        1
    wolfie  
       Apr 12, 2019
    打断点看看 JSP 编译时间。
    都放到 `WEB-INF` 下了还怕篡改吗。
    tail2
        2
    tail2  
    OP
       Apr 12, 2019
    @wolfie 我觉得 jsp 编译的时间点就是启动服务器之后, 处理请求之前, 因为 jsp 已经提前编译好了, 所以不管怎么修改, 返回的都是之前的没有修改的 jsp, 那我怎么解决这个问题呀
    wolfie
        3
    wolfie  
       Apr 12, 2019
    @tail2 #2
    JSP 有修改会重新编译,Tomcat 就是这样。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   945 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 20:48 · PVG 04:48 · LAX 13:48 · JFK 16:48
    ♥ Do have faith in what you're doing.