Java 관련/JSP,Servlet: 41개의 글
사용자 정의 태그를 만들어서 사용할 수 있다. 사용 방법은 EL에서 함수를 만드는 방법과 유사하나 조금 더 복잡한 부면이 있다. 커스텀 태그를 만들기 위해서는 tld 파일과 java class 파일이 필요하다. 예제로 유저에게 랜덤하게 조언을 해 주는 커스텀 태그 소스를 보면 이해하는데 도움이 된다.(소스는 역시 Head & First Servelet & JSP에서 사용된 것이다.) 우선 tld 파일은 EL과 마찬가지로 WEB-INF 밑에 작성한다. 이름은 myCustomTag.tld로 한다. 0.9 RandomTags rollIt com.example.DiceRoller int rollDice() randomThings random advice advice com.example.AdvisorTagHan..
웹 브라우저는 웹서버에 파라미터를 전송할 때 알맞은 캐릭터 셋을 이용해서 파라미터 값을 인코딩하여 전달한다. 반대로 웹 서버는 알맞은 캐릭터 셋을 이용해서 웹브라우저가 보내온 파라미터를 디코딩한다. 어떤 캐릭터 셋을 이용할지의 여부는 GET방식과 POST방식에 따라 다르다. 1.POST방식 POST방식에서는 응답결과에 사용하는 캐릭터셋을 이용해서 파라미터를 인코딩한다.
서블릿(servlet)은 서블릿 컨테이너 위에서 작동하는 웹서비스용 자바 인터페이스(javax.servlet.Servlet)의 객체입니다. 자바 서블릿은 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양이라고 해석할 수 있습니다. 쉽게 자바로 작성된 서버 사이트 애플리케이션이라고 생각하시면 되도 무방합니다.특징으로는 독립 실행 프로그램과 달리 진입점 즉, main 메서드가 없으며, 서블릿 컨테이너에 등록된 후 서블릿 컨테이너에 의해 생성, 호출, 소멸이 이루어집니다. 서블릿 컨테이너(servlet container)는 서블릿을 관리하고 동작시킬 수 있는 환경을 제공하는 서버 프로그램입니다. 컨테이너는 특정 객체의 생성과 관리를 담당하며 객체 운용에 필요한 다양한 기능을 제공합니다. 또한 HTTP..
HTTP 헤더 1. HTTP 헤더 아래 헤더 정보는 텍스트만 있는 HTML 문서에 대한 요청/응답 헤더임.HTTP Version 1.1을 기준으로 작성된 헤더 정보임.(클라이언트 환경은 Windows XP, NET Framework 1.1, IE 6.0) 2. 요청 헤더 (1) GET /test/test.htm HTTP /1.1요청 Method와 요청 파일 정보, HTTP 버전을 뜻함.HTTP 프로토콜은 클라이언트가 서버에게 요청하는 방식에 대한 몇 가지 동작을 정의하고 있음.즉, 요청 Method 란 클라이언트가 서버로의 요청하는 방법을 명시함. 1) GET지정된 리소스(URI)를 요청함. 2) POST서버가 클라이언트의 폼 입력 필드 데이터의 수락을 요청함.클라이언트는 서버로 HTTP Body에 Da..
커넥션 풀(Connection Pool) 1. 커넥션 풀(DBCP)데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때 커넥션을 풀에서 쓰고 다시 풀에 반환하는 기법을 말한다.웹 프로그램에서는 데이터베이스의 환경설정과 연결 관리 등을 따로 XML파일이나 속성 파일을 사용해서 관리하고, 이렇게 설정된 정보를 이름을 사용하여 획득하는 방법을 사용한다.- 웹 컨테이너가 실행되면서 커넥션(connection) 객체를 미리 풀(pool)에 생성해 둡니다.- DB와 연결된 커넥션(connection)을 미리 생성해서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 가져다 쓰고 반환한다.- 미리 생성해두기 때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리 할 수 ..
서블릿 이벤트 서블릿은 다양한 시점에 발생되는 이벤트와 이벤트를 처리하기 위한 인터페이스를 정의하고 있다. 이들 이벤트와 인터페이스를 이용하면 웹 어플리케이션에서 필요로 하는 데이터의 초기화나 요청 처리 등을 추적할 수 있게 된다. 서블릿 규약은 다양한 이벤트를 처리할 수 있는 인터페이스를 정의하고 있는데, 이 장에서는 그 중에서 ServletContextListener이다. 데이터 저장 영역(application, session, request)에 데이터가 들어가고 나가는 혹은 그 객체가 생성되고 소멸되는 일련의 작업들에 대해 컨트롤한다. 1. 이벤트가 사용되는 경우1) 컨텍스트가 초기화되는 경우2) 세션이 생기거나 소멸되는 경우3) 속성이 바뀌는 경우--> 이런 이벤트에 대해서 미리 web.xml 파..
서블릿 필터 서블릿은 웹에서 실행되는 프로그램이기 때문에 네트워크 통신의 사이 사이에서 특별한 동작을 만들어 낼 수 있다.예를 들면, 홈페이지에 접속하기 직전에 이벤트 창을 띄운다든지 아니면 데이터를 입력한 후 실제 저장하는 페이지로 넘어가지 전에 넘겨지는 데이터들에 대하여 한글 처리를 한다든지 등의 작업을 할 수 있다.또한, 세션이 만들어지거나 삭제될 때 이것을 감지하는 작업도 할 수 있다.이렇게 여러가지 동작에 있어서 사이 사이에 끼워져서 실행되는 서블릿의 클래스를 필터라 부르고 동작이 발생할 때 감지하는 것을 이벤트라 부른다. 1. 서블릿 필터 필터는 말 그대로 여과 기능을 수행한다. 웹 프로그램에서도 하나의 페이지에서 다른 페이지로 전달되는 데이터가 필터를 지나 가공되거나 걸러지게 된다.일반적으로..
서블릿 기초 -HttpServlet을 상속받는 클래스는 doGet() 메소드를 오버라이딩할 수 있기 때문에 이 클래스는 서블릿으로 동작할 수 있게된다. 1. 서블릿 기본1 서블릿 규약에 따라 자바 코드를 작성한다.2 자바 코드를 컴파일해서 클래스 파일을 생성한다.3 클래스 파일을 /WEB-INF/classes 디렉토리에 패키지에 알맞게 위치시킨다.4 web.xml 파일에 서블릿 클래스를 설정한다.(필요한 경우 진행)5 톰캣 등의 컨테이러를 재실행한다.(서블릿 리로딩 기능이 있는 경우 생략)6 웹 브라우저에서 확인한다. MVC 패턴을 지원하는 서블릿 코드를 직접 구현하지 않더라도 서블릿 자체에 대해서 이해하는 것은 웹 개발을 하는데 있어서 중요한 부분이다.HttpServlet 클래스는 서블릿 규약에 포함된..
데이터 저장 영역 서블릿에서는 데이터를 저장하는 영역으로 페이지 객체, 요청 객체, 세션 객체, 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..