Tomcat使用Spring MVC返回404页面;控制器未到达

时间:2015-08-19 15:32:30

标签: java spring jsp spring-mvc tomcat

我有一个控制器和一个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文件位于WEB-INF下的WebContent文件夹中(Eclipse动态webapps项目设置的默认值)。所有Spring jar都是为项目引用的,没有编译错误。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

您是否配置了view resolver?这将从您的返回值中推断出一个视图,例如您的JSP文件,例如: &#34;指数&#34;

如果您使用的是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