gpt4 book ai didi

java - Spring MVC 在 WEB-INF/views/package 中找不到合适的 jsp

转载 作者:行者123 更新时间:2023-11-29 03:05:26 27 4
gpt4 key购买 nike

我正在从一本名为“Spring in Action”的书中学习 Spring MVC。然而。当我点击正确的 Controller 时出现 404 错误。我使用的是注解而不是 xml 配置,所以很难从网上找到。您可以看到我正在使用的非常简单的类和配置

SpittrWebInitializer.java

package spittr.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class SpittrWebAppInitializer 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[] {"/"};
}
}

RootConfig.java

package spittr.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;

@Configuration
@ComponentScan(basePackages = "spittr",
excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,
value = EnableWebMvc.class))
public class RootConfig {
}

WebConfig.java

package spittr.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"spittr.web"})
public class WebConfig extends WebMvcConfigurerAdapter {

@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}

@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}

HomeController.java

package spittr.web;

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

@Controller
public class HomeController {

@RequestMapping(value = "/home", method = RequestMethod.GET)
private String home() {
return "home";
}
}

最后在 resources/WEB-INF/views/ 包下,我有一个名为 home.jsp 的 jsp,就像;

<html>
<body>
<h1>Spring 4.0.2 MVC web service</h1>

<h3>Welcome!!!</h3>
</body>
</html>

可以访问 Controller ,所以我知道它们已被初始化,没有任何问题,但是,上下文无法找到正确的 jsp。感谢您的帮助。谢谢

最佳答案

JSP 位置不正确 WEB-INF 位置在 src/main/webapp 下,不在资源下

关于java - Spring MVC 在 WEB-INF/views/package 中找不到合适的 jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32418708/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com