[問題] Restful問題

看板java作者 (sheu46)時間11年前 (2013/03/28 18:39), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/1
各位大大好: 最近因為專題需要正在練習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

03/28 18:47, , 1F
你都說在 Eclipse 上沒問題了,那就不是程式碼問題
03/28 18:47, 1F

03/28 18:47, , 2F
po 程式碼只是增加版規動用機會 Orz,重點是你沒講你怎麼
03/28 18:47, 2F

03/28 18:47, , 3F
那為何單獨用Tomcat run 不行~~??
03/28 18:47, 3F

03/28 18:48, , 4F
作 deploy 的動作,檔案直接 copy? 匯出 war丟過去?
03/28 18:48, 4F

03/28 18:49, , 5F
我兩個都有試過~不過結果都一樣不行
03/28 18:49, 5F

03/28 19:20, , 6F
結果我將<url-pattern>裡改成rest/*就可以用了
03/28 19:20, 6F

03/28 19:21, , 7F
謝謝您~
03/28 19:21, 7F

03/29 16:51, , 8F
servlet-mapping中設定<url-pattern>/*</url-pattern>
03/29 16:51, 8F

03/29 16:52, , 9F
我的理解是,所有的動作都會轉給JerseyServlet
03/29 16:52, 9F

03/29 16:55, , 10F
這設定有點怪,而404應該只是你restful網址沒打對
03/29 16:55, 10F
文章代碼(AID): #1HL1tZdb (java)