2016-09-09 14 views
0

Jerseyを通じてUIに単純なStringメッセージを表示しようとしています。AngularJsジャージーで405エラーが発生する

のWeb.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 
    <display-name>Sapmle</display-name> 
    <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
    <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> 

Controller.java

package org.it.bt; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

@Path("/") 
public class Controller { 

    @GET 
    @Path("/receive") 
    @Produces(MediaType.APPLICATION_JSON) 
    public String testApp() throws FileNotFoundException { 
     String x = "My name"; 
     return x; 
    } 
} 

Controller.js

var app = angular.module("myApp", []); 
app.controller('myController',[ '$scope', '$http', function($scope, $http){ 

    $http.get('receive').success(function(res)     
     { 
      $scope.name = res;      
     }).error(function(error) 
     { 
      console.log(error); 
     }); 
}]); 

index.htmlを

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="ISO-8859-1"> 
     <title>Task</title> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js">  </script> 
     <script type="text/javascript" src="Controller.js"></script> 
    </head> 
    <body> 
     <div ng-app="myApp" ng-controller="myController"> 
      <h1>{{ name }}</h1> 
     </div> 
    </body> 
</html> 

私はTomcatの中で実行すると、私は次のjars-

asm-all-3.3.1 
jersy-core-1.17.1 
jersy-server-1.17.1 
jersy-servlet-1.17.1 
json-20090211 

が含まれていた、私は例外を取得し、405方法許されないエラーを取得していませんよ。私は角度$httpメソッドを実行しているとコメントしようとしたが、私は同じエラーが表示されます。 これに関する助力?

+0

角度ページを通過する代わりに、ブラウザで直接ヒット/受信できますか? –

+0

@AndrewS、はい私はそれを試みましたが、依然として405エラーです。 Jersyには間違いなく問題があります。これに関する助言? – Protagonist

答えて

0

error 405は、間違ったメソッドがBeanを呼び出すことを意味します。

要求メソッド要求されたリソースはサポートされていません。たとえば、POST経由でデータを提示する必要のあるフォーム上のGET要求、または読み取り専用リソース上のPUT要求です。

バックエンド(Java)ではGETが公開されていますが、角度からPOSTを呼び出す場合があります。

修正して再テストしてください。

+0

申し訳ありませんが間違いでした。私は取得と投稿の両方を試みたが、それでも同じ405エラーが発生する。 – Protagonist

関連する問題