2016-06-08 22 views
0

配置和想法:我有maven 3.3,eclipse mars,tomcat v8,並且想先部署一個簡單的helloworld servlet,然後我自己的代碼來測試它。已部署REST服務和tomcat管理器配置正確,但訪問該服務會拋出一個404

我一直在嘗試這麼做,我甚至無法進入apache主頁面,並且剛剛配置正確,因此我在管理器webapp中看到了我的web服務。然而,它給了我一個helloworld的404狀態,這不是我所期望的。

所以我想知道我應該接下來要做什麼。我有代碼,我看到它部署在tomcat中,tomcat正在工作,但沒有任何rest/servlet相關的作品,它只是404狀態。

我想主要是通過訪問路徑這兩個組合:

http://localhost:8080/connectedCar/

http://localhost:8080/connectedCar/rest/helloworld

POM:

<dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>1.9</version> 
     </dependency> 

     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>1.17.1</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-core</artifactId> 
      <version>1.17.1</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-servlet</artifactId> 
      <version>1.17.1</version> 
     </dependency> 

    </dependencies> 

的web.xml:

<servlet> 
    <servlet-name>connectedCar</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>pruebaCC.connectedCar</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>connectedCar</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

Tomcat用戶:

<?xml version="1.0" encoding="UTF-8"?> 
<tomcat-users> 
<!-- 
    <role rolename="tomcat"/> 
    <role rolename="role1"/> 
    <user username="tomcat" password="tomcat" roles="tomcat"/> 
    <user username="both" password="tomcat" roles="tomcat,role1"/> 
    <user username="role1" password="tomcat" roles="role1"/> 
--> 

    <role rolename="manager-gui"/> 
    <user username="admin" password="admin" roles="manager-gui"/> 

</tomcat-users> 

Setting.xml的:

<server> 
    <id>tomcatserver</id> 
    <username>admin</username> 
    <password>admin</password> 
</server> 
+0

更新了所有的配置和戰爭名稱......? – sitakant

+0

「所有配置」是什麼意思?我不確定我知道那是什麼。戰爭名稱保持不變,不是@IgCiphEr? –

回答

1

請更改初始參數來com.sun.jersey.config.property.packages澤西島1.您正在使用的一個適用於澤西2.

而且,看看這個答案成立ServletContainer class not found Exception

+0

我會的,非常感謝。我甚至只有球衣,因爲別的東西很難做到,所以在經過大量搜索之後,我看到了我發佈的解決方案。我會盡力改變它,謝謝。 –

1

實際的URL格式來訪問最小澤西1網絡資源是

http://<host>:<port>/<web_context_path>/<url_pattern>/<web_services_path>