簡體   English   中英

如何在春季提供對擴展名為.jsp的URL的支持

[英]How to provide support for URLs with .jsp extension in spring

我在這篇文章被告知,使用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擴展的支持?

謝謝您的幫助。

您得到的是“請求的資源不可用”,因為我在web.xml servlet映射未將item.jsp映射到Spring DispatcherServlet

無論如何,如果您的需求僅是支持舊的URL,則有更有效的方法來實現。

多數lo-fi都是使用與舊url相同的名稱和結構來創建jsps,並在每個jsps中添加諸如

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

我通常不推薦scriptlet,但在這種情況下,這是最簡單的解決方案。

如果您有前端網絡服務器(如apache),也可以添加301重定向規則。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM