EgovSampleExcepHndlr 재질문
- 작성자 :
- 서*기
- 작성일 :
- 2013-09-13 15:22:47
- 조회수 :
- 1,128
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
답변 주셨던것처럼 context-aspect.xml파일을 수정했는데 에러메시지는 안나오네요
그리고 제 질문은 샘플소스가 ServiceImpl에서 나는 에너는 로그로 찍어주는데 Controller나는 에러는 표시가 안되서 그 부분을 나오게 하고 싶은겁니다.
그러기 위해서는 context-aspect.xml을 수정해서 하는게 맞는건지 아니면 다른곳을 수정해야 하는지 문의드린 겁니다.
그리고 참고로 log4j는
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration
xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p [%c] %m%n" />
</layout>
</appender>
<logger name="java.sql" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="console"/>
</logger>
<logger name="egovframework" additivity="false">
<level value="ERROR"/>
<appender-ref ref="console"/>
</logger>
<!-- log SQL with timing information, post execution -->
<logger name="jdbc.sqltiming" additivity="false">
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="org.springframework" additivity="false">
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<root>
<level value="ERROR" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
설정을 했습니다.
그리고 제 질문은 샘플소스가 ServiceImpl에서 나는 에너는 로그로 찍어주는데 Controller나는 에러는 표시가 안되서 그 부분을 나오게 하고 싶은겁니다.
그러기 위해서는 context-aspect.xml을 수정해서 하는게 맞는건지 아니면 다른곳을 수정해야 하는지 문의드린 겁니다.
그리고 참고로 log4j는
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration
xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p [%c] %m%n" />
</layout>
</appender>
<logger name="java.sql" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="console"/>
</logger>
<logger name="egovframework" additivity="false">
<level value="ERROR"/>
<appender-ref ref="console"/>
</logger>
<!-- log SQL with timing information, post execution -->
<logger name="jdbc.sqltiming" additivity="false">
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="org.springframework" additivity="false">
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<root>
<level value="ERROR" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
설정을 했습니다.
A
안녕하세요 프레임워크 센터입니다.
비즈니스 레이어와 클라이언트 레이어가 나뉘어져 있기 때문에 컨트롤러에는 따로 AOP를 걸어주셔야 합니다.
src/main/webapp/WEB-INF/config/egovframework/springmvc
폴더 하위에
egov-com-aspect.xml를 만드신 후
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<aop:config>
<aop:pointcut id="egov.serviceMethod2"
expression="execution(* egovframework.bopr.uam.web.*Controller.*(..))" />
<aop:aspect ref="egov.exceptionTransfer">
<aop:after-throwing throwing="exception"
pointcut-ref="egov.serviceMethod2" method="transfer" />
</aop:aspect>
</aop:config>
</beans>
이렇게 AOP선언을 하시면 됩니다.
혹 cglib가 없으면 에러가 나기 때문에 pom.xml에
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
디펜던시가 있는지 확인하신 후 하시면 되겠습니다.
수고하세요.
비즈니스 레이어와 클라이언트 레이어가 나뉘어져 있기 때문에 컨트롤러에는 따로 AOP를 걸어주셔야 합니다.
src/main/webapp/WEB-INF/config/egovframework/springmvc
폴더 하위에
egov-com-aspect.xml를 만드신 후
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<aop:config>
<aop:pointcut id="egov.serviceMethod2"
expression="execution(* egovframework.bopr.uam.web.*Controller.*(..))" />
<aop:aspect ref="egov.exceptionTransfer">
<aop:after-throwing throwing="exception"
pointcut-ref="egov.serviceMethod2" method="transfer" />
</aop:aspect>
</aop:config>
</beans>
이렇게 AOP선언을 하시면 됩니다.
혹 cglib가 없으면 에러가 나기 때문에 pom.xml에
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
디펜던시가 있는지 확인하신 후 하시면 되겠습니다.
수고하세요.