gpt4 book ai didi

spring - 使用 Spring Java Config 时资源不可用 Tomcat 404 错误

转载 作者:行者123 更新时间:2023-11-28 22:29:16 25 4
gpt4 key购买 nike

我得到了

"The requested resource (/SpringSecurity/welcome) is not available."

使用 Spring Java Config 时

SpringInitializer.java

package com.security.config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class SpringInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {

@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return new Class[] { AppConfig.class };
}

@Override
protected Class<?>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return null;
}

@Override
protected String[] getServletMappings() {
// TODO Auto-generated method stub
return new String[] { "/" };
}
}

AppConfig.java

package com.security.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

@EnableWebMvc
@Configuration
@ComponentScan({ "com.security" })
@Import({ SecurityConfig.class })
public class AppConfig {
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}

带有映射的 HelloController 类

package com.security.controller;

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

@Controller
public class HelloController {

@RequestMapping(value = { "/", "/welcome**" }, method = RequestMethod.GET)
public ModelAndView welcomePage() {
ModelAndView model = new ModelAndView();
model.addObject("title", "Spring Security Hello World");
model.addObject("message", "This is welcome page!");
model.setViewName("hello");
return model;

}
}
  1. 我的 JSP 文件位于“/WEB-INF/jsp/”
  2. 我在控制台中没有收到任何错误
  3. 我正在使用 Tomcat 7

当我检查我的控制台时,我看到了

INFO: Mapped "{[/ || /welcome**],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.springframework.web.servlet.ModelAndView com.security.controller.HelloController.welcomePage()

所以映射似乎已经完成了。但是当我尝试使用 url 访问时,我的 tomcat 服务器仍然显示 404 错误:http://localhost:8081/SpringSecurity/welcome

我还尝试了“清理 Tomcat 工作目录”。但我不知道问题所在。

最佳答案

404 错误是因为您触发的 url 不存在或未映射。所以请检查您所做的 dispatcherservlet 配置。它是否映射到/SpringSecurity。并尝试在 Controller 中单独提供/welcome 而不是 **。

关于spring - 使用 Spring Java Config 时资源不可用 Tomcat 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27763630/

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