본문 바로가기

Server Development

(64)
Servlet - ServletContext 앞서 바인딩 파트에서 ServletContext의 바인딩 기능에 대해서 다뤄보았다. ServletContext에는 다양한 기능이 있어 더 알아보려고 한다. 1) Binding 2) 매개변수 설정 기능 3) 파일 입출력 기능 파일 입출력 기능은 생략하고 매개변수 설정기능에 대해서 알아본다. 2) 매개 변수 설정 기능 아래와 같이 xml 파일에 설정하고 싶은 정보를 설정한다. // web.xml menu_member 회원정보 회원조회 회원수정 회원삭제 menu_order 주문조회 주문등록 주문수정 주문취소 Servlet에서는 위에서 설정된 정보를 불러온다. 이때, 이름을 맞춰주는 것이 중요하다. // Servlet ServletContext context = getServletContext(); String..
Servlet - Binding 바인딩 - 정보를 객체에 저장하여 포워딩하거나 사용하기 위한 과정을 의미한다. 그 전 포스트에서 Forwarding에 대해서 알아보았다. 데이터를 다른 서블릿으로 전달을 할때 항상 바인딩이 필요하다. 방법) 1. request.setAttribute("이름", "값"); 2. ServletContext 사용 1. request.setAttribute("이름", "값"); 밑에를 살펴보면, firstServlet에 요청 request가 들어왔다고 가정해보자. 이때, 이 request에 "address" 속성에 "천안시"라는 데이터를 삽입한다. 이 후, 포워딩에 필요한 dispatch 객체 생성후 이동할 서블릿을 설정한다. 다음 서블릿에 데이터를 전달한다. // Servlet1 request.setAttri..
Servlet - Forwarding Forwarding이란 한 서블릿에서 다른 서블릿으로 정보를 전달하는 방식이다. 종류 - Redirect - Refresh - Location - Dispatch 여기서 Dispatch만 알아보려고 한다. 이유는 나머지 방식은 다른 서블릿에 전달하기 위해 client를 거쳐 다음 서블릿으로 전달된다. (Client 요청 -> Servlet1 -> Clint -> Servlet2) Dispatch - Client를 거치지 않고 원하는 데이터를 다른 서블릿으로 전달하는 방식 - 본질적으로는 get 방식으로 전달, 따라서 다음 서블릿에서는 doGet 메서드를 이용해 정보를 전달받는다. 간단하게 처음에 first servlet으로 전달받은 request, response를 그대로 second servlet으로 ..
Servlet - Get, Post Servlet을 이용할때 사용되는 GET, POST 방식에 대해 알아보려고 한다. 우선, 공통적으로 GET, POST는 특정 데이터를 서버에 전달한다. 하지만 방식이 조금 다르다. 일반적으로, 많은 데이터 - POST 이용, 적은 데이터 - GET 이용 이라고 생각하면 쉽다. ex) POST 현재, view에서 로그인 정보를 서버에 보낸다고 가정해보면 form 태그 안에 method=post 지정 후 action을 통해 전달하고자 하는 servlet 매핑명을 써주면 해당 form이 서버에 전달된다. 아이디 : 비밀번호 : ex) GET 아래와 같이 주소를 이용해 아이디와 비번을 해당 서버에, 서블릿에 전달하는 방식이다. localhost:8090/Project/login?id="aaa"&pwd="1234..
Servlet - API API 의 정의 - 쉽게 말해, 데이터를 전송하는 수단이라고 볼 수 있다 - 또 웹에서 한가지의 기능을 의미한다. - 보통 웹에서는 클라이언트와 서버간 통신 수단이라고 볼 수 있고 당연스럽게 요청, 응답으로 구성되었다. - 종류 : Soup(xml을 이용한 통신), Rpc, WebSocket(json 사용한 통신), Rest API, text 이용 등이 있다. 예를들어, Kakao talk을 통한 인증 API를 구현하고자한다면 client -> 로그인 요청 -> 서버에서 카카오톡에 정보 전달 -> 정보에 맞는 API(데이터 서버로 전달) -> 서버에서 로그인 처리 이때, 카카오톡의 오픈 API를 이용한다고 한다. 현재 이 Servlet Part에서는 JSP등을 사용하고 있지 않다는 가정하에 Servlet..
Servlet - Mapping Servlet을 사용한 Web 제작에서 Mapping은 어떻게 할까? 1) web.xml 에 을 이용한다. 2) 애너테이션을 이용한다. web.xml 이용 - servlet 태그 안 servlet-class 태그로 지정할 서블릿 저장 - servlet 태그 안 servlet-name 태그로 서블릿의 이름 설정 - serlvet-mapping 태그 안 servlet-name 태그로 위에서 지정한 서블릿의 이름 설정 - servlet-mapping 태그 안 url-pattern으로 url로부터 오는 요청명 설정 aaa sec01.ex01.FirstServlet aaa /first 애너테이션(annotation) 이용 - 지정할 Servlet 클래스 위에 url 매핑명 지정 @WebServlet("/first..
Servlet - Giving Life and Hierarchy of Servlet Development Environment : Eclipse Server : Tomcat v9.0 Project : Dynamic Web Project Library : servlet-api.jar Build : Eclipse Build Path Servlet Hierarchy - Servlet, ServletConfig를 상속받은 GenericServlet를 HttpServlet이 상속을 받는다. - HttpServlet을 상속받아 Servlet을 생성한다. 생명주기 생명주기란 기본적으로 Servlet을 사용하기 위해서는 Servlet을 생성을 해야하는데 생명을 준다고 해서 생명주기라고 칭한다. Application을 제작하고 서버를 시작한다고 해서 바로 서블릿이 생성되는 것은 아니다. 따라서 서블릿에..
Servlet - Start Introduction Java Web Programming에 대한 정리에 앞서 Servlet 부터 정리를 해보려고 한다. 기존의 웹은 html, css, js 로 이루어져. 정적인 자원을 주고 받는 형식이였다. 당시 Servlet의 등장은 굉장히 나름 혁명적이지 않았을까 싶다. Definition 서블릿이란 동적으로 서비스를 제공하는 자바 클래스이며 스레드 방식으로 동작한다. (+) 스레드 방식 vs 프로세스 방식 스레드 : 데이터 재요청시 메모리에 초기 요청시 담아둔 데이터 전달, 캐시와 유사한 개념 ( 서블릿은 보통 하나의 요청을 맡는다. 따라서 다른 Client 또는 다른 브라우저에서 재요청시 기존의 생성된 서블릿을 이용한다.) 프로세스 : 요청마다 새롭게 생성 Context - Giving Li..