在 Chrome 中运行 IntelliJ JSP 代码而不是显示源代码

Posted

技术标签:

【中文标题】在 Chrome 中运行 IntelliJ JSP 代码而不是显示源代码【英文标题】:Run IntelliJ JSP code in Chrome rather than display source code 【发布时间】:2019-12-01 23:30:56 【问题描述】:

在开发网页时,当您将鼠标悬停在该区域时,IntelliJ 会在编辑器的右上角显示浏览器图标。过去对我来说,如果编辑器中的活动文件是 JSP,我可以单击我的 IntelliJ-Chrome 图标。这将启动 Chrome,将显示 JSP 在浏览器中的样子。我想这是某种预览。这样,当我只想看看我的 JSP 是什么样子时,我不需要运行整个程序。

我最近重新安装了我的所有软件并丢失了我之前的所有设置。现在,当我单击 IntelliJ-Chrome 图标时,Chrome 只会显示编辑器中的 JSP 源代码。如何让 Chrome 运行 JSP 而不仅仅是显示代码?

当我通过 Tomcat 运行整个项目时,一切正常。

附加信息01:

我注意到,当 Chrome 显示这些 JSP 时,地址栏会显示文件在我的硬盘上的位置,而不是通过 localhost。我当然为项目设置了 Tomcat 运行配置,所以我想知道 IntelliJ 中是否存在导致 JSP 无法通过我的 Tomcat 配置发送的设置。我在 IntelliJ 论坛中查找了这个,发现 this post 解决了类似的问题。给出的答案是:

您必须在以下位置配置并标记为默认部署条目 "设置 | 部署

附加信息 02:

在使用这些图标的时候,相信启动的不一定是任何运行配置,而是浏览器的路径配置。它位于 IntelliJ 中的设置 -> 工具 -> 网络浏览器。

我可以修改到 http:\localhost:8080\ 的路径,但这会在项目欢迎页面而不是编辑器中的活动页面上启动操作系统默认浏览器,而不是 Chrome。

【问题讨论】:

JSP 不是由浏览器(例如 Chrome)运行的。它们在服务器(例如 Tomcat)上运行,并在运行时生成发送到浏览器的 html。所以没有办法“让 Chrome 运行 JSP 代码”。 【参考方案1】:

您需要有一个活跃的Tomcat run/debug configuration。一旦你启动它并且应用程序部署在服务器上,单击编辑器中的浏览器图标将在浏览器中打开与.jsp文件对应的URL。

IDE 需要知道 deployment context 和 the server URL 才能使此功能正常工作,这在没有 Tomcat 运行配置的情况下是不可能的。

单击this example 中index.jsp 的图标将在浏览器中打开http://localhost:8080/index.jsp

【讨论】:

即使按照您指出的那样配置了 Tomcat,JSP 似乎也是从我的硬盘启动而不是从本地主机启动的。地址如下所示:file:///F:/Programming/Education/Java/Murach%20Java%20Servlets%20JSP%203E/Chapter%2013%20JPA/Login%20Register%20View%2002/web/welcome.jsp 请分享Minimal, Complete, and Verifiable example。 JSP 必须位于 Web 资源目录中,该目录是 IntelliJ IDEA 构建的工件的一部分,并通过此运行/调试配置、部署选项卡部署在 Tomcat 上。【参考方案2】:

您的 Tomcat 服务器负责呈现 JSP 代码。浏览器只解析 HTML(可能使用 CSS/JS)。 JSP 是服务器端技术。你应该先运行服务器,然后你最喜欢的图标才能工作。

【讨论】:

以上是关于在 Chrome 中运行 IntelliJ JSP 代码而不是显示源代码的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ Idea标记红色web.xml运行良好[关闭]

IntelliJ 和 JSP/JSTL 无法解析 tomcat7 中 JSTL 的 taglib

Intellij 运行配置 Spring Boot 与 Maven 问题

如何让 Intellij 中的 Spring MVC 运行 HTML

关于在Intellij Idea中使用JSTL标签库报错的问题

如何从 IDE 在移动 chrome 上运行 Flutter Web