有人知道如何在IntelliJ IDEA中调试JSP
吗?
当我在JSP
文件中设置断点时,那些断点似乎从未生效。调试器从未触发它们。IDEA似乎认为这些断点是有效的。我确实看到一个红点被放置在我设置断点的行左侧。
我在IntelliJ论坛的这篇帖子中读到,JSP
文件需要位于web-inf下才能进行调试。
但是我还读到,位于web-inf下的JSP
文件将无法被用户直接访问。
我不确定到底是谁正确。
有人知道如何在IntelliJ IDEA中调试JSP
吗?
当我在JSP
文件中设置断点时,那些断点似乎从未生效。调试器从未触发它们。IDEA似乎认为这些断点是有效的。我确实看到一个红点被放置在我设置断点的行左侧。
我在IntelliJ论坛的这篇帖子中读到,JSP
文件需要位于web-inf下才能进行调试。
但是我还读到,位于web-inf下的JSP
文件将无法被用户直接访问。
我不确定到底是谁正确。
最后,JSP 文件不一定需要位于 WEB-INF 目录下才能进行调试。
如果要进行远程JSP调试(也适用于localhost
),您需要安装JSR45支持插件。 请注意,此功能仅受IntelliJ的Ultimate版本支持,而不是社区版本。
进入 Preferences > Plugins,搜索JSR45插件并启用。
创建运行配置:Run > Run Configuration > 点击+按钮,选择JSR45 Compatible Server,在打开的对话框中选择Remote,设置服务器主机和端口。将Application Server: Generic设置为可行。
确保您在Startup/Configuration > Debug中设置了正确的端口。
打开模块设置(在项目文件夹上按F3),在Facets下添加一个Web Facet,在Web Resource Directories下指定您的JSP根文件夹。
点击Configuration...按钮,选择包含JSP依赖项的bean、类和库的文件夹。
如果您有一个启用自动导入的Maven项目,则可能需要禁用自动导入,因为每次触发自动导入时,库设置都将被重置。
另请参见:
它应该看起来像这样:
<init-param>
<param-name>suppressSmap</param-name>
<param-value>false</param-value>
</init-param>
来自 https://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html
suppressSmap - 是否应该抑制为JSR45调试生成SMAP信息?true或false,默认值为false。
this.jspContext.request.getAttribute("attributeName")
来获取单个属性的值。