분류 전체보기
-
java e.printStackTrace 로그 남기기2014.01.17
-
[Java] ImageIO 활용한 이미지 저장2014.01.17
-
[Spring] Spring Login Interceptor 설정2014.01.17
-
[Spring] Spring Ajax 사용 위한 JsonView 설정2014.01.13
-
[C#] Generic 이란.2014.01.07
java e.printStackTrace 로그 남기기
2014. 1. 17. 10:46
반응형
e.printStachTrace 로그
e.printStachTrace 로그 JAVA 코딩 시 가장 많이 사용하는 코드로 예외 메시지 출력을 위해 사용한다.
try { // ... } catch(Exception e){ e.printStackTrace(); }
printStackTrace() 외에도 printStackTrace(PrintWriter writer)도 존재하고 printStackTrace(PrintStream s)
역시 존재하기 때문에 stackTrace 의 내용을 파일 등에 남기는 것은 그리 어려운 일이 아니다.
하지만 Log4J 등을 사용하거나 별도로 자신이 만든 로그라이브러리등을 사용할때는, 이를테면 logger.error(e.printStackTrace()); 이런식으로 사용할 수가 없기 때문에, StackTrace 의 내용을 얻어야 하는데... getMessage() 또는 getLocalinzedMessage()를 사용할 수도 있지만 StackTrace에 비해서는 디버깅 정보가 약간 빈약하기 때문에 적절하지 못하다.
JDK 1.4부터 getStackTrace() 라는 메소드가 추가되었는데 이 메소드는 StackTraceElement의 배열을 리턴해준다.
따라서 이를 이용해서 아래와 같은 식으로 처리를 해주면 종종 쓸만하다.
try { // ... } catch(Exception e){ StackTraceElement[] elem = e.getStackTrace(); for ( int i = 0; i < elem.length; i++ ) logger.error(elem[i]); }
반응형
'Programming > Java' 카테고리의 다른 글
올바른 eqals() 사용법 (0) | 2014.02.07 |
---|---|
[Java] split 문자열 나누기 (0) | 2014.02.05 |
[Java] ImageIO 활용한 이미지 저장 (0) | 2014.01.17 |
Java 성능 개선을 위한 Programming 기법 (0) | 2013.12.17 |
커스텀 DecoratorMapper를 이용한 SiteMesh URL 패턴 매칭 기능 확장 (0) | 2013.07.17 |
[Java] ImageIO 활용한 이미지 저장
2014. 1. 17. 10:41
반응형
JAVA ImageIO 객체 활용
ImageIO.write() 메서드 중 파일로 이미지를 생성하는 예제이다.
static boolean write(RenderedImage im, String formatName, File output)
String imagePath = "이미지경로..";
BufferedImage image = null;
//이미지를 읽어와서 BufferedImage에 넣는다.
'URL imgURL = getClass().getResource(imagePath);
'image = ImageIO.read(imgURL);
int width = image.getWidth();
int height = image.getHeight();
//파일명 자르기
String fileNm = imagePath.substring(imagePath.lastIndexOf("/") + 1);
try {
// 저장할 이미지의 크기와 타입을 잡아줌.
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
bufferedImage.createGraphics().drawImage(image, 0, 0, this);
// 해당경로에 이미지를 저장함.
ImageIO.write(bufferedImage, "jpg", new File("C:/saveImage/" + fileNm));
} catch(Exception e) {
e.printStackTrace();
}
반응형
'Programming > Java' 카테고리의 다른 글
[Java] split 문자열 나누기 (0) | 2014.02.05 |
---|---|
java e.printStackTrace 로그 남기기 (0) | 2014.01.17 |
Java 성능 개선을 위한 Programming 기법 (0) | 2013.12.17 |
커스텀 DecoratorMapper를 이용한 SiteMesh URL 패턴 매칭 기능 확장 (0) | 2013.07.17 |
SiteMesh 설정 및 사용법 (0) | 2013.07.16 |
[Spring] Spring Login Interceptor 설정
2014. 1. 17. 10:38
반응형
Spring Interceptor 설정
Spring login interceptor 설정을 위해 servlet.xml 설정 파일에 interceptor를 설정 합니다.
<bean id="loginUrlHandlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="order" value="1">
<property name="interceptors">
<list>
<ref bean="loginInterceptor"></ref>
</list>
</property>
</property>
</bean>
위와 같이 설정을 하고 Interceptor Class를 생성합니다.
@Service
public class LoginInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String path = request.getServletPath();
if(path.equals("/login.do")) {
return true;
} else {
@SuppressWarnings("unchecked")
Map<string, object> userMap = (Map<string, object>) request.getSession().getAttribute("userMap");
if(userMap == null) {
response.sendRedirect("/login.do");
return false;
} else {
return true;
}
}
}
}
login.do로 접근하는 url을 제외하고 세션을 체크하여 userMap에 데이터가 null 일 경우 login.do 페이지로 Redirect 처리를 수행합니다.
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] Environment와 @PropertySource (0) | 2014.02.05 |
---|---|
뷰 이름 명시적 지정 :ModelAndView와 String 리턴 타입 (1) | 2014.02.04 |
[Spring] log4j 설정파일 정보 (0) | 2014.01.17 |
[Spring] Spring Ajax 사용 위한 JsonView 설정 (0) | 2014.01.13 |
java spring Maven 기반 개발환경 구성 (0) | 2013.04.30 |
[Spring] Spring Ajax 사용 위한 JsonView 설정
2014. 1. 13. 13:58
반응형
Spring Ajax 설정
JsonView 설정을 이용하여 AJAX를 사용할 수 있게 설정하는 과정을 포스트 합니다.
pom.xml과 dispatcher에는 기본적으로 등록
pom.xml
net.sf.json-lib json-lib 2.4 jdk15 org.codehaus.jackson jackson-mapper-asl 1.6.4
DispatcherServlet XML 설정파일
-web.xml
action *.do action *.ajax
-TestController.java
@RequestMapping("/test.do")
public String test(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model) throws Exception {
return "test/test";
}
@RequestMapping("/test.ajax")
public ModelAndView testAjax(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model) throws Exception {
Map resultMap = new HashMap();
resultMap.put("result1", "test1");
resultMap.put("result2", "test222");
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
return modelAndView;
}
Test.jsp
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] Environment와 @PropertySource (0) | 2014.02.05 |
---|---|
뷰 이름 명시적 지정 :ModelAndView와 String 리턴 타입 (1) | 2014.02.04 |
[Spring] log4j 설정파일 정보 (0) | 2014.01.17 |
[Spring] Spring Login Interceptor 설정 (0) | 2014.01.17 |
java spring Maven 기반 개발환경 구성 (0) | 2013.04.30 |
[C#] Generic 이란.
2014. 1. 7. 14:54
반응형
클래스 사용시 자료형을 미리 지정하여, 안정성을 보장하고 불필요한 캐스팅을 줄여 주는거 같다.
List interger = new List();
Class Test <-임시자료형 Template Integer.Add ( x )<- 여기 x에 들어갈 수 있는건 암묵적으로 int로 형변환 가능한 것만 받음.
foreach (var x in lstInteger) { ... } 하면 x는 자동으로 int로 값이 정해짐.
반응형
'Programming > C#' 카테고리의 다른 글
[C#] short url 생성(bit.ly) (0) | 2014.02.13 |
---|---|
[C#] HttpWebRequest Class 활용한 Post 전송 (0) | 2014.02.13 |
[C#] Win7 x64 IIS에서 32bit 응용 프로그램 사용 (0) | 2014.02.13 |
[C#] 중첩 리피터(Nested Repeater) 부모값 호출 하기 (0) | 2014.02.13 |