作者sheuredsox (sheu46)
看板java
標題[問題] Restful問題
時間Thu Mar 28 18:39:28 2013
各位大大好:
最近因為專題需要正在練習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