728x90
반응형

전체 글 882

간단한 Jsp 시작하기

Jsp를 작성하게 되면 jsp는 컨테이너에 의해서 서블릿으로 변형되게 된다. 간단하게 얼마나 많은 요청을 받았는지를 출력하는 jsp를 작성해 보면 다음과 같다. Counter.java package com.example; public class Counter { private static int count; public static synchronized int getCount() { count++; return count; } } BasicCounter.jsp Counter 클래스에서 static int 변수를 두어서 요청한 횟수를 저장할 변수를 만든다. BasicCounter.jsp에서는 page 지시자를 사용하여 com.example.*을 import 한 후 Counter 객체를 사용해서 카운트를 ..

Java/Servlet & JSP 2009.02.04

HttpSessionBindingListener와 HttpSessionAttributeListener

HttpSessionAttributeListener는 세션에 어떤 속성이 추가, 제거, 수정되는 이벤트가 발생하는지 알고 싶을 때 사용한다. 반면에 HttpSessionBindingListener는 자신이 세션에 속성으로 추가되었는지, 제거 되었는지 알기 위하여 사용한다. package com.example; import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionBindingListener; public class Dog implements HttpSessionBindingListener { private String breed; public Dog(String breed) { this.breed = ..

Java/Servlet & JSP 2009.02.02

Cookie 사용하기

웹 프로그래밍을 하다 보면 자연스럽게 나오게 되는 부분이 쿠키(Cookie)이다. Java에서도 쿠키를 사용할 수 있는데, 다음과 같은 방식으로 사용하면 된다. 1. Cookie 객체 생성 Cookie cookie = new Cookie("username", name); 2. Cookie 생명 주기 설정 cookie.setMaxAge(30*60); //30분... 3. Response에 Cookie 추카 response.addCookie(cookie); 4. Request에서 Cookie 일어오기 Cookie[] cookies = request.getCookies(); for(int i = 0 ; i

Java/Servlet & JSP 2009.02.02

Session 관리

클라이언트와 지속적인 연결을 유지하지 못하는 것이 http protocol의 특징이므로, 이전 요청한 클라이언트와의 연결을 유지하기 위해서 Session을 사용한다. 컨테이너(톰캣) 단에서 Session ID를 발행하고, 해당 Session ID와 Cookie를 맵핑 한 다음 해당 쿠키를 클라이언트에서 사용하도록 하면 클라이언트를 구분해서 받을 수 있다. * 세션 ID는 다음과 같은 방법으로 사용할 수 있다. HttpSession session = request.getSession(); 위와 같이 하게 되면, request로부터 세션 ID를 가지고 올 수 있고, 제일 처음 요청이라면 response 객체에 보낼 쿠키도 생성하게 된다. * 세션이 이미 있는지, 아니면 처음 요청으로 새롭게 만들게 되었는지를..

Java/Servlet & JSP 2009.01.30

스레드 안전한 ServletContext 만들기

스레드 안전이란 말은 어떤 속성에 set을 한 다음 get을 하기 전에 다른 무엇인가가 해당 속성에 set을 해서 내가 set한 속성 값을 그대로 get하지 못하는 경우를 말한다. ServletContext에서도 스레드 안전이 보장되지 못한다. 즉 다음과 같이 코딩하게 되면 잘못된 결과가 리턴될 수도 있다는 말이다. public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("test context a..

Java/Servlet & JSP 2009.01.29

으하하하하 첫 귀속 아이템이 떳습니다.

제가 주로 하는 겜 중에 '스키드러쉬'란 오락이 있습니다. 이 중에서 아이템을 변형해서 좋은 옵션이 달리도록 하는 '변형' 이라는 시스템이 있는데요. 여기서 1등 옵션이 나오기가 하늘의 별따기 입니다. 그래서 일명 로또 시스템 이라고 하죠 그런데 여기서 3등에 당첨 됬습니다. 파츠와 옵션 변형 용액을 넣고 변형하기를 누르면 옵션이 변형 되는데 2km 변형 나오기도 힘든게 이 시스템입니다. 보통 10point가 1km인데 3등으로 3km + 2km 짜리가 나오다니 ^^;; 순간 어안이 벙벙하고 기분이 너무 좋데요 ㅎㅎ 온라인 겜 폐인 양상 기사 같은 것을 보고 어떻게 저런게 생길 수 있지? 라는 생각을 했는데, 이런식으로 사람 기분이 좋아지는 것을 보면 어느정도 이해가 가네요 ^^;; 아래 사진은 제 첫 ..

ServletContext 이용하기

ServletConfig는 해당 서블릿에서만 사용할 수 있지만 Web App 내에서 공통적인 내용을 가져다 사용하려면 ServletContext를 사용할 수 있다. ServletContext는 ServletConfig와 마찬가지로 web.xml을 사용하며, 따라서 바로 사용하려면 String만 사용할 수 있다. 하지만, ServletContextListener를 이용하면 객체 역시 Web App 전역에서 사용할 수 있다. ServletContextListener는 서블릿이 로딩 되기 전, 컨테이너(ex:톰캣) 차원에서 initialize 하고 destroy 하게 하는 것이다. 따라서 이 속성을 이용해서 컨테이너가 ServletContextListener를 로딩할 때 context-param을 추가한 후,..

Java/Servlet & JSP 2009.01.23

나눔고딕용 코딩 글꼴이 배포되고 있네요.

나눔 고딕을 사용한 코딩용 글꼴이 배포되고 있네요. 배포 되고 있는 url은 http://dev.naver.com/projects/nanumfont 이며 윈도우, 리눅스 용으로 배포 되고 있는 것 같습니다. 현재 윈도우 용을 다운로드 받아서 에디트 플러스에서 한번 살펴 보니 아래 스냅샷과 같이 보입니다. 배포 사이트에서 나눔 고딕 코딩용 글꼴과 관련해서 아래와 같은 내용을 말하고 있네요. 고정폭 형식으로서 소스코드 편집을 위한 각종 편집기나 터미널에서 가독성을 높였고, 알파벳 대문자 아이(I)와 알파벳 소문자 엘(l), 숫자 1, 숫자 0과 알파벳 대문자 오(O) 혹은 알파벳 소문자 오(o) 등등 혼동되기 쉬운 문자들을 명확하게 구별될 수 있게 하여 원치 않는 코딩 오류를 최소화할 수 있습니다. ......

Develop?/News 2009.01.22

ServletConfig 이용하기

web.xml에 config 정보를 정의하고 해당 내용을 servlet에서 불러와 사용할 수 있다. 사용 방법은 다음과 같다. 1. web.xml 작성 BeerParamTests com.example.TestInitParams adminEmail likewecare@wickedlysmart.com mainEmail blooper@wickedlysmart.com BeerParamTests /Tester.do init-param을 통해서 param-name(변수명)을 정하고 param-value에 값을 넣은 후 사용할 수 있다. 2. com.example.TestInitParams.java 작성 package com.example; import java.io.IOException; import java.io..

Java/Servlet & JSP 2009.01.22

이클립스에서 Dynamic Web Project 시작하기

항상 기본 Pojo Java만 공부하다가 이클립스로 Servlet & JSP를 이용하는 Dynamic Web Project를 시작하게 되니 여간 헷깔리는 것이 아니었다. 그래서 정리 차원에서 블로그에 올려본다. 1. 일단 이클립스에는 WTP(Web Tools Platform)을 설치해야 한다. 설치하지 않을 경우 'New -> Project'에서 Dynamic Web Project가 보이지 않는 것 같다. 다운은 http://download.eclipse.org/webtools/downloads/ 에서 받아도 되며, 이클립스 자체에서 업데이트 해도 된다. 이클립스 자체에서 업데이트 하는 방법은 아래와 같다.(가니마데와 유로파가 서로 UI가 좀 틀린 듯 하다. 아래는 유로파 기준이다.) 위와 같이 한 후 ..

MVC 식 Servlet 사용

Head First Servlet & JSP 책을 통해 알게 된 MVC 식 Servlet 예제를 통해 기본적인 Servlet & JSP가 어떻게 돌아가는지 확인해 본다. 기본적인 디렉토리는 아래와 같다는 가정하에 작업을 한다. 1. 디렉토리 구성 src밑에 com.example.web 패키지와 com.example.model 패키지를 만든다.(패키지는 디렉토리와 같은 개념이다.) web 디렉토리 밑에는 일반적인 servlet이 들어가며, model 밑에는 Pojo Java가 들어간다. 기본적인 html 파일인 form.html과 결과값을 처리할 jsp 파일인 result.jsp 파일은 WebContent 밑에 들어간다. 2. web.xml 작성 WebContent/WEB-INF/web.xml에 다음과 같..

Java/Servlet & JSP 2009.01.21

Servlet의 작성

php에서는 DocumentRoot 아래에 있는 물리적인 디렉토리와 물리적인 파일을 호출하게 된다. 반면에 Java(Servlet)에서는 web.xml을 통해 url과 물리적인 servlet class를 맵핑 시켜서 호출하게 된다. 맵핑 시키는 방법은 아래와 같다. 위와 같은 디렉토리가 있다면, "WebContent/WEB-INF/web.xml" 파일을 열어 맵핑 정보를 등록할 수 있다. web.xml 파일은 기본으로 생성되어 있으며, 다음과 같이 작성할 수 있다. Chapter1 Servlet Ch1Servlet Chapter1 Servlet /Serv1 위와 같이 작성을 하게 되면 물리적인 servlet 파일을 찾아가는 flow는 다음과 같다. 1. http://localhost:8080/Serv1을..

Java/Servlet & JSP 2009.01.21

운전들 좀 제대로 합시다. 제발... Please...

운전 면허를 딴지 16년 째지만, 아직도 운전을 할 때마다 느끼는 거지만, 운전들 정말 거지 같이 하는 사람 많다. 개그 콘서트에서 16년간 한가지 일을 하게 되면 달인 이라는 말을 하는데, 운전을 16년간 해도 운전 할 때마다 항상 살얼음 판을 걷는 느낌이다. 오늘 아침에도 출근 길에 운전을 하고 오는데, 뒤에 오는 차량에 충분한 간격이 있어서 차선 변경을 하게 되었다. 차선 변경을 하니까 그 모습을 못 보고 바로 가속 페달을 쭉 밟아서 내차 뒤로 붙여 되는 모습이란... 상향등을 켜대고 크랙션을 눌러대는 한심한 꼴이란 참 가관이더라... 신호등을 어기는 것은 기본이고 레이싱 트랙에서 달리는 것처럼 서로 이기려 하는 그런 자세... 남들 다 차선대로 가고 있는데, 갓길이나 옆 차선을 통해서 앞질러 와서..

인생이야기 2009.01.08

SkidRush 배틀존에서 재미있는 장면 하나 ^^

이번 12월 18일에 새로운 업데이트가 있었는데, 그중 하나가 바로 트래픽카 위장 키트이다. 해당 아이템을 사용하면 15분간 트래픽카로 위장할 수 있다. 트래픽카는 트럭, 트레일러, 티코, 경찰차 등 랜덤으로 변경되는데 위 장면에서 볼 수 있는 것처럼 재미있는 장면이 벌어진다. 티코가 쟁쟁한 슈퍼카들을 재치고 배틀 존에서 1등을 한 것이다. 뭐 티코에게 발렸다는 생각이 찜찜하긴 하지만 재미있는 장면이다 ^^

MySQL의 백업 및 복구

요즘은 MySQL Replication 기능을 이용해서 DB System을 구축하는 경우가 많다. 또한 MySQL DB를 사용하면서 백업은 보통 Replication Slave 단에 있는 백업 Server에서 별도로 받게 된다. 백업 서버에서 Dump로 받게 된 Data는 DML 쿼리로 된 text data이며, 이 데이터를 이용해서 신규 장비를 설치하던가, 아니면 기존 장비에 문제가 생겼을 시 복구를 하게 된다. 그런데 복구를 하더라도 Replication이란 문제로 인해 Master DB와 싱크를 맞추는 문제가 발생하게 된다. 따라서 백업 서버에서 백업을 받게 되는 경우, Master DB의 binary log의 포지션을 알아야지만 된다. 이럴 경우에는 다음과 같은 절차를 따라서 Dump를 받으면 된..

Server/DB 2008.12.15

스키드러쉬 루비 쿠폰을 땃습니다. ㅋ

스키드러쉬를 하다보면 차를 구매하게 되는데, 특수한 차량들은 쿠폰을 획득해야지만 살 수 있습니다. 그 중에서 가장 따기 힘들다는 루비(Ruby)쿠폰을 획득 했습니다. 실제 차량명은 BMW Z8로서 007시리즈 19번째에 나온 차량 입니다. 네이버 뉴스에서도 나왔네요. 실제 차량 이미지는 아래와 같습니다. 그리고 게임상에서의 이미지는 여기를 클릭해서 보실 수 있습니다. ㅋ 쿠폰을 이용해서 그냥 차를 살까, 아니면 쿠폰을 경매장에 내 놓을까 고민 중입니다. ^^ 이제 배틀만 즐기면서 해야 겠네요 ㅋ

라세티 너무한거 아냐?

오늘 아침 무심코 네이버 메인 화면을 보다가 새로나온 라세티 신형 자동차 광고가 있길래 보게 되었다. 디자인 참 신선하고, 외국차처럼 만든 것 같아서 멋있네 하고 보고 있는데.. 이건 어디서 많이 보던 모습이다. 뭐 한국차의 외국 차 베끼기는 어제 오늘일이 아니지만, 이건 보면 볼수록 좀 너무 심하다는 생각이 들 정도로 베끼었다. 기존에 nf sonata가 honda의 구형 어코드 앞, 뒷 모습을 그대로 베낀 것은 유명한 일화지만, 이번의 라세티도 그에 못지 않게 최소한 2개의 차종을 그대로 베끼고 있었다. 우선 생각나는데로 앞 모습은 혼다 뉴 어코드의 모습을 그대로 베낀것 같아서 네이버 자동차를 통해 혼다 뉴 어코드의 모습과 라세티의 모습을 비교해 보기로 했다. 혼다 뉴 어코드의 모습을 직접 보고 싶다..

네이버 OpenCast 베타 테스트 모집하네요.

오픈캐스트 베타캐스터를 받네요. 저도 보잘것 없지만, 제 블로그로 등록하였습니다. 사실 글 등록에 대한 나름대로 압박감을 받긴 하는데, 제대로 된 글을 써본 적이 없어서 이렇게라도 한번 등록하고 써볼려고 합니다. ^^ 이 기회를 삼아 좋은 글을 쓸 수 있었으면 좋겠네요. 베타캐스터가 되고 싶으신 분은 http://campaign.naver.com/opencast-beta 에서 신청하시면 됩니다.

Develop?/News 2008.11.13

네이버 가계부 Close Beta를 시작하네요.

카페에 있는 배너를 통해 네이버 가계부 close beta 소식을 듣고 얼른 신청을 했다. 사실 돈과 관련되어서 정말 개념없이 살고 있어서 내가 얼마를 버는지, 얼마를 쓰는지 계산도 안하고 사는 사람인데... 그래서 그런가 더더욱 돈을 꼼꼼하게 한번쯤은 관리해 보고 싶었는데 이렇게 가계부가 나오게 되어 반가운 맘에 신청하게 되었다. 일단 관련 이미지 만으로는 참신해 보이고 사용하기 편해 보이긴 한다. 실제 사용은 해 봐야 알겠지만 ^^ close beta를 신청하시고 싶으신 분은 여기서 신청하시면 된다. 그리고 네이버 가계부의 자세한 기능을 보고 싶으신 분은 여기서 보시면 된다. 얼른 당첨 확인 메일이 오면 좋겠다 ^^

Develop?/News 2008.11.11

스키드러쉬에서 신차가 나왔네요.

푸조 207 RC 모델인 듯 합니다. 푸조 모델을 개인적으로 이쁘게 봐서 그냥 생각 안하고 한대 질렀는데요. 사실 스키드러쉬에서 차 가격보단 아이템 가격이 비싸서 부담은 안됩니다 ㅎ 나중에 현질을 해서 업그레이드를 하는 것은 좀 고려해 봐야 겠네요. 관련 사진은 아래에 있습니다. 이쁘긴 하네요 ㅎ 예전부터 있던 푸조 206CC(겜 상에서는 MPM CC) 모델의 뒤를 잇는 모델입니다. 현재 겜 상에서 가장 스텟이 좋다고 여겨지는 미쓰비시 이클립스(겜상 코멧)보다 km가 좀더 나가게 정해졌으니 팔리기는 많이 팔릴지도 ^^

그동안 몰라서 혜택받지 못한 국가지원 서비스

출처 : http://bbs.moneta.co.kr/nbbs/bbs.normal.qry.screen?p_bbs_id=N10381&p_message_id=6009339&top=1&sub=2&depth=1&p_tp_board=false&service=mini_handbook 우리 나라 대한민국에서 하는 국가 서비스의 종류가 있는데요. 그중 사람들이 가장 많이 혜택을 보고 있는 몇가지를 정리해 드릴께요. ^^ 아이 돌보미 서비스 (연간 약 600만원) 만약 급한 일이 생겼는데 아이를 맡길수도 없는 상황이 생겼다면 나라에서 아이를 돌보는 전문교육을 받은 돌보미를 통해서 아이를 돌봐주는 제도인데요. 아이 돌보미 서비스를 이용할 수 있는 아이의 나이는 3개월 ~ 만 12세까지 아이에 대해서 이용이 가능하답니다. 이..

Etc 2008.11.06

Eclipse 시작하기

1. 다운로드 http://www.eclipse.org/downloads/ 에서 Eclipse IDE for Java Developers 다운로드 2. 압축을 특정 Directory에 푼다. 3. 압축을 풀은 Directory에서 eclipse.exe를 실행한다. 4. JDK/JRE가 없다면 에러가 난다. 이런 경우에는 jdk를 설치한다. - JDK 6 Update 6(http://java.sun.com/javase/downloads) 5. 시작하면 workspace를 묻는 창이 나타난다. 원하는 Directory 선택 후 'OK' 선택한다. 6. 다음과 같은 화면이 나타난다. 7. Java Project - Toolbar > New(Alt+Shift+N) > Java Project - Project n..

728x90
반응형