Quarkus 如何提供 JSP 文件

问题描述 投票:0回答:2

我一直在研究 Quarkus 以及如何使用它进行新的开发,同时仍然维护我现有的 JSP 基础。

此时将所有 JSP 重写为 servlet 和 html 文件是不合理的。这是我们最终可以追求的目标,但目前还没有。因此,我一直在尝试配置 Quarkus,以便能够为我的 JSP 文件提供服务。

需要注意的是,我们的 JSP 非常古老,并且是由基本上不了解 JSP 技术的人编写的。它们大多是 scriplet 代码,scriplet 周围几乎没有 html。

因此,我使用引导方法从标准 Quarkus“入门”应用程序开始。效果很好。所以我然后添加了一个新文件

resources->META-INF->resources
命名为 test.jsp。这是一个非常基本的文件,没有添加任何特殊内容。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Test JSP</title>
</head>
<body>

</body>
</html>

我使用应用程序根文件夹中的

mvnw compile quarkus:dev
启动应用程序。一切都运行,我可以在 localhost:8080 访问默认的 index.html。但是,当我尝试加载 JSP 文件 localhost:8080/test.jsp 时,浏览器想要下载该文件。

进一步研究,我发现并向 application.properties 文件添加了一些设置(https://quarkus.io/guides/http-reference

quarkus.http.root-path=/
quarkus.servlet.context-path=/resources

但是我只能通过 localhost:8080/test/ 访问 html 页面,浏览器仍然想要下载 JSP 文件。

我尝试的最后一件事是配置一个 undertow 服务器,使用 forecube/undertow-jsp-sample 作为示例。不幸的是,使用 Quarkus 启动开发服务器的方式,主类未加载,因此 undertow 容器未启动。

我经历了所有这些,想问一下,是否可以使用 Quarkus 提供 JSP 文件?如果是这样,那我错过了什么?

jsp quarkus
2个回答
2
投票

Quarkus 不支持 JSP,我也不指望他们会添加对它的支持。无论如何,您可以将 Struts 2 与 Freemarker 一起使用 https://github.com/apache/struts-examples/tree/master/quarkus


1
投票

你可以使用

Qute模板引擎

 <dependency>
           <groupId>io.quarkus</groupId>
           <artifactId>quarkus-resteasy-qute</artifactId>
  </dependency>

Quarkus + Qute + RDBMS: https://github.com/knowledgefactory4u/Quarkus/tree/main/quarkus-qute-crud

Quarkus + Qute + MongoDB:https://github.com/knowledgefactory4u/Quarkus/tree/main/quarkus-qute-mongodb-crud

Freemarker 模板引擎

 <dependency>
         <groupId>io.quarkiverse.freemarker</groupId>
         <artifactId>quarkus-freemarker</artifactId>
         <version>0.2.7</version>
      </dependency>

Quarkus + Freemarker CRUD :https://github.com/knowledgefactory4u/Quarkus/tree/main/quarkus-freemarker-crud

© www.soinside.com 2019 - 2024. All rights reserved.