Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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
Java 在名为';dispatcherServlet';_Java_Spring_Spring Mvc_Requestdispatcher - Fatal编程技术网

Java 在名为';dispatcherServlet';

Java 在名为';dispatcherServlet';,java,spring,spring-mvc,requestdispatcher,Java,Spring,Spring Mvc,Requestdispatcher,我对应用程序进行了配置,并将“DispatcherServlet”编码为viewResolver,如下所示: @Configuration @EnableWebMvc @ComponentScan ({"controllers"}) @EnableAutoConfiguration @SpringBootApplication public class Application { @Bean public InternalResourceViewResolver viewResolver()

我对应用程序进行了配置,并将“DispatcherServlet”编码为viewResolver,如下所示:

@Configuration
@EnableWebMvc
@ComponentScan ({"controllers"})
@EnableAutoConfiguration
@SpringBootApplication
public class Application {

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setViewClass(JstlView.class);
    viewResolver.setPrefix("/WEB-INF/views/");
    viewResolver.setSuffix(".jsp");
    return viewResolver;
}
public static void main(String[] args){
        SpringApplication.run(Application.class, args);
}
}
处理请求的控制器类如下所示:

@Controller
public class HelloControllerImpl {

@RequestMapping(value= "/welcome", method= RequestMethod.GET)
public String getWelcomePage(ModelMap model) {
    model.addAttribute("message", "Spring 3 MVC - Hello World");
    model.addAttribute("name", "vzateychuk");
    return "welcome";
}
}   
视图文件:\WEB-INF\views\welcome.jsp

<html>
<body>
    <h1>Hello, : ${name}</h1>
    <h2>Message : ${message}</h2>
</body>
</html>
。。。。
有人能猜出什么地方不对吗?(可能是因为anotation@EnableAutoConfiguration不允许定义viewResolver的前缀?

configure resolver configuration application.properties

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring boot将自动配置内部视图解析器

您需要在中添加jstl JAR


spring boot为您提供了一个配置解析器配置应用程序。属性

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring boot将自动配置内部视图解析器

您需要在中添加jstl JAR


spring boot为您准备了一个

我做了一个与您类似的简单项目。您可以查看我的

你要做的是:

  • 将hello.html重命名为hello.jsp
  • 检查pom.xml中是否有所有依赖项。我没有看到它,因此我不确定它是否错误。请确保您有以下两个依赖项:
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <scope>provided</scope>
    </dependency>
    
    
    org.apache.tomcat.embed
    
  • 实际上,使用IDEA Community Version启动它时可能会遇到问题。我也遇到过这个问题。您可以首先使用命令行和maven检查它。执行以下命令:
    mvn spring-boot:run
    
    mvn spring启动:运行
    您也可以将您的想法配置为运行该命令。转到运行->编辑配置,单击左侧的绿色加号并选择Maven。然后在“命令行”字段中写入“spring boot:run”,按ok。 并运行此配置
  • (可选)您的应用程序类上还有一些冗余批注。您可以删除:
    • @配置,因为@SpringBootApplication已经有了它
    • @启用webmvc,因为SpringBoot在类路径上看到SpringWebMVC时会自动添加它
    • @EnableAutoConfiguration,因为@SpringBootApplication已经有了它

  • 请注意,您需要@ComponentScan({“controllers”}),因为您的包结构-您的应用程序类位于与控制器不同的包中。

    我做了一个与您类似的简单项目。您可以查看我的

    你要做的是:

  • 将hello.html重命名为hello.jsp
  • 检查pom.xml中是否有所有依赖项。我没有看到它,因此我不确定它是否错误。请确保您有以下两个依赖项:
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <scope>provided</scope>
    </dependency>
    
    
    org.apache.tomcat.embed
    
  • 实际上,使用IDEA Community Version启动它时可能会遇到问题。我也遇到过这个问题。您可以首先使用命令行和maven检查它。执行以下命令:
    mvn spring-boot:run
    
    mvn spring启动:运行
    您也可以将您的想法配置为运行该命令。转到运行->编辑配置,单击左侧的绿色加号并选择Maven。然后在“命令行”字段中写入“spring boot:run”,按ok。 并运行此配置
  • (可选)您的应用程序类上还有一些冗余批注。您可以删除:
    • @配置,因为@SpringBootApplication已经有了它
    • @启用webmvc,因为SpringBoot在类路径上看到SpringWebMVC时会自动添加它
    • @EnableAutoConfiguration,因为@SpringBootApplication已经有了它

  • 注意,您需要@ComponentScan({“controllers”}),因为您的包结构-您的应用程序类位于与控制器不同的包中。

    您是否向
    /WEB-INF/views/welcome.tmpl
    端点发送了请求?您应该将请求发送到
    /welcome
    端点阿里,我正在尝试请求端点:检查您是否在@ComponentScan中扫描了正确的包罐头包装是控制器,因此没有实际的CLUE您的项目结构是什么?您能提供welcome.jsp文件的位置吗?您是否向
    /WEB-INF/views/welcome.tmpl
    端点发送了请求?您应该向
    /welcome
    端点发送请求。阿里,我正在尝试请求端点:检查您是否扫描了@ComponentScan中的正确软件包扫描软件包是控制器,因此没有实际的CLUE您的项目结构是什么?您能提供welcome.jsp文件的位置吗?谢谢,终于可以工作了。问题与IDEA社区版本有关。谢谢,伙计们。工作了。谢谢。谢谢,终于可以工作了。问题与IDEA社区版本有关y版本。谢谢你们,伙计们。工作了。谢谢。谢谢你们,kuhajeyan,它终于工作了!但有一件事我没料到:只有*.jsp可能(不是*.html或其他)用于视图。谢谢你们,kuhajeyan,它终于工作了!但有一件事我没料到:只有*.jsp可能(不是*.html或其他)用于视图。