看板 java 關於我們 聯絡資訊
各位大大好: 最近因為專題需要正在練習Restful, 並且也成功寫出程式, 可以在Eclipse上藉由Tomcat當作server跑, 也可以透過browser連到網頁, 然後透過別台電腦也能連到我寫的程式, 也都有成功秀出我要的結果, 但是當我從eclipse關掉Tomcat Server, 並且將檔案佈署到Tomcat後, 然後再連上網頁, 可是卻出現404的錯誤訊息。 不知道各位大大知道這是什麼問題嗎?? 以下是我的code: import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; @Path("/GPS") public class serverTest { @POST @Produces("text/plain") public Response doPostMessage(@FormParam("longitude") String x,@FormParam("latitude") String y) throws IOException { try { String filePath = "test.txt"; FileOutputStream fileOutputStream = new FileOutputStream(filePath); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream); outputStreamWriter.write(x + "," + y); outputStreamWriter.close(); } catch (Exception e) { e.printStackTrace(); } return Response.status(200).entity(x + "," + y).build(); //return x + " ," + y; } @GET @Produces("text/plain") public String getClichedMessage() { return "This is Get"; } } 然後以下是web.xml的code: <?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>HelloGPS</display-name> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class> com.sun.jersey.spi.container.servlet.ServletContainer </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> 我輸入的網址:我的IP/gpsTest/GPS 再麻煩各位大大了~~ 謝謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.25.195
PsMonkey:你都說在 Eclipse 上沒問題了,那就不是程式碼問題 03/28 18:47
PsMonkey:po 程式碼只是增加版規動用機會 Orz,重點是你沒講你怎麼 03/28 18:47
sheuredsox:那為何單獨用Tomcat run 不行~~?? 03/28 18:47
PsMonkey:作 deploy 的動作,檔案直接 copy? 匯出 war丟過去? 03/28 18:48
sheuredsox:我兩個都有試過~不過結果都一樣不行 03/28 18:49
sheuredsox:結果我將<url-pattern>裡改成rest/*就可以用了 03/28 19:20
sheuredsox:謝謝您~ 03/28 19:21
abola921:servlet-mapping中設定<url-pattern>/*</url-pattern> 03/29 16:51
abola921:我的理解是,所有的動作都會轉給JerseyServlet 03/29 16:52
abola921:這設定有點怪,而404應該只是你restful網址沒打對 03/29 16:55