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

    评论

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏