본문 바로가기

servlet5

EL(Expression Language)과 JSTL(JSP Standard Tag Library) EL(Expression Language)이란? Expression Language(표현 언어)는 값을 표현하는 데 사용되는 스크립트 언어로, JSP의 기본 문법을 보완하는 역할을 한다. JSP에는 Java 코드와 markup 요소들이 섞여있다. 그러다보니 프론트엔드 개발자, 디자이너들도 쉽게 볼 수 있는 코드에 대한 needs가 있었고, 프론트엔드와 백엔드 사이에 어떻게 하면 효율적으로 일들을 나눌 수 있을 것인가라는 고민이 있었다.이를 위해 Java 코드보다 더 간단하고 직관적으로 사용할 수 있는 형태로 나온 것이 EL이다. EL이 제공하는 기능들은 다음과 같다.JSP의 스코프(scope)에 맞는 속성 사용 각 scope의 변수들을 손쉽게 사용할 수 있다.(Framework에서 제공하는)집합 객체에 .. 2018. 7. 1.
Servlet & JSP의 4가지 Scope Servlet과 JSP를 개발하다보면 변수를 많이 다루게 된다. 변수를 어떤 범위 내에서 사용하기 위해서는 스코프(scope)라는 것에 대해서 알아야 한다. 위의 그림처럼, Servlet과 JSP에서는 Page, Request, Session, Application의 4가지 Scope이 있다. 1) (JSP) Page scope실제 선언된 JSP 페이지 내에서만 사용할 수 있는 것. 페이지 내에서 지역변수처럼 사용. PageContext 추상 클래스를 사용한다. JSP 페이지에서 pageContext라는 내장 객체(Implicit Object)로 사용 가능하다. 다른 것 필요 없이, pageContext이름.setAttribute(), pageContext이름.getAttribute() 등의 방법으로 바.. 2018. 7. 1.
Forward, 그리고 Servlet & JSP의 연동 Forward란? 1. 웹 브라우저에서 Servlet1에게 요청을 보냄2. Servlet1은 요청을 처리한 후, 그 결과값을 HttpServletRequest에 저장. (Servlet1이 모든 일을 혼자 처리하지 않는다)3. Servlet1은 결과가 저장된 HttpServletRequest와, 응답을 위한 HttpServletResponse를 같은 웹 어플리케이션 안에 있는 Servlet2에게 넘겨준다 (⇒ forward)4. Servlet2는 Servlet1으로 부터 받은 HttpServletRequest와 HttpServletResponse를 이용하여 요청을 처리한 후, 웹 브라우저에게 결과를 전송물론 여기서 forward를 꼭 Servlet과 Servlet 사이에서만 할 수 있는 것은 아니다! 뒤에.. 2018. 6. 30.
JSP 기초 선언문(Declaration) - - 선언문은 JSP 페이지 내에서 필요한 멤버변수나 메소드가 필요할 때 선언해 사용하는 요소 스크립트릿(Scriptlet) - - 가장 일반적으로 많이 쓰이는 스크립트 요소 - 주로 프로그래밍의 로직을 기술할 때 사용 - Scriptlet에서 선언된 변수는 지역변수 - Scriptlet 안에 있는 것들은 출력 결과에는 포함되지 않는다. 표현식(Expression) - - JSP 페이지에서 웹 브라우저에 출력할 부분을 표현 (즉, 화면에 출력하기 위한 것) - Scriptlet 내에서 출력할 부분은 내장 객체인 out 객체의 print() 또는 println() 메소드를 사용해서 출력 (☚ JSP; 표현식)out.print(total) (☚ Servlet) 서로 같다. J.. 2018. 6. 29.
Servlet 기초 Servlet이란, Java 웹 어플리케이션의 구성요소 중, 동적인 처리를 하는 프로그램의 역할을 한다. 즉 Servlet은 - WAS에서 동작하는 Java 클래스이다. - HttpServlet 클래스를 상속받아야 한다. - 웹 페이지를 개발할 때 Servlet과 JSP를 조화롭게 사용하여 최상의 결과를 얻을 수 있다. Servlet 작성 방법 @WebServlet("/LifecycleServlet")public class LifecycleServlet extends HttpServlet { private static final long serialVersionUID = 1L; // Constructor: 해당 서블릿 클래스를 메모리에 올림 public LifecycleServlet() { // Syst.. 2018. 6. 29.