Java Jboss EAP-未加载Servlet
我有一个war文件,其中包含:Java Jboss EAP-未加载Servlet,java,servlets,jakarta-ee,jboss,web.xml,Java,Servlets,Jakarta Ee,Jboss,Web.xml,我有一个war文件,其中包含: META-INF |___MANIFEST.MF WEB-INF |___web.xml |___classes |____servlet |____StarterServlet.class my web.xml看起来像: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
META-INF
|___MANIFEST.MF
WEB-INF
|___web.xml
|___classes
|____servlet
|____StarterServlet.class
my 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>
此外,我的运行时名称是:“war”,因此我将使用以下URL查找我的上下文根:
主要的问题是我的servlet没有被初始化,我在jboss日志文件上看不到任何跟踪,尽管我的war部署正确
我哪里做错了
谢谢如果要将上下文根目录更改为,则必须将jboss-web.xml添加到
web-INF/jboss-web.xml
,内容如下:
<jboss-web>
<context-root>war</context-root>
</jboss-web>
战争
上传war时,还保留Name
和Runtime Name
中的默认值
在jboss日志中,您应该会看到一条消息,其中包含
注册的web上下文:/war
,感谢@wirnse的回答,我得到了解决方案
名称和运行时名称必须始终包含正在部署的文件的扩展名
例如:application.war必须具有以下模式的名称和运行时名称:
^[a-zA-Z]+(ear | war | jar)
myapp.war或war.warservlet未初始化是什么意思?当您使用浏览器转到url/starter时,会出现什么错误?404错误。我可以看到我的servlet没有初始化,因为init方法没有被调用,并且我在server.Log中看不到任何“servlet已启动!”日志,只是一些建议。部署战争还有两种其他方式。使用cli(您也可以在其中使用运行时名称)并将其复制到deployments文件夹中。第二次,如果没有jboss-web.xml,则将上下文根设置为war文件名。在开发过程中,您可能希望使用IDE进行部署。我不知道netbeans,但在eclipse中,您可以运行项目,对deployments文件夹进行分解部署。
<jboss-web>
<context-root>war</context-root>
</jboss-web>