簡體   English   中英

Tomcat使用Spring MVC返回404頁面; 控制器未達到

[英]Tomcat returns a 404 page using Spring MVC; controller not reached

我有一個控制器和一個JSP。 就這些。 我將項目導出為.war ,並將其放在Linux mint上運行的tomcat webapps目錄中。 當我在地址欄中鍵入localhost:8080/filename ,它將返回Tomcat 404消息。

控制器:

package web.controllers;

import java.util.Random;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping(value = "/")
public class HomeController 
{

    @RequestMapping(method = RequestMethod.GET)
    public String displayHomePage(Model model) 
    {
        model.addAttribute("display",new Random().nextInt());
        return "/index";
    }
}

index.jsp

<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>Random int: ${display}</p>
</body>
</html>

該JSP文件位於WebContent (Eclipse動態webapps項目設置的默認值)下的WEB-INF文件夾中。 所有Spring jar都引用了該項目,並且沒有編譯錯誤。 我在這里想念什么?

您是否配置了視圖解析器 這將根據您的返回值(例如“ index”)推斷出一個視圖,例如您的JSP文件。

如果您使用的是Spring Boot,只需在application.properties中添加幾行即可。 例如,在我的一個項目中,我將JSP放在WEB-INF/jsp文件夾中,並將這兩行放在我的application.properties中

spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp

然后返回"index" (不加斜杠)將得到WEB-INF/jsp/index.html

暫無
暫無

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

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