sim_fg 2017-10-06 11:35 采纳率: 0%
浏览 2124
已结题

spring4 java替代web.xml配置

SpringWebAppInitializer.java

public class SpringWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    protected Class<?>[] getRootConfigClasses() {
        return new Class<?>[] { RootConfig.class };
    }

    // 指定配置类,即javaConfig
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[] { WebConfig.class };
    }

    protected String[] getServletMappings() {
        return new String[] { "/" };
    }
}

RootConfig.java

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

}

WebConfig.java

 @Configuration
//启用注解驱动的spring mvc
@EnableWebMvc
@ComponentScan(basePackages = {"cn.simfg.note.web.controller"})
public class WebConfig extends WebMvcConfigurerAdapter {
    @Bean
    public ViewResolver viewResolver(){
        InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();

        internalResourceViewResolver.setViewClass(org.springframework.web.servlet.view.JstlView.class);
        internalResourceViewResolver.setPrefix("/WEB-INF/views/");
        internalResourceViewResolver.setSuffix(".jsp");
        internalResourceViewResolver.setExposeContextBeansAsAttributes(true);

        return internalResourceViewResolver;
    }

    // 处理静态资源的时候,将请求转发到Servlet容器中默认的Servlet上

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

}

HomeController.java

 @Controller
public class HomeController {

    @RequestMapping(value = "home", method = GET)
    public String home() {
        System.out.println("aaa");
        return "home";
    }
}

请求localhost:8080/spring/home返回404,其中localhost:8080/spring/是项目根路径,home.jsp也是存在的,在控制器那一块打断电,请求是无效

  • 写回答

1条回答 默认 最新

  • sinat_24680407 2017-10-07 16:41
    关注

    这些类的代码都没有问题,可能有问题的是它们的所在的包和jsp的存放位置与你配置中的是否一致。
    cn.simfg.note.web.controller包对应对了吗?jsp放到这个目录了吗?/WEB-INF/views

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?