嵌入式jetty无法访问部署中的jsp servlet

发布于 2025-01-05 16:36:50 字数 2125 浏览 2 评论 0原文

虽然我的嵌入式 jetty 应用程序在 eclipse 中运行良好,但它没有在我的部署中将 JSP 作为 servlet 提供。 Jetty 不会返回错误,而只是显示我的 webapp 目录的内容。我可以访问其他 servlet,但不能访问在 web.xml 中设置为我的欢迎文件的 console.jsp。

我设置嵌入式服务器和 web.xml 的代码如下...

    Server server;

    WebAppContext webappContext = new WebAppContext();
    webappContext.setContextPath("/indexers");
    webappContext.setWar(IndexerWebApp.class.getResource("/webapp").toExternalForm());

    server.setHandler(webappContext);

web.xml......

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
    http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>Indexer Control Console</display-name>

<welcome-file-list>
    <welcome-file>console.jsp</welcome-file>
</welcome-file-list>

<!-- Servlets -->
<servlet>
    <servlet-name>launchTask</servlet-name>
    <servlet-class>com.hp.it.kmcs.suggest.index.web.servlets.LaunchTask</servlet-class>
</servlet>

<servlet>
    <servlet-name>taskStatus</servlet-name>
    <servlet-class>com.hp.it.kmcs.suggest.index.web.servlets.GetTaskStatus</servlet-class>
</servlet>

<servlet>
    <servlet-name>rescheduleTask</servlet-name>
    <servlet-class>com.hp.it.kmcs.suggest.index.web.servlets.RescheduleTask</servlet-class>
</servlet>


<!-- Servlet mappings -->
<servlet-mapping>
    <servlet-name>launchTask</servlet-name>
    <url-pattern>/launchTask</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>taskStatus</servlet-name>
    <url-pattern>/taskStatus</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>rescheduleTask</servlet-name>
    <url-pattern>/rescheduleTask</url-pattern>
</servlet-mapping>

While my embedded jetty application runs fine in eclipse it isnt serving up a JSP as a servlet in my deployment. Jetty doesnt return an error but rather it simply displays the contents of my webapp dir. I can access other servlets but not console.jsp which is set as my welcome file in the web.xml.

My code for setting up the embedded server and the web.xml are below...

    Server server;

    WebAppContext webappContext = new WebAppContext();
    webappContext.setContextPath("/indexers");
    webappContext.setWar(IndexerWebApp.class.getResource("/webapp").toExternalForm());

    server.setHandler(webappContext);

web.xml......

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
    http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>Indexer Control Console</display-name>

<welcome-file-list>
    <welcome-file>console.jsp</welcome-file>
</welcome-file-list>

<!-- Servlets -->
<servlet>
    <servlet-name>launchTask</servlet-name>
    <servlet-class>com.hp.it.kmcs.suggest.index.web.servlets.LaunchTask</servlet-class>
</servlet>

<servlet>
    <servlet-name>taskStatus</servlet-name>
    <servlet-class>com.hp.it.kmcs.suggest.index.web.servlets.GetTaskStatus</servlet-class>
</servlet>

<servlet>
    <servlet-name>rescheduleTask</servlet-name>
    <servlet-class>com.hp.it.kmcs.suggest.index.web.servlets.RescheduleTask</servlet-class>
</servlet>


<!-- Servlet mappings -->
<servlet-mapping>
    <servlet-name>launchTask</servlet-name>
    <url-pattern>/launchTask</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>taskStatus</servlet-name>
    <url-pattern>/taskStatus</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>rescheduleTask</servlet-name>
    <url-pattern>/rescheduleTask</url-pattern>
</servlet-mapping>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文