Dispatcher servlet返回未描述的JSP(Java配置)
我使用SpringBoot环境运行Web应用程序,使用Servlet3规范和嵌入式ApacheTomcat/7.0.54。运行应用程序时,会得到未渲染的JSP,如下所示:Dispatcher servlet返回未描述的JSP(Java配置),java,spring,jsp,servlets,spring-boot,Java,Spring,Jsp,Servlets,Spring Boot,我使用SpringBoot环境运行Web应用程序,使用Servlet3规范和嵌入式ApacheTomcat/7.0.54。运行应用程序时,会得到未渲染的JSP,如下所示: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://www.springframework.org/tags" prefix="s" %> <%@ page session=
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<%@ page session="false" %>
<html>
<head>
<title>Spitter</title>
<link rel="stylesheet"
type="text/css"
href="<c:url value="/resources/style.css" />" >
</head>
<body>
<h1><s:message code="spitter.welcome" text="Welcome" /></h1>
<s:url value="/spitter/register" var="registerUrl" />
<a href="<s:url value="/spittles" />">Spittles</a> |
<a href="${registerUrl}">Register</a>
</body>
</html>
控制器类:
@Controller
@RequestMapping("/")
public class HomeController {
@RequestMapping(method = GET)
public String home(Model model) {
return "home";
}
}
请让我知道我需要配置什么 将servlet映射设置为/*
public class SpitterWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { RootConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { WebConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/*" };
}
}
公共类SpitterWebInitializer扩展了AbstractAnnotationConfigDispatcherServletInitializer{
@凌驾
受保护类[]getRootConfigClasses(){
返回新类[]{RootConfig.Class};
}
@凌驾
受保护类[]getServletConfigClasses(){
返回新类[]{WebConfig.Class};
}
@凌驾
受保护的字符串[]getServletMappings(){
返回新字符串[]{”/*“};
}
}
问题在于嵌入式tomcat,我使用嵌入式ApacheTomcat-7.0.54作为Spring Boot的一部分,我发现了这个问题。当我在外部Apache-tomcat-7.0.52上运行应用程序时,它运行得很好,因此不确定Apache tomcat-7.0.54中是否存在错误,您的控制器类在哪里?我的控制器类是:@controller@RequestMapping(“/”)公共类HomeController{@RequestMapping(method=GET)公共字符串home(Model){return“home”;}您可以编辑您的问题,并将您的控制器类包含在其中。在问题中添加了控制器,很抱歉,这不起作用,Tomcat出现问题,请查看我的答案。
@Controller
@RequestMapping("/")
public class HomeController {
@RequestMapping(method = GET)
public String home(Model model) {
return "home";
}
}
public class SpitterWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { RootConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { WebConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/*" };
}
}