2013-08-18 102 views
3

我正在尝试编写一个简单的web应用程序并部署在jboss EAP 6上。该应用程序被命名为“webapp”,我能够构建并将其部署到jboss。上下文根是/ webapp。jboss部署问题 - 无法访问servlet

然后我能够访问localhost:8080/webapp,它会返回一个由默认的index.jsp打印的“Hello World”,该文件由eclipse在/ src/main/webapp中生成。

然而,当我试图实际访问位于localhost这个servlet:8080/web应用/ sessionsetup我得到了以下错误:

JBWEB000065: HTTP Status 404 - /webapp/sessionsetup 

JBWEB000309: type JBWEB000067: Status report 

JBWEB000068: message /webapp/sessionsetup 

JBWEB000069: description JBWEB000124: The requested resource is not available. 

下面是我为servlet简单的代码:

@WebServlet("/sessionsetup") 
public class SessionSetup extends HttpServlet{ 

private static final Logger log = LoggerFactory.getLogger(SessionSetup.class); 

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { 
    log.info(this.toString()); 
    log.info("Do get method is called"); 

    response.setContentType("text/xml"); 

    PrintWriter printer = response.getWriter(); 
    printer.println("<html>"); 
    printer.println("<head>" + "</head>"); 
    printer.println("<body>"); 
    printer.println("<h1>" + "Welcome! You are in session setup" + "</h1>"); 
    printer.println("</body>"); 
    printer.println("</html>"); 

    printer.close(); 
    } 

} 

任何人都可以评论我可能错过什么东西吗?有没有办法找到一些日志信息没有这个错误?我试图在/ standalone/log中查找server.log,但找不到任何东西。

回答

0

问题已解决。这似乎是web.xml的一个问题 - 一旦这个被删除,servlet就可用了。

1

可能有两个原因
(1)您可以在JBoss服务器配置standalone.xml
虚拟服务器名称=“默认主机”启用,欢迎根=“假”>
使用假,而不是在真正的实现,欢迎根

(2) 你有没有做过控制器的映射正确

0

实际的问题应该是如何在JBoss部署(运行时名称)的方式。

所以,如果你尝试访问应用程序,它应该工作。

运行时名称:部署在服务器运行时应该知道的名称。这将等同于部署文件的文件名,并且将形成默认Java Enterprise Edition应用程序和模块名称等基础。这通常与“名称”相同,但在某些情况下,用户可能希望在部署内容存储库中提供两个具有相同“运行时名称”的部署(例如,两个版本的“foo.war”)在这种情况下,部署需要具有不同的“名称”值,但会具有相同的“运行时名称”。

0

这只是我关于如何解决这个问题以及解决问题的方式的经验。

这个问题发生在没有war文件的情况下。当我部署

hawtio

到它需要

jolokia

所以我只是下载和部署手动进我的JBoss那么问题已经解决了.war文件监控的JBoss。

0

我认为你必须添加在其中设置了上下文根

<jboss-web> 
    <context-root>contextroot</context-root> 
</jboss-web> 
WEB-INF /的jboss-web.xml文件