- - PR -
springframeworkでのサーブレットテスト
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-16 13:54
こんにちわ。
springframeworkを使って、Servletの試験をしています。 servletのリクエストがMultipartで、受け取ったリクエストをorg.apache.commons.fileupload(以下fileupload)を 使ってパラメータを取り出す、ということをしたいのですが、 fileuploadのparseRequestの結果が常に、空のリストを返却してしまいます。 parseRequestの内部処理も見てみたのですが、 リクエストのボディデータの読み込みで失敗しているみたいなんです。 (MalformedStreamException→the stream ends unexpectedlyを起こしています・・・) ということは、Mockで設定しているボディのデータが悪いのかと思い、 addParameterしたり、setContentしたり、コンテントタイプを変えたりと 色々やってみたのですが、どれも正常に動作しませんでした。 あと、コンテントタイプに”boundary”を指定しないといけないみたいなのですが、 この”boundary”の意味が良くわかりません。 (バイナリを読み込む際の境界みないなもの?文字列を設定している例もあれば、数値を設定している例もありました・・・) 今は、適当な値を設定してしまっているので、この辺も関係あるのかな、と思いまして。。。 ”boundary”についても、何か参考になるサイト等ご存知の方いらっしゃいましたら、ご教授願います。 ちなみに、以下がコードになります。m(_ _)m Java:1.4 eclipse:3.1 で開発しています。 MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST", "/test.xml"); MockHttpServletResponse mockResponse = new MockHttpServletResponse(); mockRequest.addParameter("arg1", "aaa"); mockRequest.addParameter("arg2", "bbb"); mockRequest.setContentType("multipart/form-data; boundary=---------------------------188807924720869525291321251320"); mockRequest.addHeader("Content-type", "multipart/form-data"); mockRequest.setCharacterEncoding("shift-jis"); CommonsMultipartResolver resolver = new CommonsMultipartResolver(); MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(mockRequest); |
1