Spring 3.0で動作する単純なRESTサービスを取得しようとしていますが、ブロッキングエラーが発生し続けます。
'dispatcher'*という名前のDispatcherServletにURI[/travel / us / nyc / sfo / 20091010/1122 /true/]のHTTPリクエストのマッピングが見つかりません
ただし、ログファイルには次のようにも記載されています。
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping-ハンドラー[実験にマップされたURLパス[/travel/ us / {from} / {to} / {date} / {time} /{departure}/]。 SomeController @ dd9f85] *
これは、URIからexperiment.SomeControllerクラスへのハンドラーとしてのマッピングがあることを示すものとして読みました。
構成ファイルの1つにある単純なエラーを見落としているに違いありませんが、すべてを数回チェックし、かなりのグーグルを実行した後、まだ解決策が見つかりません。Springクラスのロギングをすでにオンにしましたが、それでも問題は明らかになりませんでした。
以下は、関連する構成ファイルといくつかのコードスニペットです。WebアプリはGlassfishv2.1にデプロイされており、OSXのJDK1.5でSpring3.0.0のM3ビルドを使用しています。
目標は、getTripDetails()がtripdetailsのXMLバージョンを返すようにすることです。したがって、MarshallingViewの使用。
web.xmlから:
<サーブレット> <servlet-name>ディスパッチャー</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </ servlet-class> <load-on-startup> 1 </ load-on-startup> </ servlet> <サーブレットマッピング> <servlet-name>ディスパッチャー</servlet-name> <url-pattern> / * </ url-pattern> </servlet-mapping>
dispatcher-servlet.xmlから:
<context:annotation-config /> <context:component-scan base-package = "net.vermaas.reisadvies.server" /> <bean class = "org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> <property name = "alwaysUseFullPath" value = "true" /> </ bean> <bean id = "viewResolver" class = "org.springframework.web.servlet.view.Conten tNegotiatingViewResolver"> <property name = "mediaTypes"> <地図> <entry key = "xml" value = "application / xml" /> </ map> </プロパティ> <property name = "viewResolvers"> <リスト> <bean class = "org.springframework.web.servlet.view.BeanNa meViewResolver" /> <bean class = "org.springframework.web.servlet.view.Intern alResourceViewResolver"> <property name = "prefix" value = "/ WEB-INF / jsp /" /> <property name = "suffix" value="。jsp"/> </ bean> </ list> </プロパティ> </ bean> <bean id = "marshaller" class = "org.springframework.oxm.xstream.XStreamMarshaller"> </ bean> <bean id = "content" class = "org.springframework.web.servlet.view.xml.Ma rshallingView"> <property name = "contentType" value = "application / xml" /> <property name = "marshaller" ref = "marshaller" /> </ bean>
コントローラクラス:
@Controller
public class SomeController {
static Logger logger = Logger.getLogger(SomeController.class);
public SomeController() {
}
@RequestMapping(value="/travel/us/{from}/{to}/{date}/{time}/{departure}", method=RequestMethod.GET)
public ModelAndView getTripDetails(@PathVariable String from,
@PathVariable String to,
@PathVariable String date,
@PathVariable String time,
@PathVariable boolean departure, Model model) {
logger.debug("getTripDetails"); // not logged
// Do some stuff
TripDetails td = ...
ModelAndView mav = new ModelAndView();
mav.setViewName("content");
mav.addObject("tripDetails", td);
return mav;
}
}
何が悪いのかについて何か考えはありますか?または、出力としてXMLを使用するSpring 3.0を使用したRESTサービスの実例へのポインターですか?
よろしく、下呂