레이블이 [jsp]인 게시물을 표시합니다. 모든 게시물 표시
레이블이 [jsp]인 게시물을 표시합니다. 모든 게시물 표시

2008년 9월 23일 화요일

이클립스디버깅방법

<이클립스 디버그 방법>

1. 톰켓서버를 먼저 실행

2. 라인에 더블클릭하면 파란 동그라미 생긴다. 여기서 부터 디버그를 하겠다는 표시

3. 웹어플사이트에 액션을 수행하면 창이 뜨고 확인 누르면된다.
그러면 디버그 모드로 간다

4. F6은 한줄씩디버그 하기
오른쪽 위에 variable 과 병행하면서 코드를 본다.

5. F5는 안에 있는 메소드로 들어가고 싶을때 사용.
그리고 들어가면 다시 F6으로 한줄씩 디버깅체크

6. F7은 중도에 다시 돌아가고 싶을 때
F8은 한번에 검사하고 싶은곳을 같이 보고싶을 때

7. 한가지 변수에만 검사하고싶다.
블럭해서 오른쪽 마우스클릭 후 watch 선택

--------------------------------------------
<이클립스 자주쓰는 단축키 및 기술>

Code Assist : Ctrl + Space (자동으로 이클립스 코드 보여주는 기능)

Quick Fix : Ctrl + 1 (에러시 빨간에러표시시 Ctrl + 1 을 누르면 방법 제시)

Quick Hierarchy : Ctrl + T (계층 구조 보기)

Quick Outline : Ctrl + O (아웃라인구조 보기)

Source Code Navigation : F3, Alt + Forward

메소드를 들어가 보고싶을때(ctrl을 누르고 클릭해도가능)
Alt + Back 다시 돌아갈때

Line move : Ctrl + L (라인 이동)

Mark Occurrences : 형광등 기능. 관련된 것에 같은색으로 표시됨.

Search : Ctrl + F (소스내 검색기능)
Ctrl + H (파일이나 자바나 플러그인 등 검색시)

Comment : Ctrl + / (블럭 지정하여 자동으로 주석 처리하기)

Import! : Ctrl + Shift + O (import! 에러시 필요한 정보를 제시하여준다)

참고 사이트 : http://cafe.daum.net/yunilab/2CBy/45?docid=15eBl|2CBy|45|20061030160210&q=%C0%CC%C5%AC%B8%B3%BD%BA%20%BB%E7%BF%EB%B9%E6%B9%FD&srchid=CCB15eBl|2CBy|45|20061030160210

2008년 8월 20일 수요일

2008년 8월 18일 월요일

HWP 파일 다운로드시 저장하고 보면 잘 되지만 열기 했을 경우 안될때...

JSP/Servlet 환경에서 다운로드를 사용할 경우는
아래와 같은 순서를 가진다.

1. HttpServletResponse 로 부터 OutStream 을 얻는다.
2. Header, ContentsType 등을 설정한다.
3. FileStream 을 통해 전송될 파일의 스트림을 얻는다.
4. Response 로 부터 얻은 outputStream 에 파일을 쏜다.
5. 열려진 모든 자원을 닫는다.

뭐 다른것들은 괜찮지만 2번 항목에서 환경에 따라 헤더 설정이 틀려진다.
단독 WAS 환경인지, WAS 앞에 Apache 나 IIS 가 있는지 등등..

웬만한 부분에서는 아래와 같은 Header 설정이면 충분하다.

res.setContentType("appliction/octet-stream");
res.setHeader("Accept-Ranges","bytes");
res.setHeader("Content-Transfer-Encoding", "binary;");
res.setHeader("Pragma", "no-cache;");
res.setHeader("Expires", "-1;");

res.setHeader("Content-Disposition", "attachment; filename=" + fileName + ";");


문제는 위 설정으로 zip 파일이나, 다른 파일들은 저장, 열기가 잘 되지만 유독 HWP 파일에서 문제가 생긴다.

다운로드 창까지는 잘 뜨는데, 열기 버튼을 누르면 파일을 찾을 수 없다고 나온다.

저장해서 보면 잘 보이지만 ㅎㅎ

여차저차 해서 헤더에 아래와 같이 추가해줬다.

res.setHeader("Cache-control","private");

잘 된다 ^^

캐시 컨트롤을 private 으로 하겠다는 의미는 전송되는 개체가 공유 캐시에 보관되지 않고 특정 클라이언트만을 대상으로 해야 한다는 말이다.

참조 사이트 : http://www.javarush.com/tag/hwp%20%ED%8C%8C%EC%9D%BC%20%EC%97%B4%EA%B8%B0