Advertisement
Guest User

Untitled

a guest
Apr 19th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.03 KB | None | 0 0
  1. 19-Apr-2016 16:20:13.584 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
  2. 19-Apr-2016 16:20:13.586 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
  3.  
  4. <?xml version="1.0" encoding="UTF-8"?>
  5. <!DOCTYPE web-app
  6. PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  7. "http://java.sun.com/dtd/web-app_2_3.dtd">
  8. <web-app>
  9. <filter>
  10. <filter-name>springSecurityFilterChain</filter-name>
  11. <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  12. </filter>
  13. <filter-mapping>
  14. <filter-name>springSecurityFilterChain</filter-name>
  15. <url-pattern>/*</url-pattern>
  16. </filter-mapping>
  17. <listener>
  18. <listener-class>ua.dsa.config.ContainerContextClosedHandler</listener-class>
  19. </listener>
  20. <welcome-file-list>
  21. <welcome-file>index.jsp</welcome-file>
  22. </welcome-file-list>
  23. </web-app>
  24.  
  25. @WebListener
  26. public class ContainerContextClosedHandler implements ServletContextListener {
  27. @Override
  28. public void contextInitialized(ServletContextEvent servletContextEvent) {
  29. }
  30. @Override
  31. public void contextDestroyed(ServletContextEvent servletContextEvent) {
  32. Enumeration<Driver> drivers = DriverManager.getDrivers();
  33. Driver driver = null;
  34. while(drivers.hasMoreElements()) {
  35. try {
  36. driver = drivers.nextElement();
  37. DriverManager.deregisterDriver(driver);
  38. } catch (SQLException ex) {
  39. }
  40. }
  41. try {
  42. AbandonedConnectionCleanupThread.shutdown();
  43. } catch (InterruptedException e) {
  44. }
  45. }
  46. }
  47.  
  48. public class Initializer implements WebApplicationInitializer {
  49.  
  50. private static final String DISPATCHER_SERVLET_NAME = "dispatcher";
  51.  
  52. @Override
  53. public void onStartup(ServletContext servletContext) throws ServletException {
  54. AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
  55. ctx.register(WebAppConfig.class);
  56. ctx.register(SecurityConfig.class);
  57. servletContext.addListener(new ContextLoaderListener(ctx));
  58. ctx.setServletContext(servletContext);
  59. Dynamic servlet = servletContext.addServlet(DISPATCHER_SERVLET_NAME, new DispatcherServlet(ctx));
  60. servlet.addMapping("/");
  61. servlet.setLoadOnStartup(1);
  62. }
  63. }
  64.  
  65. @Configuration
  66. @EnableWebSecurity
  67. @EnableGlobalMethodSecurity(securedEnabled = true)
  68. public class SecurityConfig extends WebSecurityConfigurerAdapter {
  69.  
  70. private UserRepositoryAndDetailsImpl userDetailsService = new UserRepositoryAndDetailsImpl();
  71.  
  72. @Autowired
  73. public void registerGlobalAuthentication(AuthenticationManagerBuilder auth) throws Exception {
  74. auth
  75. .userDetailsService(userDetailsService)
  76. .passwordEncoder(getShaPasswordEncoder());
  77. }
  78.  
  79. @Override
  80. protected void configure(HttpSecurity http) throws Exception {
  81. http.csrf()
  82. .disable()
  83. .authorizeRequests()
  84. .antMatchers("/resources/**", "/**").permitAll()
  85. .anyRequest().permitAll()
  86. .and();
  87.  
  88. http.formLogin()
  89. .loginPage("/login")
  90. .loginProcessingUrl("/j_spring_security_check")
  91. .failureUrl("/login?error")
  92. .usernameParameter("j_username")
  93. .passwordParameter("j_password")
  94. .permitAll();
  95.  
  96. http.logout()
  97. .permitAll()
  98. .logoutUrl("/logout")
  99. .logoutSuccessUrl("/login?logout")
  100. .invalidateHttpSession(true);
  101.  
  102. }
  103.  
  104. @Bean
  105. public ShaPasswordEncoder getShaPasswordEncoder(){
  106. return new ShaPasswordEncoder();
  107. }
  108.  
  109. }
  110.  
  111. @Configuration
  112. @EnableWebMvc
  113. @ComponentScan("ua.dsa")
  114. @EnableTransactionManagement
  115. @PropertySource("classpath:application.properties")
  116. @EnableJpaRepositories("ua.dsa.repository")
  117. public class WebAppConfig extends WebMvcConfigurerAdapter {
  118.  
  119.  
  120. private static final String PROP_DATABASE_DRIVER = "db.driver";
  121. private static final String PROP_DATABASE_PASSWORD = "db.password";
  122. private static final String PROP_DATABASE_URL = "db.url";
  123. private static final String PROP_DATABASE_USERNAME = "db.username";
  124. private static final String PROP_HIBERNATE_DIALECT = "db.hibernate.dialect";
  125. private static final String PROP_HIBERNATE_SHOW_SQL = "db.hibernate.show_sql";
  126. private static final String PROP_ENTITYMANAGER_PACKAGES_TO_SCAN = "db.entitymanager.packages.to.scan";
  127. private static final String PROP_HIBERNATE_HBM2DDL_AUTO = "db.hibernate.hbm2ddl.auto";
  128.  
  129. @Resource
  130. private Environment env;
  131.  
  132. @Bean
  133. public DataSource dataSource() {
  134. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  135.  
  136. dataSource.setDriverClassName(env.getRequiredProperty(PROP_DATABASE_DRIVER));
  137. dataSource.setUrl(env.getRequiredProperty(PROP_DATABASE_URL));
  138. dataSource.setUsername(env.getRequiredProperty(PROP_DATABASE_USERNAME));
  139. dataSource.setPassword(env.getRequiredProperty(PROP_DATABASE_PASSWORD));
  140.  
  141. return dataSource;
  142. }
  143.  
  144. @Bean
  145. public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
  146. LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
  147. entityManagerFactoryBean.setDataSource(dataSource());
  148. entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistence.class);
  149. entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROP_ENTITYMANAGER_PACKAGES_TO_SCAN));
  150.  
  151. entityManagerFactoryBean.setJpaProperties(getHibernateProperties());
  152.  
  153. return entityManagerFactoryBean;
  154. }
  155.  
  156. @Bean
  157. public JpaTransactionManager transactionManager() {
  158. JpaTransactionManager transactionManager = new JpaTransactionManager();
  159. transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
  160.  
  161. return transactionManager;
  162. }
  163.  
  164. private Properties getHibernateProperties() {
  165. Properties properties = new Properties();
  166. properties.put(PROP_HIBERNATE_DIALECT, env.getRequiredProperty(PROP_HIBERNATE_DIALECT));
  167. properties.put(PROP_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROP_HIBERNATE_SHOW_SQL));
  168. properties.put(PROP_HIBERNATE_HBM2DDL_AUTO, env.getRequiredProperty(PROP_HIBERNATE_HBM2DDL_AUTO));
  169.  
  170. return properties;
  171. }
  172.  
  173. @Override
  174. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  175. registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");
  176. }
  177.  
  178. @Bean
  179. public UrlBasedViewResolver setupViewResolver() {
  180. UrlBasedViewResolver resolver = new UrlBasedViewResolver();
  181. resolver.setPrefix("/pages/");
  182. resolver.setSuffix(".jsp");
  183. resolver.setViewClass(JstlView.class);
  184.  
  185. return resolver;
  186. }
  187.  
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement