본문 바로가기

학원

(182)
[MVC] TLD 파일 / EL 함수 TLD(Tag Library Description) 파일 TLD 파일은 JSP에서 EL 함수 및 커스텀 태그를 선언하기 위한 XML 파일이다. XML 스키마 파일(web-jsptaglibrary_2_0.xsd)에서 제공하는 엘리먼트만 사용해야 한다. 예제) EL 함수를 사용할 경우 호출될 메소드가 선언된 클래스 [HelloEL.java] 작성package xyz.itwill.el; //EL 함수를 사용할 경우 호출될 메소드가 선언된 클래스 public class HelloEL { //EL 함수를 사용할 경우 호출될 메소드는 반드시 static 메소드로 선언 public static String hello(String name) { return name+"님, 안녕하세요."; } } tld 파일 생성하기 ..
[MVC] EL 내장객체 Scope 객체 JSP 내장객체에 따라 속성값을 저장하여 사용할 수 있는 범위를 다르게 설정할 수 있다. 스코프 객체 속성값의 사용범위 : Page Scope, Request Scope, Session Scope, Application Scope Page Scope: 가장 작은 범위의 스코프로, 해당 JSP 페이지에서만 유효하다. 페이지 내에서 선언된 변수는 해당 페이지 내에서만 접근 가능하다. 다른 JSP 페이지에서는 접근할 수 없다. JSP 페이지가 처리되는 동안 유지되며, 페이지가 렌더링되고 응답이 전송되면 소멸된다. Request Scope: 요청이 들어온 서블릿에서 JSP 페이지로 전달되는 동안 유지되는 스코프이다, 같은 요청 범위에서 서블릿과 JSP 페이지 간에 데이터를 공유할 수 있다. 하나..
[MVC] EL 연산자에서의 [] 사용 EL 연산자에서 []를 사용해야만 하는 경우가 존재한다. 1번째 이유 : 배열이나 list에서 첨자를 표현하기 위해 사용 예시) [string_array.jsp] nameArray 배열 선언 [string_array_el.jsp] 스코프 객체의 속성값이 배열인 경우 배열 요소값을 제공받아 출력하기 위해 첨자를 사용하는데, EL 표현식에서 . 연산자로 첨자를 사용하여 표현하면 ELException이 발생하기 때문에 EL 표현식에서는 . 연산자를 사용할 수 없다.${nameArray.0 } EL 표현식에서는 . 연산자 대신 [] 연산자를 사용하면 된다.${nameArray["0"] } 첨자는 " " 기호 생략이 가능하다${nameArray[0]} EL 표현식에서 배열의 첨자가 범위를 벗어난 경우 EL이 실행..
[MVC] EL(expression Language) EL(expression Language) EL은 스코프(Scope) 객체의 속성값으로 저장된 객체를 제공받아 출력하기 위한 언어이다. EL 표현식으로 스코프 객체의 속성명을 사용하면 속성값을 제공받아 출력 처리 할 수 있다. EL 표현식)${속성명} 예시1) [basic_string.jsp] pageContext.setAttribute(String attributeName, Object attributeValue) : pageContext 내장객체에 속성명(문자열)과 속성값(객체)를 전달받아 저장하는 메소드 - page Scope pageContext.getAttribute(String attributeName) : pageContext 내장 객체에 저장된 스코프 속성값을 속성명을 이용하여 객체로 반환..
[MVC] MVC 컨트롤러 (Map 객체 / load-on-startup 엘리먼트 / properties 파일) Controller에서 나눠서 원하는 클래스를 호출해주는 작업을 할 때, if문을 사용하지 않고 Map 객체를 이용하면 속도도 향상시킬 수 있고, 가독성이 더 좋아진다. 기존 ControllerServlet 코드 package xyz.itwill.mvc; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //@WebServlet("*.do") public class ControllerServlet ext..
[MVC] Model2 모델2 구현하기 1. 클라이언트의 모든 요청을 받을 수 있도록 서블릿을 설정하여 단일 진입점의 기능을 구현한다. (이를 Front Controller Pattern이라고 부른다.) 기능이 많아지면 servlet 개수가 많아지고 길어지는 문제가 발생하기 때문에 모든 요청을 한 곳에 받아오고 하나의 컨트롤러로 다시 처리로 보내주는 Front-Controller 패턴을 이용한다. 컨트롤러(Controller - Servlet) : 클라이언트에게 모든 요청을 받아 모델(Model - Class) 역할의 객체로 요청 처리 메소드를 호출하여 클라이언트의 요청을 처리하고 처리결과를 뷰(View - JSP)로 전달하여 응답되도록 프로그램의 흐름을 제공하는 웹프로그램 Front Controller Pattern 소프트웨..
[MVC] MVC Model1 / MVC Model2 MVC(Mode-View-Controller) MVC(Mode-View-Controller)는 소프트웨어 디자인 패턴 중 하나로, 사용자 인터페이스와 비즈니스 로직을 분리하여 애플리케이션을 구성하는 방법을 제공한다. MVC 패턴은 애플리케이션의 유지보수성, 확장성 및 재사용성을 향상시키는 데 도움이 되는 구조를 제공한다. MVC 구성요소 Model(모델) : 애플리케이션의 데이터와 비즈니스 로직을 담당한다. 모델은 데이터를 관리하고 업데이트하며, 변경 사항을 뷰와 컨트롤러에 알린다. 데이터베이스, 파일 또는 외부 서비스와 같은 데이터 저장소와 상호작용한다. View(뷰): 모델의 데이터를 시각적으로 표현하는 역할을 담당한다. 사용자 인터페이스를 구성하고, 모델의 데이터를 표시하며, 사용자 입력을 처리하는..
[AJAX] RSS 서비스 활용하기 RSS(Really Simple Syndication 또는 Rich Site Summary) : 블로그, 뉴스, 기업정보 등과 같이 자주 업데이트 되는 사이트의 컨텐츠를 보다 쉽게 사용자에게 제공하기 위한 만들어진 서비스 예시로 경향신문의 스포츠 부문을 이용했다 (https://www.khan.co.kr/rss/rssdata/kh_sports.xml) 원하는 서비스 링크 복사해서 사용하면 된다 RSS 서비스를 제공하는 웹프로그램을 AJAX 기능으로 요청하여 실행결과를 응답받아 클라이언트에게 전달하여 응답하는 JSP 문서를 만들어보자. 하지만 현재 실행중인 웹프로그램과 동일한 서버의 웹프로그램은 AJAX 기능으로 요청하여 실행결과를 응답받아 처리 가능하지만 다른 서버의 웹프로그램을 AJAX 기능으로 요청할..