为了账号安全,请及时绑定邮箱和手机立即绑定

Jetty 7.6 不编译 JSP 文件

Jetty 7.6 不编译 JSP 文件

慕雪6442864 2022-05-21 16:43:42
我是 Jetty 和 JSP 的新手。我现在正在尝试使用 Embedded Jetty 和 JSP 创建简单的服务器以生成 html。我首先应该提到的是,我受限于 Jetty 版本。我必须使用的版本是 Jetty 7.6.xx我需要创建几个 servlet,我可以在其中将请求/响应分派给 JSP 文件。问题是 JSP 文件似乎没有被编译,而不是评估表达式,而是将整个脚本作为纯文本扔到浏览器中。我们来看一下。public void start() throws Exception {    server = new Server();    SelectChannelConnector connector = new SelectChannelConnector();    connector.setPort(port);    server.addConnector(connector);    // Base URI to webapp, where jsp files are located    URI baseUri = getWebRootResourceUri();    // Create Servlet context    ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);    context.setContextPath("/");    context.setResourceBase(baseUri.toASCIIString());    // Default Servlet (always last, always named "default")    ServletHolder holderDefault = new ServletHolder("default", DefaultServlet.class);    holderDefault.setInitParameter("resourceBase", baseUri.toASCIIString());    holderDefault.setInitParameter("dirAllowed", "true");    context.addServlet(holderDefault, "/");    server.setHandler(context);    server.start();}这是 JSP 文件    <!DOCTYPE html><html>    <head>        <title>Coin Flipper</title>    </head>    <body>        <h1>Coin Flipper</h1>        <p>Flipping a coin...</p>        <% if(Math.random() < .5){ %>            <p>Heads!</p>        <% }        else{ %>            <p>Tails!</p>        <% } %>        <hr />        <p>Refresh to flip again.</p>    </body></html>这是结果:我没有使用 web.xml,但如果它可以解决我的问题,我不介意使用它。
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

来自https://wiki.eclipse.org/Jetty/Howto/Configure_JSP

在 7.5.0 之前的 Jetty 版本中,JSP 基础结构使用 $JETTY_HOME/lib/jsp 中提供的 Eclipse Java 编译器 (ecj.jar)。对于 jetty-7.5.0,我们将 JSP 版本升级到 jsp-impl-2.1.3.b10(来自 Glassfish)。在此版本中,如果 Java 版本为 1.6 或更高版本,JSP 基础结构总是尝试从 JVM 获取 Java 编译器。因此,如果您使用的是 JRE,JSP 将无法编译,因此您必须使用完整的 JDK。或者,您可以预编译您的 JSP(无论如何这在生产部署中都是可取的)。Jetty JSPC Maven 插件有助于预编译。

这听起来完全像你的问题。按照上面链接的说明,使用 JDK 或预编译 JSP。


查看完整回答
反对 回复 2022-05-21
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信