获得404状态弹簧4 mvc与tomcat

时间:2014-12-21 02:20:55

标签: java spring spring-mvc tomcat

我正在使用Spring + Hibernate做一些小项目。当我部署战争并始终获得404状态时。我已经检查了一些关于它的答案,但我没有发现我的错误。我试图在/和/ *之间切换,它没有帮助。 Tomcat不会在日志中显示任何错误。提前谢谢。

我的WebConfig类

@Configuration
@EnableWebMvc
@ComponentScan({"controller", "dao"})
@EnableTransactionManagement
public class WebConfig extends WebMvcConfigurerAdapter {
    @Bean
    public DataSource dataSource() {
        SimpleDriverDataSource ds =
                    new SimpleDriverDataSource(org.h2.Driver.load(), "jdbc:h2:~/testdb", "sa", "sa");
        return ds;
    }
    @Bean
    @DependsOn("dataSource")
    public LocalSessionFactoryBean sessionFactoryBean() {
        LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean();
        sessionFactoryBean.setDataSource(dataSource());
        sessionFactoryBean.setPackagesToScan("entity");
        sessionFactoryBean.setHibernateProperties(hibernateProperties());
        return sessionFactoryBean;
    }
    private Properties hibernateProperties() {
        Properties p = new Properties();
        p.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
        p.setProperty("hibernate.hbm2ddl.auto", "update");
        p.setProperty("hibernate.hbm2ddl.import_files_sql_extractor", "org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor");
        p.setProperty("hibernate.show_sql", "true");
        p.setProperty("hibernate.format_sql", "true");
        return p;
    }
    @Bean
    @DependsOn("sessionFactoryBean")
    public PlatformTransactionManager transactionManager() {
        SessionFactory sessionFactory = sessionFactoryBean().getObject();
        HibernateTransactionManager tm = new HibernateTransactionManager(sessionFactory);
        return tm;
    }

    @Bean(name = "viewResolver")
    public InternalResourceViewResolver getViewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/pages/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }
}

我的WebAppInitializer类

public class SpringWebAppInitializer implements WebApplicationInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
        appContext.register(WebConfig.class);
        ServletRegistration.Dynamic dispatcher = servletContext.addServlet(
                "SpringDispatcher", new DispatcherServlet(appContext));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/*");
    }
    }

我的控制器类

@Controller
public class MainController {


@Autowired
IDisksDao d;

@RequestMapping("/")
@Transactional
@ResponseBody
public String hello() {
    return "hi";
}

@RequestMapping("disks/")
@Transactional
@ResponseBody
public ModelAndView getDisks() {
    ModelAndView model = new ModelAndView("disks");
    model.addObject("disks", d.getAllDisks() );
    return model;
}

@RequestMapping("u/disks/{id}")
@Transactional
@ResponseBody
public List<Disk> getUserDisks(@PathVariable int id) {
    return d.getAllUserDisks(id);
}
}

我的项目结构

0 个答案:

没有答案