목록Programming/Servlet & JSP (8)
헬린코린이
필터는 말 그대로 클라이언트의 요청을 선처리하거나 서버의 자원을 가공하여 보내주는 역할을 한다. 이런 필터는 web.xml에 선언되어 계속해서 만들어지는 것이 아닌 한 번 만들어진 클래스가 계속해서 재사용 되는 아주 뛰어난 성능을 가지고 있다. 가장 많이 만나는 UTF-8 필터를 보겠습니다. package controller; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax..
리스너 샘플 데이터를 세팅할떄 많이 활용합니다 서블릿을 상속받은 클래스 != POJO 톰캣 등의 서블릿 컨테이너의 사용 등을 모니터링(감지) 가능합니다. package test; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; @WebListener public class MemberListener implements ServletContextListener { public MemberListener() {} public void contextDestro..
스크립트 요소가 많아지면 많아질수록 JSP코드는 복잡해진다. 이러한 문제점을 해결하기 위해서 JSP가 기본적으로 제공하는 액션태그, JSTL이 제공하는 태그, 스크립트 코드,EL을 통해 기능을 구현했다. 원하는 목적에 맞게 작성한 태그를 '커스텀태그'라고 합니다. 커스텀 태그의 장점은 - 재사용성 향상 : 한 번 작성한 커스텀 태그는 어떤 JSP 컨테이너에서든지 사용 가능하다. - 쉽고 단순한 JSP제작 : 자바 코드에 익숙하지 않은 개발자들도 커스텀 태그를 통해서 쉡게 jsp페이지를 작성할 수 있게 된다. - 코드의 가독성 향상 : 커스텀 태그는 뚜렷한 목적을 갖고 있고 커스텀 태그를 사용하면 스크립트 코드를 줄일 수 있지 때문에 jsp코드의 가독성을 높일 수 있습니다. 태그는 이렇게 페이지지시어로 작..
JSTL이란 JSTL + EL의 조합을 말합니다. HTML에서 자바의 코드를 빼기위해 사용합니다. JSTL을 쓰지 않고 스크립틀릿을 많이 사용했지만 가독성이 떨어지고 뷰와 비즈니스로직의 분리로 인해 현재 JSTL을 많이 사용하는 추세입니다. JSTL 정식 명칭은 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library)라고 합니다. JSP 페이지 내에서 자바 코드를 사용하지 않고 로직을 내장하는 효율적인 방법을 제공합니다. 표준화된 테그 셋을 사용하여 자바 코드가 들락거리는 것보다 더 코드의 유지보수와 응용 소프트웨어 코드와 사용자 인터페이스 간의 관심사의 분리로 이어지게 합니다. JSTL은 라이브러리이기때문에 .jar를 넣어줘야하고 JSP페이지에 페이지 ..
먼저 가볍게 MVC 패턴을 설명하자면 소프트웨어 공학도에서 사용하는 디자인 패턴 중 하나로 Model, View, Controller의 앞 글자를 따서 만든 디자인 패턴입니다. Model : 백그라운드에서 동작하며, 사용자가 원하는 데이터나 정보를 제공합니다. View : 사용자의 요청을 화면으로 출력합니다. Controller: 사용자의 요청을 처리하고, 그 요청에 따른 전체적인 흐름을 제어합니다. 사용자는 얻고자 하는 정보나 기능을 컨트롤러에게 요청합니다. 컨트롤러는 사용자의 요청을 수신하고 그에 맞는 비즈니스 로직을 수행합니다. 비즈니스 로직을 수행하면서 컨트롤러는 필요에 따라 모델을 호출하여 데이터를 요청합니다. 요청을 모두 처리하면 뷰를 통해 사용자가 원하는 정보를 시작적으로 보여줍니다. MVC..
내장객체란 JSP가 서블릿 형태로 자동 변환된 코드 내에 자동으로 포함되어 있는 멤버변수, 메서드 매개변수 등의 각종 참조 변수들을 말한다. 쉽게 말하면 JSP 내에서 선언하지 않고 사용할 수 있는 객체이다. 내장객체들은 특정 클래스에 대한 인스턴스 형태로서, 컨테이너를 통해서 초기화되고 다양한 기능과 정보들을 제공한다. 그렇다면 어떻게 선언하지 않고 사용할 수 있는 것인지 궁금할 것이다. 이유는 작성된 JSP 코드는 서블릿으로 변환된 후 모두 _jspService() 메서드 안으로 들어가기 때문에 메서드 매개변수인 request, response와 지역변수로 선언된 pageContext, application, page, config, out 등은 모두 내장객체가 된다. 해당 내장객체들은 _jspSer..
JSP란 JavaServer Pages의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다. JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동장되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. JSP 실행 순서 1. 클라이언트가 어떤 동작을 함으로써 hello.jsp를 요청하였다. 2. JSP 컨테이너가 JSP 파일을 읽는다. 3. JSP 컨테이너가 Generete(변환) 작업을 통해 Servlet( .java ) 파일을 생성한다. 4. java 파일은 다시 .class 파일로 컴파일된다. 5. Execute(실행)을 통해 HTML 파일을 생성하여 JSP 컨테이너에게 전달한다. 6...
서블릿을 한 줄로 정의하자면 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술입니다. 쉽게 말해 자바를 사용하여 웹을 만들기 위해 필요한 기술입니다. 특징으로는 - 클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트 - html을 사용하여 요청에 응답한다. - Java Thread를 이용하여 동작한다. - MVC 패턴에서 Controller로 이용된다. - HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다. - UDP보다 처리 속도가 느리다. - HTML 변경 시 Servlet을 재컴파일해야 하는 단점이 있다. html 먼저 보겠습니다. + - x / 가볍게 계산..