본문 바로가기

분류 전체보기

(124)
[WEB] Servlet & JSP 연동 Servlet & JSP 연동서블릿과 JSP는 상호 보완적인 관계를 가지고 있다.서블릿은 로직을 구현하기에 알맞지만, HTML을 출력하기엔 불편하다. (JAVA파일이기 때문에 로직 구현이 쉬움. HTML 출력을 위해서는 out.print를 이용해야 하는 불편함이 있음.)JSP는 로직을 구현하는 것은 불편하지만, HTML을 출력하기엔 편리하다. (로직 구현은 스크립틀릿이나 선언문을 이용해야 함. HTML은 태그 이용해서 쉽게 입력 가능.)이러한 서블릿과 JSP를 잘 사용하기 위해 Servlet에서 프로그램 로직을 수행하고, 그 결과를 JSP에 포워딩하는 방법이 사용되게 되었다. 이를 Servlet과 JSP의 연동이라고 한다.- LogicServlet 12345678910111213141516171819@W..
[WEB] forward forwardWAS의 서블릿이나 JSP가 요청을 받은 후 그 요청을 처리하다가, 추가적인 처리를 같은 웹 어플리케이션 안에 포함된 다른 서블릿이나 JSP에게 위임하는경우가 있는데, 이를 포워드라고 한다. Servlet1에서 처리한 결과를 Servlet2에서도 써야 한다면, 반드시 이 결과를 request 객체에 저장을 해놔야 한다.1. 웹 브라우저에서 Servlet1에게 요청을 보낸다. 2. Servlet1은 요청을 처리한 후, 그 결과를 HttpServletRequest에 저장한다.3. Servlet1은 결과가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를 같은 웹 어플리케이션 안에 있는 Servlet2에게 전송한다.(forward)4. Servlet2는 ..
[WEB] redirect redirect∎ 리다이렉트는 http 프로토콜로 정해진 규칙이다.∎ 서버는 클라이언트로부터 요청을 받은 후, 클라이언트에게 특정 URL로 이동하라고 요청할 수 있는데, 이를 리다이렉트라고 한다.∎ 서버에서는 클라이언트에게 응답으로 상태코드 302와 함께 이동할 URL 정보를 Location 헤더에 담아 전송한다. 클라이언트는 서버로부터 받은 상태값이 302이면 Location 헤더 값으로 재요청을 보내게 된다. 이 때, 브라우저의 주소창은 전송받은 URL로 바뀌게 된다.∎ 서블릿이나 jsp는 redirect하기 위해서 HttpServletResponse가 가지고 있는 sendRedirect()메소드를 사용한다. - redirect01.jsp1234 Colored by Color Scriptercs - ..
[JSP] JSP 내장객체 JSP 내장객체 JSP를 실행하면 서블릿 소스가 생성되고 실행된다. JSP에 입력한 대부분의 코드는 생성되는 서블릿 소스의 _jspService() 메소드 안에 삽입되는 코드로 생성된다. _jspService()에 삽입된 코드의 윗부분에 미리 선언된 객체들이 있는데, 해당 객체들은 JSP에서도 사용이 가능하다. 이러한 변수를 JSP 내장객체라고 하며, response, request, application, session, out 등이 있다. 일반적인 Java 프로그램에서는 변수를 사용하기 전에 반드시 선언을 해야 하지만, WAS가 JSP를 Servlet으로 변환할 때 자동적으로 변수 선언을 해주기 때문에 변수 선언 없이 그냥 사용만 하면 된다. 내장객체의 종류 내장 객체(참조 변수 이름) 자바 클래스 ..
[JSP] JSP 문법 JSP 스크립트 요소1. 선언문(Declaration) 전역변수 선언 및 메소드 선언에 사용되며, _jspService() 내부가 아닌 필드에 선언된다.1234567id : Colored by Color Scriptercs 2. 스크립틀릿(Scriptlet) 일반적으로 가장 많이 쓰이는 스크립트 요소로, 주로 프로그래밍의 로직을 기술할 때 사용한다.스크립틀릿에서 선언된 변수는 지역변수이다.123456789
[JSP] JSP 개요 JSP(Java Server Page)란?HTML 내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다.실행 시에 자바 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있다.하지만, 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인에 편리하다. JSP 개발배경1998년 마이크로소프트에서 ASP(Active Server Page)라는 웹을 쉽게 개발할 수 있는 스크립트 엔진을 발표하였다.1997년에 발표되었던 서블릿은 ASP에 비하여 상대적으로 개발방식이 불편하였고, 이에 대항하기 위해1999년 썬마이크로시스템즈에서 JSP를 발표하였다. JSP는 실제 서블릿 기술을 사용한다. JSP 라이프 싸이클WAS는 웹 브라우저로부터 JSP에 대..
[JavaScript] JavaScript Debugging JavaScript Debugging자바스크립트는 실행단계(런타임)에서 버그가 발견된다.크롬 개발자도구 - Sources 탭에는 다음과 같은 디버깅 컨트롤 버튼이 있다.(1)디버깅 컨트롤 버튼 아래 부분에는 해당 라인에 대한 자세한 정보들이 보여진다.Break Point를 건 후 디버깅은 물론, Console에서 해당 변수에 대한 정보를 얻을 수도 있다.(2) - Pause / Continue script execution 첫 번째 버튼은 평소에는 Pause 상태인데, Break Point가 잡힌 상태이면 Continue 버튼이 된다. 다른 Break Point가 잡힐 때까지 코드를 진행한다. - Step over next function call 코드 라인을 한 스텝 진행하는데, 현재 실행 라인에 함수..
[JavaScript] Ajax AJAX (XMLHTTPRequest 통신)Asynchronous JavaScript and XML의 약자로 비동기적인 웹 애플리케이션의 제작을 위한 웹 개발 기법이다.비동기적으로 화면의 다른 요소에 영향을 주지 않고 데이터를 서버에서 가지고 오는 방법으로, 더 좋은 UX를 제공할 수 있는 기술이다.Ajax는 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있다.즉, Ajax를 이용하면 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표시할 수 있다.이 때, 서버와는 다음과 같은 형태의 데이터를 주고받을 수 있다.- JSON- XML- HTML- text file 등 JSON(JavaScript Object Notation)Ajax를 위한 대표적인 포맷으..
[JavaScript] Event Event브라우저에는 많은 이벤트가 발생한다.브라우저 화면의 크기를 마우스로 조절할 때도, 스크롤을 할 때도, 마우스로 이동하거나 무언가를 선택할 때도 이벤트가 발생한다.HTML 요소 별로 어떤 이벤트가 발생했을 때, 특정 행위를 하고 싶다면, 대상 요소를 찾고 행위를 등록하면 된다.이를 자바스크립트로 구현할 수 있다. Event 등록이벤트 등록 표준방법으로, addEventListener 메서드를 사용할 수 있다.12345var el = document.getElementById("outside"); el.addEventListener("click", function(e) { console.log("clicked!", e);}, false);Colored by Color ScriptercsaddEven..
[JavaScript] DOM(querySelector) DOM(Document Object Model)브라우저에서는 HTML코드를 DOM이라는 객체 형태의 모델로 저장한다.그렇게 저장된 정보를 DOM Tree라고 하며, 결국 HTML element는 Tree형태로 저장된다. 브라우저 동작 방식 - HTML Parserhttps://hhlin.tistory.com/4?category=764229 복잡한 DOM Tree를 탐색하기 위해 JavaScript로 탐색 알고리즘을 구현하는 것은 너무 복잡하다.그렇기 때문에 브라우저에서는 DOM이라는 개념을 통해, 다양한 DOM API(함수묶음정도)를 제공하고 있다.브라우저는 DOM Tree를 찾고 조작하는 것을 쉽게 도와주는 여러가지 메서드(DOM API)를 제공한다. DOM Treedocument : html의 최상위..