Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dispatcher servlet返回未描述的JSP(Java配置)_Java_Spring_Jsp_Servlets_Spring Boot - Fatal编程技术网

Dispatcher servlet返回未描述的JSP(Java配置)

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=

我使用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="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[] { "/*" };
 }

}