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

Jboss EAP - 未加载 Servlet

Jboss EAP - 未加载 Servlet

慕哥9229398 2021-12-18 15:15:19
我有一个包含以下内容的战争文件:META-INF|___MANIFEST.MFWEB-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。主要问题是我的 servlet 没有被初始化,我在 jboss 日志文件上看不到任何痕迹,尽管我的战争被正确部署。我哪里做错了?谢谢
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

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


<jboss-web>

    <context-root>war</context-root>

</jboss-web>

还保留默认值Name,并Runtime Name当您上传的战争。


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


查看完整回答
反对 回复 2021-12-18
?
三国纷争

TA贡献1804条经验 获得超7个赞

名称和运行时名称必须始终包含正在部署的文件的扩展名。

例如:application.war 必须具有遵循此模式的名称和运行时名称:

^ [a-zA-Z] +.(耳朵 | 战争 | 罐子)

myapp.warwar.war


查看完整回答
反对 回复 2021-12-18
  • 2 回答
  • 0 关注
  • 149 浏览

添加回答

举报

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