Web/기초 (13) 썸네일형 리스트형 [WEB] Scope Application Scope웹 어플리케이션이 시작되고 종료될 때까지 변수를 사용할 수 있다.ServletContext 인터페이스를 구현한 객체를 사용한다.jsp에서는 application 내장 객체를 이용한다.서블릿의 경우는 getServletContext() 메소드를 이용하여 application 객체를 이용한다.웹 어플리케이션 하나당 하나의 application 객체가 사용된다.값을 저장할 때는 application 객체의 setAttribute() 메소드를 사용한다.값을 읽어들일 때는 applicatoin 객체의 getAttribute() 메소드를 사용한다.모든 클라이언트가 공통으로 사용해야 할 값들이 있을 때 사용한다. Session Scope웹 브라우저별로 변수를 관리하고자 할 경우 사용한다.. [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 - .. [WEB] Request, Response 요청과 응답웹 브라우저에 URL을 입력하고 엔터를 누르게 되면, 웹 브라우저는 도메인과 포트번호를 이용해서 서버에 접속하며, 요청 정보를 서버에 전송한다.WAS는 웹 브라우저로부터 Servlet 요청을 받으면, 다음과 같은 일을 한다.요청할 때 가지고 있는 정보를 HttpServletRequest 객체를 생성하여 저장.웹 브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse 객체를 생성.생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달. HttpServletRequest클라이언트가 서버에게 보낸 요청을 추상화한 객체로, HTTP 프로토콜의 request 정보를 서블릿에게 전달하기 위한 목적으로 사용한다.헤더정보, 파라미터, 쿠.. [WEB] Servlet 생명주기 Servlet의 생명주기WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인한다.메모리에 없다면, 해당 서블릿 클래스를 메모리에 올리고, init() 메서드를 실행한다.메모리에 있다면, service() 메서드를 실행한다.WAS가 종료되거나, 웹 어플리케이션이 새롭게 갱신될 경우 destroy() 메서드가 실행된다. 참고 코드1234567891011121314151617181920@WebServlet("/LifeCycleServlet")public class LifeCycleServlet extends HttpServlet { private static final long serialVersionUID = 1L; public LifeCycleServlet() { System.out.print.. [WEB] Servlet Java Web ApplicationWAS에 설치되어 동작하는 어플리케이션. 자바 웹 어플리케이션에는 HTML, CSS, 이미지, Java로 작성된 Class(Servlet, package, interface 등), 각종 설정 파일 등이 포함된다. Servlet이란?Java Web Application의 구성요소 중 동적인 처리를 하는 프로그램의 역할을 한다.WAS에서 동작하는 Java Class로 HttpServlet을 상속받아야 한다.웹 페이지를 구성하는 화면(HTML)은 JSP로 표현하고, 복잡한 프로그래밍은 Servlet으로 구현한다.URL요청을 처리하는 프로그램이다. Servlet 작성방법1. Servlet 3.0 이상web.xml 파일을 사용하지 않고, Java Annotation을 사용한다... [WEB] Apache Tomcat Apache Tomcat이란?아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 개발한 세계에서 가장 많이 사용되는 WAS(Web Application Server)이다.컴퓨터에 운영체제를 설치해야만 컴퓨터를 사용할 수 있는 것처럼, Java를 이용하여 작성된 웹 어플리케이션은 WAS가 있어야만 실행할 수 있다.오픈소스 소프트웨어로 누구나 무료로 사용할 수 있다. Apache Tomcat 다운로드 및 실행http://tomcat.apache.org의 Download 탭에서 원하는 버전을 다운로드 받을 수 있다.설치 폴더 아래에 있는 bin 폴더를 보면 start.bat의 윈도우용 배치파일과 start.sh의 쉘스크립트 파일을 확인할 수 있다.Windows의 경우 .bat.. [WEB] WAS 클라이언트/서버 구조클라이언트는 서비스를 제공하는 서버에게 정보를 요청하여 응답받은 결과를 사용한다.웹 서버와 웹 브라우저가 대표적인 클라이언트/서버 구조에 해당한다. DBMS(Database Management System)다수의 사용자들이 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어이다.ex) MySQL, MariaDB, Oracle, PostgreSQL 등 미들웨어(MiddleWare)클라이언트와 DBMS사이에 또 다른 서버를 하나 더 두는 방식이다.클라이언트는 단순히 중앙에 있는 서버로 요청만 보내고, 미들웨어에서 대부분의 로직을 수행한다.이 때, 데이터를 조작할 일이 있으면 DBMS에 요청하며, 클라이언트는 그 결과를 받아 화면에 보여준다.단순히 클라이언트와 서버만으로 이루어진.. [WEB] 웹 서버 웹 서버란?웹 서버는 소프트웨어 또는 웹서버 소프트웨어가 동작하는 컴퓨터를 말한다.웹 서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML문서나 각종 리소스를 전달하는 것이다.웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장되어 있는 정적인 데이터이거나 동적인 결과일 수 있다. 웹 서버와 웹 브라우저 간의 통신웹브라우저와 웹서버 간에는 보통 HTTP를 통해서 통신을 한다.※ 주요 흐름1. 웹 서버는 사용자가 요청한 HTML문서를 웹 브라우저에게 전달한다.2. 웹 브라우저는 웹 서버로부터 전송받은 HTML문서를 읽어들인 후에 해석을 한다.3. HTML문서를 알맞게 보여주기 위해서 필요한 리소스들에 대해서 URL을 추출해낸다.4. 웹 서버에게 동시에 여러 개의 리소스를 요청하게 된다.5. 웹 서.. 이전 1 2 다음 목록 더보기