【发布时间】:2022-01-29 09:45:08
【问题描述】:
我正在尝试使用 Springboot 实现一个 Web 应用程序。但是当我请求方法时,我得到 404 错误。 Springboot 找不到 Jsp 文件。
这是我的控制器代码:
@PostMapping(value = "/loginSuccess")
public ModelAndView loginSuccess() {
System.out.println("in login success");
return new ModelAndView("index");
}
@GetMapping(value = "/loginError")
public ModelAndView showLoginError() {
System.out.println("in login error");
return new ModelAndView("error");
}
这是我的安全配置:
@ComponentScan
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private EmployeeRepository employeeRepository;
@Bean
public PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}
@Bean
public UserDetailsService userDetailsService(){
return new EmployeeDetailService(employeeRepository, passwordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.formLogin()
.successForwardUrl("/loginSuccess")
.failureUrl("/loginError")
.permitAll()
.and()
.authorizeRequests()
.antMatchers("/").permitAll()
.and()
.httpBasic();
}
}
我还在application.properties中指定了前缀和后缀:
spring.mvc.view.prefix=/static/
spring.mvc.view.suffix=.jsp
我的 pom 文件中也有这些依赖项:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
这是我的项目结构:
【问题讨论】:
-
您的 jsp 文件是仅在静态文件夹中还是 /static/jsp
-
它们只在静态文件夹中
-
您能否以图片的形式分享您的 IDE 中的项目结构并说明您正在使用的 IDE 版本
-
我添加了我的项目结构的图片。我正在使用 IntelliJ 2021.3
标签: java spring spring-boot spring-mvc jsp