-
[헤드퍼스트 Servlet&JSP] 7-3 EL Expression Language 소개개발입문/Servlet&JSP 2017. 2. 19. 11:15
이때까지 JSP: HTML 안에 Java 코드 삽입하는 태그들을 살펴보았습니다. JSP Elementshttp://haloaround.tistory.com/84 JSP to Servlethttp://haloaround.tistory.com/85 하지만 2가지 문제가 있습니다. 1) 웹 페이지 디자이너가 자바를 알 필요까지는 없지 않을까요? 2) JSP 안에 있는 자바 코드는 유지보수하기가 까다롭습니다. 그래서 EL 이 등장했습니다!!!(어째.. 헤드퍼스트 말투를 따라가는 듯한 느낌이..) 학습목표 JSP 는 서블릿이 됩니다. 템플릿 텍스트 (HTML) 스크립팅 요소 (Scripting Element)주석, 지시자, 선언문, 스크립틀릿, 표현식 표준 액션 및 커스텀 액션 표현식 언어 EL (Expressi..
-
[헤드퍼스트 Servlet&JSP] 7-2. JSP LifeCycle 및 내장객체 사용개발입문/Servlet&JSP 2017. 2. 18. 12:21
JSP 는 서블릿이 됩니다. 컨테이너는 JSP 파일을 HttpJspPage 인터페이스를 구현한 서블릿 클래스로 변환하여 생성합니다. 그래서 이전에 서블릿에서 할 수 있었던 것을 모두 JSP에서도 할 수 있어야 합니다. (그래야 동일한 역할을 맡길 수 있죠!) 감사하게도 Servlet 에서 사용하던 것들은 JSP로 1:1 대응됩니다. (방식도 살짝만 다릅니다.) 그러니 서블릿이 참조했던 많은 리소스들에도 접근할 수 있어야 합니다.그 외 서블릿 파라미터를 활용해 초기화할 수도 있어야 하고- JSP로 만들어진 서블릿 초기화(jspInit), 파괴(Destory) 할때의 커스텀 소스도 구현할 수 있어야합니다. 학습목표 JSP 는 서블릿이 됩니다. 템플릿 텍스트 (HTML) 스크립팅 요소 (Scripting El..
-
[헤드퍼스트 Servlet&JSP] 7-1. JSP 요소개발입문/Servlet&JSP 2017. 2. 18. 12:12
학습 목표에 완전 생소한 것들 천지다.. ㅜ.ㅜ 이번 HEADFIRST Servlet&JSP 시리즈가 조금 진입의 턱이 높은 듯 하다. 누군가가 각 기술들의 뎁스를 도식화를 해놓는다면 얼마나 좋을까? 내가 더 중요한 것부터 집중할 수 있도록- 학습목표 JSP 는 서블릿이 됩니다. 템플릿 텍스트 (HTML) 스크립팅 요소 (Scripting Element)주석, 지시자, 선언문, 스크립틀릿, 표현식 표준 액션 및 커스텀 액션 표현식 언어 EL (Expression Language) JSP 가 Servlet이 되기까지 JSP란? JSP도 서블릿도 기본적으로는 .java / .class 이다.JSP 코드는 최종적으로 만들어질 서블릿 클래스에서 어떤 역할을 하는가?JSP 의 개별 요소가 생성된 서블릿 소스 코드..
-
Request 속성과 Request 디스패칭개발입문/Servlet&JSP 2017. 2. 16. 00:49
Request Dispatching 이번 한 번의 요청에 대해서만 사용한다면- Request에 속성을 추가하면 됩니다. (Context, Session 처럼 다른 컴포넌트도 사용할 수 있는 곳에- 장기적으로- 공유하지 않습니다.)RequestDispatcher는 Request를 전달한 다른 리소스(컴포넌트)를 가리키는 래퍼 클래스를 반환합니다. 이 래퍼클래스로 request, response를 인자로 가지는 forward 메소드를 호출합니다. 이를 통해 실제 response 작업을 RequestDispatcher로 위임합니다.RequestDispatcher는 아래 기능을 할 래퍼클래스를 지정해준다.- 다른 서블릿 (다른 서블릿에서 추가작업이 필요한 경우) or - JSP View (웹페이지 출력용) pu..
-
웹애플리케이션 개발: 웹 컴포넌트간 공유하는 속성 범위개발입문/Servlet&JSP 2017. 2. 15. 22:48
속성 vs 파라미터 속성 (Attribute) 파라미터 (Parameter) 타입 Application / context Request Session Application/Context Request Servlet 설정 메소드 setAttribute(String name, Object value) 애플리케이션과 서블릿의 초기화 파라미터 값은 런타임 시 설정 불가 (DD에서 설정가능) 리턴 타입 Object String 참조 메소드 getAttribute(String name) getInitParameter(String name) Attribute각 속성의 접근 범위는 이러한데.. 그래서 각자가 어떻게 쓰이고 있는 것일까? 속성 API 메소드기본적인 게터, 세터 메소드들~Object getAttribute..
-
[헤드퍼스트 Servlet&JSP] 3-2. MVC 진행개발입문/Servlet&JSP 2017. 2. 5. 19:44
1. 브라우저가 컨테이너가 요청을 보냅니다. 2. 컨테이너는 URL이 올바른 서블릿을 호출한 것인지 판단한 다음, 요청을 서블릿으로 넘깁니다.서블릿은 HttpServletRequest, HttpServletResponse 를 인자로 받아 doPOST() 메소드를 실행시킵니다. doPOST() 메소드의 내부 부분을 비즈니스 로직으로 채웁니다. 3. 서블릿은 BeerExpert 에게 도움을 청합니다. (비즈니스 로직을 통해 값을 구합니다.) public ArrayList getBrands (String color) { } 4. BeerExpert 클래스가 값을 리턴합니다. 서블릿은 이 내용을 Request 객체에 기억시켜둡니다. request.setAttribute("styles", result); 5. 서..
-
[헤드퍼스트 Servlet&JSP] 3. 초 간단 미니 MVC 튜토리얼개발입문/Servlet&JSP 2017. 2. 1. 00:42
전 기획자입니다."늘 개발자들이 빌드해주세요. 배포 제가할게요." "커밋했습니다." "푸시가 안되었네요." 등등... 개발자들끼리 여러 개발 상태값이 오가지만, 기획자가 알아들을 수 있는 단 한마디는 요거: "테스트 해주세요." 이다. 역시... 주니어 기획자의 꽃은 테스트!!! (쓸데없이 공들이기) 그리고 괜히 들여다보는 크롬 - 검사, 개발자도구 F12웹 애플리케이션 에러를 마주하면서 왜 이런 값을 뱉어내는 지 보고 싶어서 접했던 도구가 바로 크롬 개발자 도구이다. (개발자들이 CSS 틀어졌을 때 가끔 저 것을 꺼내보던 것이 기억에 남았던 듯하다.) 하지만 내가 볼 수 있는 것은 HTML 코드 뿐. 로직이나 값 계산은 모두 서버에서 이미 처리된 채로 HTML 코드 결과값만 보내준다는 것을 나중에 알았..
-
[헤드퍼스트 Servlet&JSP] 2. 웹어플리케이션 아키텍쳐개발입문/Servlet&JSP 2017. 1. 30. 23:53
학습목표 고차원 웹 어플리케이션 아키텍쳐 뭔가 멋있는 단어 '고차원', '아키텍쳐' 가 2개나 있다.그리고 이어지는 개념들... HeadFirst 노트도 너무 외우지 않아도 되고, 앞으로 하는 것이 무엇인지 적당히 즐기고 넘어가라고 했다... ... Container 컨테이너웹브라우저 - 웹서버 - 컨테이너(java) - 서블릿컨테이너 역할: 통신(커뮤니케이션) 지원, 생명주기(라이프사이클) 관리, 멀티스레딩 지원, 선언적인 보안관리, JSP 지원컨테이너는 URL 만 가지고 어떤 서블릿에 대한 요청인지를 찾아낸다.컨테이너는 Request 와 Response 객체를 생성하여 이에 대한 참조를 서블릿 인자로 넘깁니다. 일반적으로 서블릿은 HttpServlet을 상속받아 브라우저가 요청한 메소드에 따라 호출될..