Jboss EAP - 未加载 Servlet

我有一个包含以下内容的战争文件:


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。

http://img4.mukewang.com/61bd8a9c0001863c05180447.jpg

主要问题是我的 servlet 没有被初始化,我在 jboss 日志文件上看不到任何痕迹,尽管我的战争被正确部署。

我哪里做错了?

谢谢


慕哥9229398
浏览 150回答 2
2回答

MMTTMM

如果要将上下文根更改为http://localhost:8080/war/,则必须添加 jboss-web.xml 到WEB-INF/jboss-web.xml内容:<jboss-web>&nbsp; &nbsp; <context-root>war</context-root></jboss-web>还保留默认值Name,并Runtime Name当您上传的战争。在 jboss 日志中,您应该会看到一条消息 Registered web context: /war

三国纷争

名称和运行时名称必须始终包含正在部署的文件的扩展名。例如:application.war 必须具有遵循此模式的名称和运行时名称:^ [a-zA-Z] +.(耳朵 | 战争 | 罐子)myapp.war或war.war
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java