Java 관련: 133개의 글
데이터 저장 영역 서블릿에서는 데이터를 저장하는 영역으로 페이지 객체, 요청 객체, 세션 객체, ServletContext 객체 네 가지를 사용할 수 있다.1) 페이지 객체는 현재 페이지 내에서만 사용할 변수를 저장하는 영역.2) 요청 객체는 요청 객체가 유지되는 영역에서 사용할 변수를 저장하는 영역.3) 세션 객체는 웹 브라우저가 종료되기 전가지나 세션이 끊어지기 전까지 사용할 변수를 저장하는 영역.클라이언트마다 독립적으로 데이터를 저장하고 관리할 수 있는 최고 범위의 데이터 저장 영역이다. 여기에 저장되는 데이터는 클라이언트가 웹 브라우저를 종료하기 전까지나 세션이 끊어지기 전까지는 사라지지 않는다.4) ServletContext 객체는 서버가 종료되기 전까지 사용할 변수를 저장하는 영역. 이들 각 ..
초기화 파라미터 초기화 매개변수는 웹 페이지가 실행될 때 필요한 데이터를 전달해 준다. 그리고 초기화 매개 변수는 서블릿 프로그램이 처음 실행될 때 클라이언트가 아닌 서버로부터 넘겨받는 값이다.웹 프로그램은 모든 실행 시작점이 웹 서버의 구동이다. 이때 web.xml 파일이 자동으로 로드된다.여기에 초기화 매개변수를 등록해서 웹 페이지가 매개변수의 값을 읽어들인다.이렇게 해서 서블릿을 재컴파일하지 않고서도 원하는 초기값을 웹 페이지에 전달할 수 있다. import java.io.*;import javax.servlet.*;import javax.servlet.http.*; public class Round14_01_Servlet extends HttpServlet {public void doGet(Htt..
web.xml 주요 태그 web.xml파일은 웹 컨테이너와 웹 프로그램의 파일을 서로 연결하고 관리하는 설정 파일이다.웹 프로그램은 항상 자바를 지원하는 웹 컨테이너에서 실행된다. 때문에 해당 웹 컨테이와의 연게를 반드시 염두에 두어야 한다. 프로젝트별로 환경을 설정하고 파일들 간에 관계를 설정할 때는 web.xml 파일이 기준이 된다. web.xml 파일은 웹 서버가 서블릿 파일을 인식하게 해준다.이 파일은 서블릿의 등록뿐 아니라 필터 클래스의 등록과 맵핑 등 다양한 설정을 지원한다.주목할 점은 web.xml이 웹 서버를 구동할 때 읽혀진다는 것이다. 만일 특정 작업에 필요해서 web.xml 파일을 수정하고 웹 서버를 재구동하지 않으면 당연히 web.xml 파일은 인식되지 않는다. 프로젝트명 ⓐ ⓑ 전..
웹 프로그램 기본파일(tomcat환경) WEB-INF/web.xml: 프로젝트의 속성을 설정하는 파일 META-INF/context.xml: 서버 환경을 설정하는 파일 %JAVA_HOME%/jre/lib/ext: 로컬 응용 프로그램을 실행하기 위한 폴더 tomcat7/common/lib: 톰캣을 이용하는 웹 프로그램을 실행하기 위한 폴더, 모든 프로젝트에 공통으로 적용되는 라이브러리 파일을 인식한다.cf.) %JAVA_HOME%/jre/lib 폴더나 %JAVA_HOME%/jre/lib/ext 폴더 내의 JAR 파일들도 자동으로 인식된다. C:\\Web_Java\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps: 이클..
일반적으로 JSP에서 소요되는 시간은 많지 않습니다. JSP가 가장 처음에 호출되는 경우에만 시간이 소요되고, 그 이후의 시간에는 컴파일된 서블릿 클래스가 수행되기 때문입니다. 그럼 JSP의 라이프 사이클을 간단하게 리뷰해 보면 다음과 같습니다. JSP의 라이프 사이클은 다음의 단계를 거칩니다. 여기서 해당 JSP 페이지가 이미 컴파일되어 있고, 클래스가 로드되어 있고, JSP 파일이 변경되지 않았다면, 가장 시간이 많이 소요되는 페이지 번역, JSP 페이지 컴파일, 클래스 로드, 인스턴스가 생성되는 과정을 생략되고 JSP URL이 호출되면 바로 인스턴스가 생성되어 바로 jspInit 메소드가 호출되는 방식으로 흐름이 이어집니다. 서버의 종류에 따라서 서버가 기동될 때 컴파일을 미리 수행하는 Pre-co..
[ibatis] parameterMap, resultMap 지원되는 jdbcType, javaType 정리 ibatis 프레임워크를 통해 java와 jdbc 간 파라미터와 결과값을 객체에 매핑하여 전달한다. 여기서 JAVA와 JDBC에서 사용하는 클래스에 미묘한 차이가 있어, 매핑시에 문제가 발생하기도 한다. 예를 들어, 아래의 경우에 에러가 발생한다. SELECT ID, NAME, GRADE FROM EMPLOYEE WHERE ID = #id# EMPLOYEE 테이블에서 조회된 데이터 컬럼 ID, NAME, GRADE 는 resultClass인 Employee 객체의 id, name, grade 변수에 각각 매핑되어 반환될 것이다.여기서, GRADE 컬럼이 LONG 타입이고 Employee 객체의 gr..
resultMap의 property 속성 옵션 정리 ibatis에서 쿼리를 통해 실행된 결과를 리턴하는 타입을 정의하기 위한 을 명시한다. [Java Web/MyBatis, iBatis] - [ibatis] resultClass, resultMap 사용 기본 1. 의 옵션 값 빨간색으로 표시한 부분이 속성 값이며, [괄호]로 둘러싼 부분은 옵션이다. 은 자신의 id 를 가지며, class 에서 반환할 클래스의 형을 명시한다. 이 클래스는 아래 의 속성들으 포함하여, result 반환 객체를 매핑하고 생성한다.extends 옵션은 다른 resultMap의 이름을 명시하며, 이 명시된 resultMap의 프로퍼티들을 모두 포함한다. 이것은 자바의 상속을 이용해 확장하는 것과 같다. resultMap의 프로퍼..
parameterMap의 property 속성 옵션 정리 ibatis에서 쿼리를 실행하기 위해 넘어오는 parameter를 정의하기 위한을 명시한다. [Java Web/MyBatis, iBatis] - [ibatis] parameterClass, parameterMap 사용 기본 1. 의 옵션 값 빨간색으로 표시한 부분이 의 요소이며, [괄호] 로 둘러싼 부분은 옵션이다. (1) property - 파라미터 map의 property 속성은 mapping된 statement에 전달되는 파라미터 객체의 변수(get메소드) 이다.- 따라서 전달 파라미터 객체에는 get메소드가 구현되어 있어야 매핑이 가능하다. (2) jdbcType - jdbcType 속성은 이 property에 의해 셋팅되는 파라미터의 jd..
resultClass, resultMap 사용 기본 resultClass 와 resultMap 은 SQL의 조회 결과를 반환하는 방식을 지정하는 옵션이다. parameterClass와 parameterMap 이 쿼리 실행을 위해 input 되는 데이터를 정의하였다면, resultClass와 resultMap 은 결과 Output을 정의한다. [Java Web/MyBatis, iBatis] - [ibatis] parameterClass, parameterMap 사용 기본 1. resultClass resultClass는 parameterClass와 마찬가지로 패키지명을 포함한 반환 객체를 명시한다.결과는 JDBC resultSet이 해당 객체에 자동 매핑되어 결과를 반환하도록 한다. SELECT PER_I..
parameterClass, parameterMap 정리 parameterClass 와 parameterMap 은 ibatis에서 쿼리를 실행하기 위해 필요한 파라미터를 매핑하기 위한 방법이다. parameterClass 는 해당 클래스를 직접적으로 명시하여, 넘어온 파라미터와 매핑하는 것이고, parameterMap 은 넘어온 파라미터를 parameterMap 에 재배치하여 해당 Map 의 값으로 매핑하는 방법이다. 파라미터 전달 방식은 parameterClass 와 parameterMap 둘 중에 한가지로 선택하면 된다. 1. paramterClass parameterClass 속성값은 자바 클래스의 패키지를 포함한 전체 경로의 이름이다.parameterClass 속성은 옵션이지만 추천되는 사용 방법..