전체 글429 3.4.3.6 요구사항 6 - 사용자 목록 출력 접근하고 있는 사용자가 "로그인" 상태일 경우(Cookie 값이 logined=true) http://localhost:8080/user/list 로 접근했을 때 사용자 목록을 출력한다. 만약 로그인하지 않은 상태라면 로그인 페이지(login.html)로 이동한다. HINT· 로그인 여부를 판단하기 위해 Cookie 값을 파싱하는 작업은 util.HttpRequestUtils 클래스의 parseCookies() 메서드를 활용한다. · String 값을 Boolean으로 변환하는 메서드는 Boolean.parseBoolean()으로 할 수 있다. · 자바 클래스 중 StringBuilder를 활용해 사용자 목록을 출력하는 HTML을 동적으로 생성한 후 응답으로 보낸다. · 구글에서 "java stringb.. 2025. 2. 2. 3.4.3.5 요구사항 5 - 로그인하기 "로그인" 메뉴를 클릭하면 http://localhost:8080/user/login.html 으로 이동해 로그인 할 수 있다. 로그인이 성공하면 /index.html로 이동하고, 실패하면 /user/login_failed.html로 이동해야 한다.앞에서 회원가입한 사용자로 로그인할 수 있어야 한다. 로그인이 성공하면 쿠키를 활용해 로그인 상태를 유지할 수 있어야 한다. 로그인이 성공할 경우 요청 헤더의 Cookie 헤더 값이 logined=true, 실패하면 logined=false로 전달되어야 한다. HINT 1단계· 로그인 성공시 HTTP 응답 헤더(response header)에 Set-Cookie를 추가해 로그인 성공 여부를 전달한다. · 응답 헤더의 예시HTTP/1.1 200 OK Conten.. 2025. 2. 2. 3.4.3.4 요구사항 4 - 302 status code 적용 "회원가입"을 완료하면 /index.html 페이지로 이동하고 싶다. 현재는 URL이 /user/create 로 유지되는 상태이기 때문에 응답으로 전달할 파일이 없다. 따라서 회원가입을 완료한 후 /index.html 페이지로 이동한다. 브라우저의 URL도 /user/create가 아니라 /index.html로 변경해야 한다. HINT· HTTP 응답 헤더의 status code를 200이 아니라 302 code를 사용한다. · http://en.wikipedia.org/wiki/HTTP_302 문서 참고참고도서 : https://roadbook.co.kr/169 [신간안내] 자바 웹 프로그래밍 Next Step● 저자: 박재성 ● 페이지: 480 ● 판형: 사륙배변형(172*225) ● 도수: 1도 ●.. 2025. 2. 1. 3.4.3.3 요구사항 3 - POST 방식으로 회원가입하기 http://localhost:8080/user/form.html 파일의 form 태그 method를 get에서 post로 수정한 후 회원가입이 정상적으로 동작하도록 구현한다. (예시) HTTP Header와 BodyPOST /user/create HTTP/1.1 Host: localhost:8080 Connection: keep-alive Content-Length: 59 Content-Type: application/x-www-form-urlencoded Accept: */* userId=javajigi&password=password&name=JaeSungHINT· POST로 데이터를 전달할 경우 전달하는 데이터는 HTTP 본문문에 담긴다. · HTTP 본문은 HTTP 헤더 이후 빈 공백을 가지는 .. 2025. 2. 1. 3.4.3.2 요구사항 2 - GET 방식으로 회원가입하기 "회원가입" 메뉴를 클릭하면 http://localhost:8080/user/form.html 으로 이동하면서 회원가입할 수 있다.회원가입을 하면 다음과 같은 형태로 사용자가 입력한 값이 서버에 전달된다. /user/create?userId=javajigi&password=password&name=JaeSung&email=javajigi%40slipp.net HTML과 URL을 비교해보고 사용자가 입력한 값을 파싱(문자열을 원하는 형태로 분리하거나 조작하는 것을 의미)해 model.User 클래스에 저장한다. (예시) HTTP HeaderGET /user/create?userId=javajigi&password=password&name=JaeSungHTTP/1.1HINT· HTTP 요청의 첫 번째 라인에.. 2025. 2. 1. 3.4.3.1 요구사항 1 - index.html 응답하기 앞에서 설치한 HTTP 웹 서버에 접속하면 어떤 URL로 접속하더라도 "Hello World" 문자열만 출력하고 있는데, http://localhost:8080/index.html로 접속했을 때 webapp 디렉토리의 index.html 파일을 읽어 클라이언트에 응답한다. (예시)HTTP HeaderGET /index.html HTTP/1.1Host: localhost:8080Connection: keep-aliveAccept: */*HINT 1단계· InputStream을 한 줄 단위로 읽기 위해 BufferedReader를 생성한다. -> 구글에서 "java Inputstream bufferedreader"로 검색 후 문제 해결 · BufferedReader.readLine() 메서드를 활용해 라.. 2025. 1. 31. 3.4.3 실습 요구사항 실습 과정은 요구사항 전체를 한 번에 제시하지 않고 요구사항 하나를 제시하고 문제를 해결하면 다음 요구사항을 제시하는 방식으로 진행한다. 반드시 요구사항을 해결한 상태에서 다음 단계로 진행해야 다음 요구사항을 해결할 수 있는 구조로 되어 있다.참고도서 : https://roadbook.co.kr/169 [신간안내] 자바 웹 프로그래밍 Next Step● 저자: 박재성 ● 페이지: 480 ● 판형: 사륙배변형(172*225) ● 도수: 1도 ● 정가: 30,000원 ● 발행일: 2016년 9월 19일 ● ISBN: 978-89-97924-24-0 93000 [강컴] [교보] [반디] [알라딘] [예스24] [인터파크] [샘roadbook.co.kr 2025. 1. 30. 3.4.2 실습 환경 세팅 및 소스코드 분석 실습으로 진행할 HTTP 웹 서버는 로컬 개발 환경을 세팅한 https://github.com/slipp/web-application-server 저장소의 master 브랜치에서 시작하면 된다. webserver.WebServer를 실행한 후 브라우저에서 http://localhost:8080 으로 접근했을 때 "Hello World" 메시지가 출력되면 실습할 수 있는 준비가 끝났다. 실습으로 진행할 HTTP 웹 서버의 핵심이 되는 코드는 webserver 패키지의 WebServer와 RequestHandler 클래스이다. WebServer 클래스는 웹 서버를 시작하고, 사용자의 요청이 있을 때까지 대기 상태에 있다가 사용자의 요청이 있을 경우 요청을 RequestHandler 클래스에 위임하는 역할을 .. 2025. 1. 29. 3.4.1 실습 전 사전 학습 및 친구 찾기 HTTP 웹 서버를 직접 구현하기 위해 사전 준비를 한다. 실습 시작 전, 자바의 스레드(Thread), 입출력 스트림(Input/Output Stream)에 대한 지식이 부족하다고 생각한다면 다시 한 번 자바 책을 참고해 학습한 후 실습을 진행할 것을 추천한다.현재 자신의 수준과 역량에 따라 명확히 구분하기 힘들겠지만 대략적으로 구분해 어떤 방식으로 실습하는 것이 좋은지 추천해본다. · 자바 문법이 익숙하지 않고, 자바 기반 웹 애플리케이션 개발 경험은 책을 따라하면서 구현한 수준이라면 이 실습은 혼자 진행하기 힘들 가능성이 높다. 이 경우 경험 많은 선배 개발자나 수준이 비슷한 친구와 같이 짝 프로그래밍으로 실습을 진행한다. · 웹 개발 경험이 없더라도 자바 문법이 친숙하다고 생각하는 개발자는 혼자 .. 2025. 1. 28. 이전 1 ··· 3 4 5 6 7 8 9 ··· 48 다음