gpt4 book ai didi

regex - 服务器返回 JSP 页面时如何删除注释?

转载 作者:行者123 更新时间:2023-11-28 23:38:01 24 4
gpt4 key购买 nike

tomcat 的哪个类负责将.jsp 文件转换为.class 文件?我想查看为转换编写的源代码。我的目标是检查如何消除 scriptlet 注释的逻辑,并基于此我将编写自己的代码来删除 HTML 注释(我还没有决定如何实现它)。

我确信源代码应该可用,因为它是开源的。

或者是否有可能实现某种过滤器,以便每次服务器返回 JSP 页面时删除评论。我可以将所有 HTML 注释替换为 Scriptlet 注释。但我想确保,如果将来有人使用 html 评论,它不会显示。这基本上是为了安全。

[已添加]

根据 JB Nizet 的建议,我们将修改 build.xml 文件以删除注释。我想出了这个来删除 HTML 注释 -

<target name="-trim.html.comments">
<echo message="Inside trim html comments" />
<fileset id="html.fileset" dir="${build.dir}" includes="**/*.jsp, **/*.html" />
<!-- HTML Comments -->
<replaceregexp replace="" flags="g" match="\&lt;![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)\&gt;">
<fileset refid="html.fileset"/>
</replaceregexp>
</target>

但是,我不确定如何删除以//或/* */开头的注释。有什么建议我该怎么做?我在互联网上搜索过,但没有得到任何线索。

我们正在使用 ant 脚本进行构建。

[已添加]

要删除以//开头的单行注释,我正在使用下面的正则表达式。但不知何故它不起作用。谁能帮我做错什么?提前致谢。

<replaceregexp flags="gs" match="?:^\s*\/\/(?:.*)$" replace="">

最佳答案

与其在 Tomcat 中执行,不如直接使用 Apache。它支持完全满足您需求的模块。 mod pagespeed可能最接近你想要的; mod deflate可以配置为做同样的事情,尽管它也压缩了数据,这可能有点过头了。

作为一个很好的副作用,这允许您留下方便的评论,它们将提供给使用端口 8080 的内部用户(开发人员),而使用端口 80 的用户将只能看到缩小的产品。

关于regex - 服务器返回 JSP 页面时如何删除注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22890233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com