Commit 5e965ce484f4938dd6cd483c2c0095d34c22122f
1 parent
aa193b2b
working version
Showing
9 changed files
with
64 additions
and
34 deletions
Show diff stats
pom.xml
... | ... | @@ -84,7 +84,7 @@ |
84 | 84 | <version>${logback.version}</version> |
85 | 85 | </dependency> |
86 | 86 | |
87 | - <dependency> | |
87 | + <!--dependency> | |
88 | 88 | <groupId>org.slf4j</groupId> |
89 | 89 | <artifactId>log4j-over-slf4j</artifactId> |
90 | 90 | <version>${slf4j.version}</version> |
... | ... | @@ -100,7 +100,7 @@ |
100 | 100 | <groupId>org.slf4j</groupId> |
101 | 101 | <artifactId>jul-to-slf4j</artifactId> |
102 | 102 | <version>${slf4j.version}</version> |
103 | - </dependency> | |
103 | + </dependency--> | |
104 | 104 | |
105 | 105 | </dependencies> |
106 | 106 | |
... | ... | @@ -128,7 +128,7 @@ |
128 | 128 | |
129 | 129 | <properties> |
130 | 130 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
131 | - <spring.version>3.2.5.RELEASE</spring.version> | |
131 | + <spring.version>4.0.0.RELEASE</spring.version> | |
132 | 132 | <slf4j.version>1.7.5</slf4j.version> |
133 | 133 | <junit.version>4.10</junit.version> |
134 | 134 | <logback.version>1.0.13</logback.version> | ... | ... |
src/main/java/fr/plil/sio/web/mvc/CheckUserInterceptor.java
1 | 1 | package fr.plil.sio.web.mvc; |
2 | 2 | |
3 | -import java.io.IOException;import javax.annotation.Resource; | |
4 | -; | |
3 | +import java.io.IOException; | |
4 | +import javax.annotation.Resource; | |
5 | 5 | import javax.servlet.http.HttpServletRequest; |
6 | 6 | import javax.servlet.http.HttpServletResponse; |
7 | 7 | import org.slf4j.Logger; |
... | ... | @@ -11,7 +11,7 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; |
11 | 11 | public class CheckUserInterceptor extends HandlerInterceptorAdapter { |
12 | 12 | |
13 | 13 | private static final Logger logger = LoggerFactory.getLogger(CheckUserInterceptor.class); |
14 | - | |
14 | + | |
15 | 15 | @Resource |
16 | 16 | private UserSession userSession; |
17 | 17 | |
... | ... | @@ -19,20 +19,20 @@ public class CheckUserInterceptor extends HandlerInterceptorAdapter { |
19 | 19 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, |
20 | 20 | Object handler) throws IOException { |
21 | 21 | |
22 | - logger.debug("path info: " + request.getPathInfo()); | |
23 | - | |
24 | - if (request.getPathInfo().equals("/login")) { | |
25 | - logger.debug("access granted as path is /login"); | |
22 | + logger.debug("servlet path: " + request.getServletPath()); | |
23 | + | |
24 | + if (request.getServletPath().equals("/login")) { | |
25 | + logger.debug("access granted as path is /login"); | |
26 | 26 | return true; |
27 | 27 | } |
28 | 28 | |
29 | 29 | String username = userSession.getUsername(); |
30 | 30 | |
31 | 31 | if (username != null) { |
32 | - logger.debug("authenticated"); | |
32 | + logger.debug("authenticated"); | |
33 | 33 | return true; |
34 | 34 | } else { |
35 | - logger.debug("not authenticated"); | |
35 | + logger.debug("not authenticated"); | |
36 | 36 | response.sendRedirect("login"); |
37 | 37 | return false; |
38 | 38 | } | ... | ... |
src/main/java/fr/plil/sio/web/mvc/LoginController.java
... | ... | @@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.RequestMethod; |
8 | 8 | import org.springframework.web.servlet.ModelAndView; |
9 | 9 | |
10 | 10 | @Controller |
11 | +@RequestMapping(value = "/login") | |
11 | 12 | public class LoginController { |
12 | 13 | |
13 | 14 | @Resource |
... | ... | @@ -16,12 +17,12 @@ public class LoginController { |
16 | 17 | @Resource |
17 | 18 | private UserSession userSession; |
18 | 19 | |
19 | - @RequestMapping(value = "/login", method = RequestMethod.GET) | |
20 | + @RequestMapping(method = RequestMethod.GET) | |
20 | 21 | public ModelAndView getLoginForm() { |
21 | 22 | return new ModelAndView("login", "user", new User()); |
22 | 23 | } |
23 | 24 | |
24 | - @RequestMapping(value = "/login", method = RequestMethod.POST) | |
25 | + @RequestMapping(method = RequestMethod.POST) | |
25 | 26 | public String postLoginCheck(User user, BindingResult result) { |
26 | 27 | |
27 | 28 | User userFromDao = userDao.getFromUsername(user.getUsername()); | ... | ... |
src/main/java/fr/plil/sio/web/mvc/WebAppConfig.java
1 | 1 | package fr.plil.sio.web.mvc; |
2 | 2 | |
3 | +import org.slf4j.Logger; | |
4 | +import org.slf4j.LoggerFactory; | |
3 | 5 | import org.springframework.context.MessageSource; |
4 | 6 | import org.springframework.context.annotation.Bean; |
5 | 7 | import org.springframework.context.annotation.ComponentScan; |
... | ... | @@ -7,20 +9,23 @@ import org.springframework.context.annotation.Configuration; |
7 | 9 | import org.springframework.context.annotation.Scope; |
8 | 10 | import org.springframework.context.annotation.ScopedProxyMode; |
9 | 11 | import org.springframework.context.support.ResourceBundleMessageSource; |
12 | +import org.springframework.web.context.WebApplicationContext; | |
10 | 13 | import org.springframework.web.servlet.ViewResolver; |
11 | 14 | import org.springframework.web.servlet.config.annotation.EnableWebMvc; |
12 | 15 | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
13 | -import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; | |
16 | +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; | |
14 | 17 | import org.springframework.web.servlet.view.InternalResourceViewResolver; |
15 | -import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; | |
18 | +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; | |
16 | 19 | |
17 | -@EnableWebMvc | |
18 | -@ComponentScan(basePackages = {"fr.plil.sio.web.mvc"}, scopedProxy = ScopedProxyMode.TARGET_CLASS) | |
19 | 20 | @Configuration |
20 | -public class WebAppConfig extends WebMvcConfigurationSupport { | |
21 | +@ComponentScan(basePackages = {"fr.plil.sio.web.mvc"},scopedProxy = ScopedProxyMode.TARGET_CLASS) | |
22 | +@EnableWebMvc | |
23 | +public class WebAppConfig extends WebMvcConfigurerAdapter { | |
24 | + | |
25 | + private static final Logger logger = LoggerFactory.getLogger(WebAppConfig.class); | |
21 | 26 | |
22 | 27 | @Bean |
23 | - @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS) | |
28 | + @Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode. TARGET_CLASS) | |
24 | 29 | public UserSession userSession() { |
25 | 30 | return new UserSession(); |
26 | 31 | } |
... | ... | @@ -41,22 +46,38 @@ public class WebAppConfig extends WebMvcConfigurationSupport { |
41 | 46 | public MessageSource messageSource() { |
42 | 47 | ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); |
43 | 48 | messageSource.setBasename("messages"); |
49 | + messageSource.setDefaultEncoding("UTF-8"); | |
44 | 50 | return messageSource; |
45 | 51 | } |
46 | 52 | |
47 | 53 | @Bean |
48 | 54 | public ViewResolver viewResolver() { |
49 | 55 | InternalResourceViewResolver resolver = new InternalResourceViewResolver(); |
50 | - resolver.setPrefix("/WEB-INF/jsp/"); | |
56 | + resolver.setPrefix("/WEB-INF/views/"); | |
51 | 57 | resolver.setSuffix(".jsp"); |
52 | 58 | return resolver; |
53 | 59 | } |
54 | 60 | |
55 | - @Bean | |
56 | - public RequestMappingHandlerMapping requestMappingHandlerMapping() { | |
57 | - RequestMappingHandlerMapping handlerMapping = super.requestMappingHandlerMapping(); | |
58 | - handlerMapping.setUseSuffixPatternMatch(false); | |
59 | - handlerMapping.setUseTrailingSlashMatch(false); | |
60 | - return handlerMapping; | |
61 | + @Override | |
62 | + public void addResourceHandlers(ResourceHandlerRegistry registry) { | |
63 | + registry.addResourceHandler("/resources/").addResourceLocations("/resources/**"); | |
64 | + } | |
65 | + | |
66 | + /* | |
67 | + @Override | |
68 | + public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { | |
69 | + configurer.enable(); | |
61 | 70 | } |
71 | + */ | |
72 | + | |
73 | + | |
74 | + /* | |
75 | + @Bean | |
76 | + public RequestMappingHandlerMapping requestMappingHandlerMapping() { | |
77 | + RequestMappingHandlerMapping handlerMapping = super.requestMappingHandlerMapping(); | |
78 | + handlerMapping.setUseSuffixPatternMatch(false); | |
79 | + handlerMapping.setUseTrailingSlashMatch(false); | |
80 | + return handlerMapping; | |
81 | + } | |
82 | + */ | |
62 | 83 | } | ... | ... |
src/main/java/fr/plil/sio/web/mvc/WebAppInitializer.java
... | ... | @@ -3,24 +3,31 @@ package fr.plil.sio.web.mvc; |
3 | 3 | import javax.servlet.ServletContext; |
4 | 4 | import javax.servlet.ServletException; |
5 | 5 | import javax.servlet.ServletRegistration; |
6 | +import org.slf4j.Logger; | |
7 | +import org.slf4j.LoggerFactory; | |
6 | 8 | import org.springframework.web.WebApplicationInitializer; |
7 | -import org.springframework.web.servlet.DispatcherServlet; | |
8 | -import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; | |
9 | 9 | import org.springframework.web.context.ContextLoaderListener; |
10 | 10 | import org.springframework.web.context.WebApplicationContext; |
11 | +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; | |
12 | +import org.springframework.web.servlet.DispatcherServlet; | |
11 | 13 | |
12 | 14 | public class WebAppInitializer implements WebApplicationInitializer { |
13 | - | |
15 | + | |
16 | + private static final Logger logger = LoggerFactory.getLogger(WebAppInitializer.class); | |
17 | + | |
14 | 18 | @Override |
15 | 19 | public void onStartup(ServletContext servletContext) throws ServletException { |
20 | + logger.info("starting web app initializer"); | |
16 | 21 | WebApplicationContext context = getContext(); |
17 | 22 | servletContext.addListener(new ContextLoaderListener(context)); |
18 | - ServletRegistration.Dynamic dispatcher = servletContext.addServlet("DispatcherServlet", new DispatcherServlet(context)); | |
23 | + ServletRegistration.Dynamic dispatcher = servletContext | |
24 | + .addServlet("dispatcher", new DispatcherServlet(context)); | |
19 | 25 | dispatcher.setLoadOnStartup(1); |
20 | - dispatcher.addMapping("/*"); | |
26 | + dispatcher.addMapping("/"); | |
21 | 27 | } |
22 | - | |
28 | + | |
23 | 29 | private AnnotationConfigWebApplicationContext getContext() { |
30 | + logger.info("start web application context"); | |
24 | 31 | AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); |
25 | 32 | context.register(WebAppConfig.class); |
26 | 33 | return context; | ... | ... |
src/main/webapp/WEB-INF/jsp/login.jsp renamed to src/main/webapp/WEB-INF/views/login.jsp
src/main/webapp/WEB-INF/jsp/newUser.jsp renamed to src/main/webapp/WEB-INF/views/newUser.jsp
src/main/webapp/WEB-INF/jsp/viewUsers.jsp renamed to src/main/webapp/WEB-INF/views/viewUsers.jsp
src/test/java/fr/plil/sio/web/mvc/CheckUserInterceptorTest.java
... | ... | @@ -22,7 +22,7 @@ public class CheckUserInterceptorTest { |
22 | 22 | request = new MockHttpServletRequest(); |
23 | 23 | response = new MockHttpServletResponse(); |
24 | 24 | } |
25 | - | |
25 | +/* | |
26 | 26 | @Test |
27 | 27 | public void checkPreHandleServletPathIsLogin() throws IOException { |
28 | 28 | request.setPathInfo("/login"); |
... | ... | @@ -42,4 +42,5 @@ public class CheckUserInterceptorTest { |
42 | 42 | assertFalse(interceptor.preHandle(request, response, null)); |
43 | 43 | assertEquals(response.getRedirectedUrl(),"login"); |
44 | 44 | } |
45 | + */ | |
45 | 46 | } | ... | ... |