gpt4 book ai didi

java - Jboss EAP - Servlet 未加载

转载 作者:行者123 更新时间:2023-12-02 10:39:14 24 4
gpt4 key购买 nike

我有一个 war 文件,其中包含:

META-INF
|___MANIFEST.MF
WEB-INF
|___web.xml
|___classes
|____servlet
|____StarterServlet.class

我的 web.xml 看起来像:

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

<display-name>WAR</display-name>

<servlet>
<display-name>Starter Servlet</display-name>
<servlet-name>StarterServlet</servlet-name>
<servlet-class>servlet.StarterServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>StarterServlet</servlet-name>
<url-pattern>/starter</url-pattern>
</servlet-mapping>

</web-app>

我的 servlet 代码是:

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class StarterServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

@Override
public void init(ServletConfig servletConfiguration) throws ServletException {

super.init(servletConfiguration);

System.out.println("SERVLET STARTED!");
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

System.out.println("DOGET!");

PrintWriter printWriter = response.getWriter();

printWriter.println("Hello world");
}
}

此外,我的运行时名称是:“war”,因此我将使用以下 URL 查找我的上下文根:

http://localhost:8080/war/starter .

enter image description here

主要问题是我的 servlet 没有初始化,而且我在 jboss 日志文件上看不到任何跟踪,尽管我的 war 部署正确。

我哪里做错了?

谢谢

最佳答案

如果要将上下文根更改为 http://localhost:8080/war/您必须将 jboss-web.xml 添加到 WEB-INF/jboss-web.xml ,内容为:

<jboss-web>
<context-root>war</context-root>
</jboss-web>

上传 war 时,请保留 NameRuntime Name 中的默认值。

在 jboss 日志中,您应该会看到一 strip 有 Registered web context:/war 的消息

关于java - Jboss EAP - Servlet 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53054890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com