簡體   English   中英

Spring Controller請求映射無法正常工作

[英]Spring Controller Request Mapping Does Not Work Correctly

我有一個簡單的請求映射,可打開駐留在靜態文件夾中的html文件。 當請求映射是像'/town'這樣的單部分請求,但不能在'/visual/town'這樣'/visual/town' URL上工作(返回404)時,它可以正常工作。 當我調試時,程序會掉到所需的位置。 當映射由兩部分或更多部分組成時,它只是無法識別它指向的文件。 這對我完全沒有意義。

這個作品:

@Controller("VisualHomeController")
public class HomeController {

    @RequestMapping(value = "/town")
    public String emergentTown() {
        return "static/visual/emergent_town.html";
    }
}

這不是:

@Controller("VisualHomeController")
public class HomeController {

    @RequestMapping(value = "/visual/town")
    public String emergentTown() {
        return "static/visual/emergent_town.html";
    }
}

這是我的servlet映射,看來問題出在這里:

<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

因此,我發現問題出在servlet映射上。

我需要為附加控制器的第一部分添加另一個servlet映射,該映射是/visual

<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/visual/*</url-pattern>
</servlet-mapping>

然后它起作用了。 因此,每當您想要像/.../new_page請求時,都需要將...定義為servlet映射。 注意,僅將主servlet映射更改為/*不足以實現此目的。

注意:調試時為什么程序會陷入return ...仍然沒有意義。 我的意思是,如果還需要一個servlet映射,那么前端控制器如何將請求路由到該方法? 並且在這樣做時為什么它無法解析視圖?

暫無
暫無

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

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