2

この投稿で、Spring を使用して URL 構造に .jsp 拡張子を含めることが可能であると言われました。私は次のコードでそれを達成しようとしています:

HelloController.java

@Controller
@RequestMapping("/welcome")
public class HelloController {
    @RequestMapping(value="/item.jsp", method = RequestMethod.GET)
    public String helloDotJSP(ModelMap model) {

        System.out.println("/item.jsp RequestMapping");
        model.addAttribute("message", "Spring 3 MVC Hello World");
        return "item";
    }
}

ページlocalhost:8080/app/welcome/item.jspにアクセスしようとすると、要求されたリソースが利用できないというエラーが表示されます。しかし、拡張子を/item.jsp からたとえば/item.otherに変更しようとすると、機能し始めます。.jsp拡張子のサポートを追加するにはどうすればよいですか?

ご協力ありがとうございました。

4

1 に答える 1

1

のサーブレットマッピングが Spring にweb.xmlマッピングされていないため、「要求されたリソースは利用できません」というメッセージが表示されます。item.jspDispatcherServlet

いずれにせよ、要件が古い URL をサポートすることだけである場合は、それを行うためのより効果的な方法があります。

ほとんどのローファイは、古い URL と同じ名前と構造を持つ jsps を作成し、これらの jsps のそれぞれに次のようなスクリプトレットを追加することです。

<%
response.setStatus(301);
response.setHeader( "Location", "/new-url.htm" );
response.setHeader( "Connection", "close" );
%>

通常、スクリプトレットはお勧めしませんが、このような場合は、スクリプトレットが最も簡単な解決策です。

Apache のようなフロント Web サーバーがある場合は、301 リダイレクト ルールを追加することもできます。

お役に立てれば。

于 2013-04-23T11:28:29.087 に答える