私はtomcatでジャージーレストサービスを学んでいますが、index.htmlをレンダリングしようとしているときにジャージサービスを呼び出すようリクエストしています。ここでweb.xmlにウェルカムファイル設定で作業していないtomcatのジャストレストサービス
は私のweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>rest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Rest With Jersey2</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.rest.jersey2</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Rest With Jersey2</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
であり、これは私が要求にindex.htmlの中に含まれているfirst.jsからアクセスしたい私のジャージサービス
package com.rest.jersey2;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
@Path("/hello")
public class Test {
@GET
@Produces("application/json")
public Response defaultReverser() {
String result = "" ;
return Response.status(200).entity(result).build();
}
}
です
$.ajax({
url: "/hello",
type: "GET",
success: function(){
alert("success");
},
error: function(){
alert("error!");
}
});
私は休憩アプリケーションをt omcatサーバーはindex.htmlをレンダリングしますが、ボタンをクリックしてurl/helloのajaxにjerseyサービスを呼び出すよう要求すると404が見つかりません。コンソールにエラーメッセージはなく、サーバーは正常に起動します。
私はそれを動作させるように案内してください!
編集:私は自分のレストサービスをテストすると、それはweb.xmlのurl mapping/rest/*で動作しません。しかし、私は/ *を使用する場合は動作しますが、この場合はウェルカムファイルを表示できません。
restサービスでindex.htmlをレンダリングしようとすると、このページはindex.htmlに含まれるfirst.jsを見つけることができませんが、first.jsをソースファイルと同じディレクトリを含む多くのディレクトリに配置しようとしました休憩サービスの
こんにちはNicolas、私は自分のレストサービスをテストしたときに、web.xmlのurl mapping/rest/*で動作していません。しかし、私は/ *を使用する場合は動作しますが、この場合はウェルカムファイルを表示できません。ありがとう – Shruti