EL(Expression Language)의 장점 1. 데이터 접근이 편리 ▶ Bean의 property접근 ▶ 집합객체(collection object)의 원소를 접근▶ Request의 parameter, cookie등을 접근하기 편리 2. 간단하지만 유용한 연산자 제공 3. 조건문을 사용한 출력 4. 자동 형변화 (type conversion) 5. 값이 없는 경우 자동으로 공백 문자열을 출력 EL(Expression Language)의 사용법 ${변수명} ▶ PageContext, Request, session, ServletContext 순으로 '변수면'에 해당하는 객체를 찾아서 그 값을 사용 ${varname}의 동일한 효과 ▶ ▶
RequestDispatcher 에는 두개의 메소드, forward()와 include()만 있는데 둘다 Request와 Response 객체를 인자로 한다.(작업을 받은 컴포넌트와 작업을 하려면 이 두 객체가 필요하기떄문). RequestDispatcher를 얻는 방법은 두가지가 있는 데 첫 번째가 Request고 다른하나는 컨텍스트이다. 둘중 어느 객체로부터 리턴을 받든지 간에 Request를 넘길 웹 컴포넌트가 무엇이다라는 것을 알려주어야 한다. ServletRequest로부터 RequestDispatcher를 리턴받는경우 RequestDispatcher view = request. getRequestDispatcher("result.jsp"); ServletRequest의 getRequestDis..
JSP와 Servlet의 차이Servlet(Sever + Applet) servlet은 톰켓 위에서 동작하는 java프로그램입니다. java언어를 기반으로 동적인 contents를 생성하는 기술입니다. 밑의 그림은 서블릿 초기화하는 과정입니다. 톰켓과 같은 WAS가 java파일을 컴파일해서 Class로 만들고 메모리에 올려 Servlet객체를 만들게 되고 이 Servlet 객체는 doPost, doGet을 통해 요청에 응답합니다. 초기화 과정을 더 자세히 보면 아래와 같습니다. Init : 서블릿이 메모리에 로드 될 때 실행됩니다.Service : HTTP Method 타입에 따라 doGet 혹은 doPost를 호출합니다.destory : 언로드되기 전에 수행되는 callback입니다. 중요한 것은 초기..
JAVA_BEAN자바 빈즈는 JSP 페이지의 로직 부분을 분리해서 코드를 재사용함으로 프로그램의 효율을 높이기 위해 사용한다. 프로그램의 모듈화는 코드를 재사용하므로 프로그램의 작성기간이 단축되고, 이미 사용되던 코드이므로 안정성이 보장되며 유지/보수가 쉽다. MVC 패턴에서 자바 빈은 프로그램 로직을 소유할 수 있고 DB와 연동해서 작업을 처리한다. JAVA_BEAN 작성 JAVA_BEAN은 데이터를 표현하는 것을 목적으로 하는 JAVA Class다. 컴포턴트와 비슷한 의미로 사용되기도 한다. JAVA_BEAN작성 규격 반드시 클래스(빈)은 패키지화 하여야한다.맴버변수는 Property라고 부르자.클래스는 필요에 따라 직렬화 할 수 있다.Property의 접근제어자는 private이다.Property마..
web.xml 파일을 통한 에러 페이지 지정 Servlet 또는 JSP에서 catch 하지 않은 Exception 또는 HTTP Error를 처리할 페이지를 지정함web.xml 페이지를 이용하여 에러 페이지를 지정할 수 있음. $CATALINA_HOME/conf/web.xml은Tomcat 서버전체에대한에러페이지설정가능 - 에러페이지(location)는webapps/ROOT를기준으로경로지정 ContextRoot/WEB-INF/web.xml은응용별로에러페이지설정가능 - 에러페이지는ContextRoot를기준으로경로지정 실습 필요 사항 : 1. generror.jsp2. process_error.jsp 3. ContextRoot/WEB-LNF/web.xml generror.jsp 123456789101112..
Servletservlet이란 서버에서 실행되는 작은 프로그램에서 웹 페이지와 함께 별도의 파일로 보내지는 작은 프로그램인 자바 애플릿의 맥락으로 만들어진 것이다. 자바 애플릿들은 사용자를 위해 간단한 계산업무를 수행하거나 사용자의 반응에 기반하여 이미지를 위치시키는 등과 같은 서비스를 위해 대개 클라이언트에서 실행되도록 만들어진다. - 웹서버에서 실행되는 자바클래스(웹 어플리케이션에서 실행되는 작은 프로그램)- main()를 가지고 있지 않으며, 대신 service()가 호출된다. => 두 개의 파라미터를 받아들인다. ( request, response ) - 클라이언트의 요청을 받고 클라이언트에 응답을 할 수 있다. -서블릿 요청과 응답과정 1. 클라이언트의 서비스 요청 -> 객체 생성 유무 파악 C..
"starting tomcat v7.0 server at localhost has encountered a problem" 해결 방법 1. 일단 detail을 보면 already use port number이라고 나올 것이다. 즉, 다른 곳에서 tomcat의 기본 포트 번호인 localhost:8080 을 다른 곳에서 뺏아간 것이다. 아마 oracle을 같이 쓰고 있는 사용자일 것이다. 지금의 내가 그렇다.. 그러므로 우리는 기본 포트 번호에서 다른 포트번호로 바꿔주는 것이 현명하다. 과정 : tomcat ->conf -> server.xml로 들어감 이 부분에서 8080은 기본 tomcat port number인데 이 번호를 자기가 원하는 번호로 바꾸어 준다. 전 그냥 default값인 80번 포트로 ..
[Servlet] User-Agent로 웹브라우저 종류 판단 웹브라우저 종류의 판단하기위해선 User-Agent 필드를 이용하면 클라이언트의 웹브라우저 종류를 알 수 있다. 사용 시기 : 웹브라우저에 따라 별개의 처리가 필요한 경우에만 사용한다. 저는 일단 Chrome을 웹브라우저로 사용하고 있기 때문에 Chrome을 사용한다고 식별된다면 http://www.google.com로 가도록 설정해 보았습니다. package pknu.it; import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import..
200(ok)▶정상 수행 204(No content)▶응답으로 보내지는 Content가 없으며 브라우저는 이전 페이지를 계속 유지해야함301(Moved Permanently)▶ 요청된 URL의 문서는 영구적으로 이전 되었음을 나타냄302(Found)▶ 요청된 URL의 문서가 임시로 이전되었음을 나타내며 브라우저는 새로운 위치로 자동 전환됨 401(Unauthorized)▶ 주어진 URL을 방문하 권한이 없음을 나타냄404(Not Found)▶ 주어진 URL에 해당하는 페이지가 존재하지 않음 URL이란? ▶ URL (uniform resource locator)은 인터넷상에서 서비스되고 있는 특정자원의 정확한 위치를 표시하기 위한 표준규약을 의미하며 형식은 아래와 같습니다. 프로토콜(Protocol)://..
자바스크립트객체지향 프로그래밍을 지원하는 인터프리터 언어 타입 제약이 약한 언어(변수 타입을 명시할 필요 없음) 상속 메커니즘 : 프로토타입(prototype) 기반 코어 자바스크립트기본 데이터 타입(숫자,문자열,불리언)와 객체(배열,날짜,정규 표현식) 지원 다양한 객체들로 확장되어 사용자와 상호작용, 웹 브라우저를 제어, 웹 브라우저 창의 문서 내용을 변경하는 것을 지원 국제적인 표준화가 진행 중 여러 자바스크립트 언어 구현 간에 호환성이 매우 좋음 클라이언트 측 자바스크립트웹 서버에 의해 실행되는 것이 아니라 클라이언트 컴퓨터에 의해 실행 표준화/업계 표준/특정 브라우저의 확장판 존재 자바스크립트는 자바가 아니다문법이 약간 닮은 것과 둘다 웹 브라우저에서 실행될 수 있는것 외에 두 언어는 관련이 없음..