웹 개발 기초/자바 웹을 다루는 기술 101

웹 브라우저에서 서블릿으로 데이터 전송하기

GET/POST 전송 방식 GET 방식: 웹 브라우저의 주소창에 URL 주소 뒤에 데이터를 붙여서 전송하는 방식, 보안에 취약함 POST 방식: 전송하는 데이터를 숨겨서 전송하므로 보안성이 좋음 GET 방식과 POST 방식 비교 GET 방식 POST 방식 - 서블릿에 데이터를 전송할 때는 데이터가 URL 뒤에 name=value 형태로 전송됨 - 여러 개의 데이터를 전송할 때는 '&'로 구분해서 전송 - 보안이 취약 - 전송할 수 있는 데이터는 최대 255자 - 기본 전송 방식, 사용이 쉬움 - 웹 브라우저에 직접 입력해서 전송할 수도 있음 - 서블릿에서는 doGet( )을 이용해 데이터를 처리함 - 서블릿에 데이터를 전송할 때는 TCP/IP 프로토콜 데이터의 body 영역에 숨겨진 채 전송됨 - 보안에..

서블릿의 응답 처리 방법

서블릿에서 응답을 처리하는 방법 doGet( )이나 doPost( ) 메서드 안에서 처리 javax.servlet.http.HttpServletResponse 객체를 이용 setContentType( )을 이용해 클라이언트에게 전송할 데이터 종류(MIME-TYPE)를 지정 클라이언트(웹 브라우저)와 서블릿의 통신은 자바 I/O의 스트림을 이용함 MIME-TYPE 서버(서블릿)에서 웹 브라우저로 데이터를 전송할 때는 어떤 종류의 데이터를 전송하는지 웹 브라우저에 알려주어야 한다. 그 이유는 웹 브라우저가 전송 받을 데이터의 종류를 미리 알고 있으면 더 빠르게 처리할 수 있기 때문. 따라서 서버(서블릿)에서 웹 브라우저로 데이터를 전송할 때는 톰캣 컨테이너에서 미리 제공하는 여러 가지 전송 데이터 종류 중 ..

서블릿에서 클라이언트의 요청을 얻는 방법

태그로 전송된 데이터를 받아 오는 메서드 메서드 기능 String getParameter(String name) name의 값을 알고 있을 때 그리고 name에 대한 전송된 값을 받아오는 데 사용 String[ ] getParameterValues(String name) 같은 name에 대해 여러 개의 값을 얻을 때 사용 Enumeration getParameterNames( ) name 값을 모를 때 사용 로그인 창에서 ID와 비밀번호를 단일로 입력 받아 HttpServletRequest로 요청을 처리하는 방법 // login.html 아이디 : 비밀번호 : // LoginServlet.java package sec01.ex01; import java.io.IOException; import javax..

<form> 태그를 이용해 서블릿에 요청하는 과정

서블릿과 JSP는 HTML, CSS, 자바스크립트 같은 기존의 웹 프로그램에 자신의 기능을 추가하여 연동하며 동작함 사용자의 요청은 HTML의 태그나 자바스크립트로부터 전송 받아서 처리함 서블릿/JSP 프로그래밍을 하기 위해서는 기본적으로 HTML이나 자바스크립트에 대해 알아두는 것이 좋다. 특히 클라이언트에서 서버로 데이터를 전송하는 기능을 담당하는 태그나 태그의 기능은 자주 사용되므로 반드시 익혀둬야 한다. 클라이언트가 서블릿에 요청하는 방법 웹 브라우저에서 여러 가지 입력 서식을 이용해 전송을 클릭하면 사용자가 입력한 데이터가 그림처럼 서블릿으로 전송된다. 이후 서블릿은 여러 가지 메서드를 이용해서 전송된 데이터를 받아온다. 다음과 같이 사용자의 ID와 비밀번호를 입력하는 로그인창이 있다고 가정할때..

서블릿 응답과 요청 수행 API 기능

요청이나 응답과 관련된 API는 모두 javax.servlet.http 패키지에 있음. 요청과 관련된 API : javax.servlet.http.HttpServletRequest 클래스 응답과 관련된 API : javax.servlet.http.HttpServletResponse 클래스 클라이언트가 서블릿에 요청을 하면 먼저 톰캣 컨테이너가 받은 다음, 사용자의 요청이나 응답에 대한 HttpServletRequest 객체와 HttpServletResponse 객체를 만들고 서블릿의 doGet( )이나 doPost( ) 메서드를 호출하면서 이 객체들을 전달한다. 이와 같이 톰캣이 사용자의 요청에 대한 정보를 모든 HttpServletRequest 객체의 속성으로 담아 메서드로 전달하므로 각 HttpSer..