본문 바로가기

Define Java/Java

jsp session 생성과 삭제 체크하여 처리하기(중복 로그인 방지, 접속자 확인) 기본적으로 HttpSessionListener를 구현(Implements)하여 세션이 생성 되는 시점과 세션이 사라지는 시점을 가지고 올 수 있다. 세션을 생성 되는 시점에 DB나 특정 Static 변수에 세션 정보를 저장 하고 세션이 종료될 때 그 세션 정보를 지워 줌으로써 해당 세션의 중복 로그인을 막을 수 있으며 현재 접속중이 접속자 정보를 가지고 올 수 있다. package com.moainfo.http.session; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class MoaSessionList.. 더보기
세션 강제 종료(강제 로그 아웃) Servlet 버젼이 올라 감으로 HttpSession에서 HttpSessionContext을 가져오는 메소드인 getSessionContext를 사용 못하게 되었다. 실제 사용을 하면 객체을 반환을 하기는 하지만 객체 안에 세션은 비워져 있다. 문서를 뒤져 보니 보안 관계상 사용을 못한다고 어쩌고 적혀 있기는 하는데.....그래도 관리자가 강제 로그아웃 시키거나 세션을 지워줘야 할 경우가 있을 것 같아서 고민끝에 편법을 하나 생각 해 냈다.(Jeus에서는 된다는 말도 있음) HttpSessionContext 사용이 가능 하다면 HttpSessionContext .getSession(아이디)를 사용하여 세션 객체를 반환받고 HttpSession.invalidate() 메소드를 호출 하면된다. HttpSe.. 더보기
DAO와 VO (Database Access Object & Variable Object or Value Object) DAO를 풀어보면 Database Access Object로써 DB에 접근하여 무언가를 행하는 클레스입니다. VO는 Variable Object(Value Object)로 DB 혹은 어떠한 물체 틀(형상화)을 잡고 이 틀을 잡기 위한 변수들을 모아둔 하나의 클레스트 입니다. 회원 DAO와 회원 VO의 구조를 보자면 다음과 같음. UserDAO.java public class UserDAO extends BaseDAO { private static UserDAO Instance = new UserDAO(); private static Log logger = LogFactory.getLog(UserDAO.class); // 인스턴스 public static UserDAO getInstance() { retu.. 더보기
제 10회 한국자바개발자 컨퍼런스 더보기
MyEclipse에서 Xdoclet을 이용하여 sesstion bean 만들기 For weblogic 8 #2 MyEclipse에서 Xdoclet을 이용하여 sesstion bean 만들기 For weblogic 8 #2 http://www.definejava.net/ @ ALT MyEclipse에서 Xdoclet을 이용하여 sesstion bean 만들기 For weblogic 8 #1에서 Xdoclet을 이용하여 배포에 필요한 xml과 class 파일을 생성하였습니다. 이제 실제로 Weblogic Server에 Application을 배포하여 이것이 잘 돌아가는지 확인 해 보겠습니다. 우선 MyEclipse에 Weblogic 서버 설정이 되어있어야 합니다. 설정 하는 방법은 우선 따로 정리하지 않고 나중에 다시 강좌를 한개 더 쓰겠습니다. 설정이 되어있다는 가장하에 진행하도록 하겠습니다. Server정보에 W.. 더보기
MyEclipse에서 Xdoclet을 이용하여 sesstion bean 만들기 For weblogic 8 #1 MyEclipse에서 Xdoclet을 이용하여 sesstion bean 만들기 For weblogic 8 #1 http://www.definejava.net/ @ ALT 이번에는 마이이클립스에서 Xdoclet을 이용하여 EJB 무상태 세션 빈을 만들어서 웹로직 8에 배포하는 과정을 적어 보았습니다. 우선 프로젝트를 생성하겠습니다. 새 프로젝트 중 Enterprise Application Project를 선택합니다. EJB 프로젝트를 따로만들거나 WEB 프로젝트를 따로 만들어서 상관 없습니다. Project Name에 알맞은 이름을 주시고 J2EE 버젼을 1.3으로 체크합니다. 웹로직 8에서는 1.3을 지원하는거 같더군요. 1.4 버젼으로 컴파일 했을 경우 오류가 떳었습니다 밑에 Creation tasks.. 더보기
Jakarta Commons Lang 1. 살펴보기 Jakarta Commons Lang 1. 살펴보기 1. Jakarta Commons Lang Package Commons Lang 라이브러리는 자바 표준 JDK의 java.lang 패키지에 있는 기능들을 확장 또는 사용이 편하게 만들어 놓은 패키지입니다. 즉java.lang 패키지의 기능을 보다 편리하게 사용하기 위한 패키지입니다. 최상위 패키지에는 여러가지 유틸 클레스를 포함하고 있으며 서브클레스에는 여러 종류의 클레스와 예외 클레스 등을 포함하고 있습니다. 2. Download http://jakarta.apache.org/site/downloads/downloads_commons-lang.cgi (현재 2.3 최신버젼) 3. 패키지 구조 org.apache.commons.lang 사용하기 편한 정.. 더보기
JNDI 소개 많은 J2EE개발자들이 환경 변수(environment entries), DataSource 객체, JMS 메시지 수신지(JMS message destinations) 그리고 엔터프라이즈 빈 홈 인터페이스(enterprise bean home interfaces)를 찾고자 Java Naming and Directory Interface (JNDI)를 이용한다. 하지만 많은 사람들은 JNDI에 대한 진정한 이해 없이 이러한 기능을 하는 코드를 단순히 복사해서 붙이고 고칠 뿐이다. 이 팁은 사용자의 엔터프라이즈 시스템에 배포된 리소스를 액세스하기 위해 JNDI를 사용하는 방법을 소개한다. 엔터프라이즈 애플리케이션들은 그것들의 특성상, 비즈니스 오퍼레이션을 지원하기 위해 여러곳에 배포된 리소스들을 한데 모아야.. 더보기
정적 변수를 선언하는 방법들 정적 변수를 선언하는 방법 static을 이용하여 정적 변수를 선언할 떄 대부분 어떻게 사용하는가? public class StaticTest { private static int SIZE= 10; private static int[] myStatic = new int[SIZE]; } 대부분 이렇게 사용할 것이다. myStatic이라는 배열을 만들었다. 그렇다면 이 myStatic에 값을 할 당할때 어떻게들 사용하는가? myStatic은 배열이다. 배열에 값을 할당 할때 과연 어떻게 할 수 있을까?(반복문을 이용하는 방법중) 생성자를 만드는 방법도 있을것이고 메인메소드나 기타메소드에서 값을 할당 받는경우도 있다. 가장 쉽게 생각한 방법이 다음과 같은 두가지 방법일 것이다. ex1) public class.. 더보기
클래스? 인스턴스? 속성? 메소드? 객체? ① 클래스(Class) 2개 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하는 요소, 즉 공통된 특성과 행위를 갖는 객체의 집합. 한 클래스를 기준으로 하여 그 기준 클래스의 상위 클래스를 슈퍼 클래스, 하위 클래스를 서브 클래스라고 함. ② 인스턴스(Instance) 하나의 클래스에 속하는 각각의 객체를 의미 ③ 속성(Attribute) 한 클래스내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의하는 것으로서 성질, 분류, 식별, 수량 또는 현재 상태 등을 표현. ④ 메소드(Method) 객체의 정의된 연산을 의미 하며, 객체의 상태를 참조하거나 변경하는 수단이 됨. ⑤ 객체(Object) 속성과 이를 처리하기 위한 메소드를 결합시킨 실체로써 객체는 각각의 상태를 가지고 있음. 객체.. 더보기