Java 没有Web服务器的JSP引擎

Java 没有Web服务器的JSP引擎,java,jsp,webserver,Java,Jsp,Webserver,在用Java实现自己的Web服务器的范围内,我希望支持JSP。目前,我不想自己编写JSP引擎,而是使用现有的JSP引擎。 我发现了几个JSP引擎(例如,Jasper或Jakarta),但它们都在自己的Web服务器中。 是否有一个JSP引擎实现可以作为独立库使用?您可以看一看,但我想该项目不是活动的。在一些项目中,JSP是预编译的,因此存在集成JSP编译器的ant和maven构建 马文: 我将在此基础上工作,因为它正在积极使用。检查生成的java或jvm字节码(javap),以提供(太)特定的

在用Java实现自己的Web服务器的范围内,我希望支持JSP。目前,我不想自己编写JSP引擎,而是使用现有的JSP引擎。 我发现了几个JSP引擎(例如,
Jasper
Jakarta
),但它们都在自己的Web服务器中。
是否有一个JSP引擎实现可以作为独立库使用?

您可以看一看,但我想该项目不是活动的。

在一些项目中,JSP是预编译的,因此存在集成JSP编译器的ant和maven构建

  • 马文:

我将在此基础上工作,因为它正在积极使用。检查生成的java或jvm字节码(javap),以提供(太)特定的实现类

这将是一项非常困难的任务。您将失去运行时编译、热部署、映射、jsp预编译/缓存以及可能更多的好处

展望这些事实,您总是可以使用AppServer已经提供的一些工具来编译JSP

以下是一个简短的示例:

  • ApacheJasper,您可以从maven下载独立api,并查看javadoc
  • Weblogic jspc:
  • 你拥有解析器
Ant捆绑了一系列可选任务,您可以调用这些任务来[预]编译JSP:

然后从服务器逻辑()调用ant,或者在构建服务器时预编译JSP

另外,如果这一切都是关于创建一个web容器,那么为什么不简单明了地编写呢。

您可以采用jasper的fork(来自tomcat)来更容易地将其安装到干净的servlet实现中


这样做是为了向undertow servlet实现添加对JSP的支持。

为什么?JSP仅定义为在Servlet容器中运行。如果您正在重新实现Tomcat、Glassfish或JBoss,那么您将面临一项艰巨的任务。这就是为什么我要搜索一个独立的库