2013-05-01 73 views
2

我试了几个小时才得到我的第一个servlet在我的JBoss 7.1.1实例上工作。
我正在使用Maven编译项目并将其部署为WAR文件所在的EAR模块。我使用maven-war-plugin制作战争模块。 Web项目的结构如下:我的web项目在JBoss 7上无法工作,当被maven部署时

--src 
    -- main 
     -- java 
      -- org 
       -- myproject 
       -- MyServlet.java 
     -- resources 
     -- webapp 
      -- web.xml 

的web.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

    <servlet> 
     <servlet-name>myproject</servlet-name> 
     <servlet-class>org.myproject.MyServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>myproject</servlet-name> 
     <url-pattern>/Myproject</url-pattern> 
    </servlet-mapping> 

</web-app> 

当我去http://127.0.0.1:8080/Myproject我刚刚得到的JBoss一个Status 404。 我真的不知道我做错了什么。

当JBoss上deployd,发生在日志中没有错误,一切似乎好:

14:37:15,053 INFO [org.jboss.web] (MSC service thread 1-8) JBAS018210: Registering web context: /Myproject 
14:37:15,061 INFO [org.jboss.as.server] (management-handler-thread - 26) JBAS018562: Redeployed "myproject.ear" 
14:37:15,061 INFO [org.jboss.as.server] (management-handler-thread - 26) JBAS018565: Replaced deployment "myproject.ear" with deployment "myproject.ear" 

出了什么问题?

回答

3

在服务器上部署应用程序时,它有自己的根路径。因此,您可能需要访问像http://127.0.0.1:8080/myproject/Myproject

+0

有趣!我已经按照http://www.mkyong.com/servlet/a-simple-servlet-example-write-deploy-run/上的教程设置了一切,但我正在使用JBoss,而不是Tomcat。这可能是一个愚蠢的问题,但我如何找出根路径?我在web.xml中设置的所有内容似乎都是“”的一部分。 – Rox 2013-05-01 13:04:33

+0

我认为它是基于部署的文件的名称。但要确保你可以在'src/main/webapp/WEB-INF'文件夹中的'jboss-web.xml'文件中指定它:' myproject'。另外在mkyong上,它使用形式为'http:// localhost:8080/servlet/Demo1'的URL,而不仅仅是'http:// localhost:8080/Demo1'。希望这可以帮助! – StreakyCobra 2013-05-01 13:19:04

+0

谢谢!现在就工作吧! :-) – Rox 2013-05-01 13:26:29