C++ 의 template 구문이 java 5 부터 추가된 저너릭스랑 비슷한 거였구나!

[code]#include <iostream>
using std::endl;
using std::cout;

template <typename T>
class Data
{
 T data;
public:
 Data(T d){ data=d; }
 void SetData(T d){
  data=d;
 }
 T GetData(){
  return data;
 }
};

int main(void)
{
 Data<int> d1(0); // T를 int로 간주하고 객체생성
 d1.SetData(10);
 Data<char> d2('a'); // T를 char로 간주하고 객체생성
 cout << d1.GetData() << endl;
 cout << d2.GetData() << endl;
 return 0;
}[/code] 

'2007년1학기 > C++프로그래밍' 카테고리의 다른 글

C++ 11장 12장  (42) 2007.05.30
C++ 과제  (22) 2007.05.23
CPP 10장  (19) 2007.05.23
<< 연산자 오버로딩 하기  (23) 2007.05.23
CPP 9장  (42) 2007.05.09
by cranix 2007. 5. 30. 14:49

'2007년1학기 > C++프로그래밍' 카테고리의 다른 글

C++ template 과 java 저너릭스  (41) 2007.05.30
C++ 과제  (22) 2007.05.23
CPP 10장  (19) 2007.05.23
<< 연산자 오버로딩 하기  (23) 2007.05.23
CPP 9장  (42) 2007.05.09
by cranix 2007. 5. 30. 14:04

Spring 의 bean 부분의 예외를 처리했다고 해도.

기본적으로 jsp 페이지 내에서 발생하는 예외는 spring 만으론 잡을수 없다.

그래서 아래와같은 방법을 썻다.

- web.xml

[code] <error-page>
  <exception-type>java.lang.Exception</exception-type>
  <location>/WEB-INF/jsp/error.jsp</location>
 </error-page>[/code]

- 위와같이 error.jsp 파일을 지정한다.

- error.jsp

[code]<%@page contentType="text/html;chraset=utf-8" isErrorPage="true"%>
<%=exception%>[/code]

- 여기서 중요한건 isErrorPage 속성을 true 로 했다는것이다.
- 이렇게 하면 request  에 "javax.servlet.error.exception"  라는 attribute 가 들어있으면 위와같이 그냥 exception 변수를 쓸수있게 된다.


- BaseExceptionResolver.java

[code]package dic.resolver;

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

import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

public class BaseExceptionResolver implements HandlerExceptionResolver {

 private String view = null;
 public void setView(String view) {
  this.view = view;
 }
 
 public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj, Exception exception) {
  exception.printStackTrace();
  request.setAttribute("javax.servlet.error.exception",exception);
  return new ModelAndView(view);
 }

}[/code]

- 위 파일은 예전에 bean 예외를 잡기위해 만들었던 파일인데 저기다가 위와같이 request 에 javax.servlet.error.exception 예외를 추가하면 jsp 의 errorpage 를 그대로 사용할수 있다.


자 이것으로 class 와 page 에서 나는 모든 에러를 한 페이지에서 잡을수 있게 되었다.

by cranix 2007. 5. 30. 11:38
아무도 가르쳐주지 않는 길을
무서워하지 않기를 바랄게요
기다려줄 수 있지요
꿈을 보고 싶다면
꿈을 만나고 싶다면
나는 걸 용기 내세요
믿기 때문에 날 수 있는 거니까요


- 이희정의 시화그림집《너를 사랑하게 되다》중에서 -

'자유글 > 좋은글' 카테고리의 다른 글

나는 지금 나의 세상밖에 볼수 없으니까.  (25) 2007.08.03
기원의 기술  (25) 2007.07.02
낯선 것을 거부하지 않는 용기  (41) 2007.05.03
삶에 한 가지를 더 보태라  (646) 2007.04.17
게으름이 인생을 먹어치운다.  (42) 2007.04.10
by cranix 2007. 5. 30. 09:05
| 1 |