Framework2017. 2. 15. 09:19

Spring + Mybatis + log4j 연동 중 아래의 오류가 발생


The content of element type "log4j:configuration" must match "(renderer*,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)".


log4j.xml 에 새로운 logger 추가 시 <root> 하단에 추가 하여 오류가 난 것이다.

<logger ...>

</logger>


logger 순서를 지켜야 한다.


새로운 logger 추가 시 logger 밑에다 추가 하자

Posted by 비니미니파
Framework2014. 12. 10. 10:51

servlet-context.xml 설정 추가

    
    <interceptors>
        <interceptor>
            <mapping path="/**/*" />
            <exclude-mapping path="/main/*"/>
            <exclude-mapping path="/login/*"/>
            <beans:bean class="com.d4emon.interceptor.SessionInterceptor"></beans:bean>            
        </interceptor>        
    </interceptors>
    
    

*** exclude-maping 은 Spring 3.2 부터 지원한다. ****

SessionInterceptor.java 파일 생성

 

package com.d4emon.interceptor;

 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;  
 import javax.servlet.http.HttpSession;

 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
  
 public class SessionInterceptor extends HandlerInterceptorAdapter {
  
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

   System.out.println("Interceptor : PreHandle");
   
   // Session userid check
   HttpSession session = request.getSession();   
   String userid = (String) session.getAttribute("userid");

   // Login false
   if(null==userid) {
    System.out.println("Interceptor : Session Check Fail");
    // main page 로 이동
    response.sendRedirect("/main/main.do");
    return false;
   } 
   // Login true
   else { 
    System.out.println("Interceptor : Session Check true");
    return super.preHandle(request, response, handler);
   }
  }
 }

Posted by 비니미니파