jboss部署问题 - 无法访问servlet

时间:2013-08-18 22:20:54

标签: servlets jboss web-deployment

我正在尝试编写一个简单的Web应用程序并在jboss EAP 6上部署。该应用程序名为“webapp”,我能够构建并将其部署到jboss。上下文根是/ webapp。

然后我可以访问localhost:8080 / webapp并返回一个“Hello World”,它是从/ src / main / webapp中的eclipse生成的默认index.jsp打印的。

但是,当我尝试在localhost:8080 / webapp / sessionsetup上实际访问servlet时,我收到以下错误:

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但找不到任何内容。

5 个答案:

答案 0 :(得分:2)

可能有两个原因 (1)您可以在jboss服务器中配置standalone.xml virtual-server name =“default-host”enable-welcome-root =“false”&gt;
在enable-welcome-root中使用false而不是true

(2) 你没有正确地完成控制器的映射

答案 1 :(得分:0)

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

答案 2 :(得分:0)

实际问题应该是它在jboss中的部署方式(运行时名称)。

因此,如果您尝试访问该应用程序,它应该可以正常工作。

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

答案 3 :(得分:0)

我认为您必须添加WEB-INF / jboss-web.xml文件,其中已设置了上下文根

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

答案 4 :(得分:0)

Clean Server解决这个问题在很多情况下是可行的..