본문 바로가기

Back/Servlet12

쿠키와 세션 - 세션을 이용한 로그인/로그아웃 기능 쿠키와 세션 - 세션을 이용한 로그인/로그아웃 기능 예제 sessionLogin.html LoginLogout.java SessionLogout.java sessionLogin.html 아이디 : 비밀번호: LoginLogout @WebServlet(name = "LoginLogout", value = "/logInOut") public class LoginLogout extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { d.. 2021. 12. 30.
쿠키와 세션 - 세션을 이용한 웹 페이지 연동 기능 쿠키와 세션 - 세션을 이용한 웹 페이지 연동 기능 세션은 웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개해 주는 방법이라는 점에서 쿠키와 동일하다. 하지만 쿠키는 사용 시 웹 페이지들의 정보가 클라이언트 PC에 저장되므로 정보가 쉽게 노출될 수 있다는 단점이 있으나, 세션은 서버의 메모리에 생성되어 정보를 저장한다. 세션(Session)이란? 클라이언트와 웹 서버 간에 네트워크로 연결이 지속적으로 유지되고 있는 상태 세션의 특징 정보가 서버의 메모리에 저장 브라우저의 세션 연동은 세션 쿠키를 이용 쿠키보다 보안에 유리함 서버에 부하를 줄 수 있음 브라우저(사용자)당 한 개의 세션(세션 id)이 생성 유효시간을 가짐 (기본 유효시간 : 30분) 로그인 상태 유지 기능이나 쇼핑몰의 .. 2021. 12. 30.
쿠키와 세션 - 쿠키를 이용한 웹 페이지 연동 기능 쿠키와 세션 - 쿠키를 이용한 웹 페이지 연동 기능 쿠키(Cookie)란? 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 필요할 때 여러 웹 페이지들이 공유해서 사용할 수 있도록 매개 역할을 하는 방법 쿠키의 특징 정보가 클라이언트 PC에 저장됨 저장 정보 용량에 제한이 있음 (4kb) 보안에 취약함 클라이언트에 저장되기 때문. 민감한 정보는 저장하지 X 클라이언트 브라우저에서 사용 유무 설정 가능 도메인당 쿠키가 만들어짐(웹 사이트당 하나의 쿠키 생성) 쿠키의 생성 및 저장 과정 서버에서 쿠키 생성 Cookie 클래스로부터 쿠키 객체 생성 Cookie cookie = new Cookie(이름, 값); 속성 설정 setter 사용해서 쿠키 객체의 유효기간 설정 cookie.setMaxAg.. 2021. 12. 29.
쿠키와 세션 - <hidden> 태그와 URL Rewriting 을 이용해 웹페이지 연동 쿠키와 세션 - 태그와 URL Rewriting을 이용해 웹페이지 연동하기 클라이언트와 서버 간에 정보를 교환하는데 클라이언트 PC 또는 서버의 메모리에 저장해 두고 사용하면 프로그램의 속도를 향상시킬 수 있다. 쇼핑몰을 이용할 때 메인 페이지에서 미리 로그인한 후 다른 웹 페이지에서 상품에 관한 댓글을 다는 경우가 있다. 글쓰기 창에서는 따로 로그인하지 않아도 된다. 하지만, 로그인을 하지 않았을 경우에는 '로그인 후 이용하세요'라는 메시지가 나타난다. 이 기능은 쇼핑몰을 이용하는 사람들은 다 알지만 실제 HTTP 프로토콜 방식으로 통신하는 웹페이지는 서로 어떤 정보도 공유하지 않는다. 사용자 입장에서 웹 페이지 상태나 정보 공유를 위해서는 프로그래머가 세션 트래킹(Session Tracking)이라는.. 2021. 12. 29.
서블릿 포워드(Servlet Forward) 서블릿 포워드 포워드(forward)란? 하나의 서블릿이 다른 서블릿이나 JSP와 연동하는 방법 서블릿 포워드 기능 서블릿에서 다른 서블릿이나 JSP, 웹 브라우저로 요청을 전달하는 기능 요청에 대한 추가 작업을 다른 서블릿에게 수행하게 하는 역할 요청에 포함된 정보를 다른 서블릿이나 JSP와 공유 요청에 정보를 포함시켜 다른 서블릿에게 전달 모델2 개발 시 서블릿에서 JSP로 데이터를 전달하는 데 사용 서블릿 포워드 방법 redirect HttpServletResponse 객체의 sendRedirect() 메소드 사용 웹 브라우저에게 재요청하는 방식 형식 : sendRedirect("포워드할 서블릿 또는 JSP"); refresh HttpServletResponse 객체의 addHeader() 메소드 .. 2021. 12. 29.
[Intellij]서블릿 DB연동(4) - 커넥션 풀 (DBCP: Connection Pool) 커넥션 풀(DBCP : DataBase Connection Pool) Connection Pool 등장 배경 기본 데이터베이스 연동 방법의 문제점 애플리케이션에서 데이터베이스 연결 과정에서 시간이 많이 소요 해결 방안 애플리케이션 실행 시 미리 Connection 객체를 생성해놓고, 미리 데이터베이스를 연결해놓음 애플리케이션은 데이터베이스 연동 작업 발생 시 미리 생성되어있는 Connection 객체를 이용해서 작업 커넥션 풀 일정량의 DB Connection 객체를 Pool에 저장해 두고 클라이언트 요청이 있을 때마다 가져다 사용하고 반환 클라이언트에서 다수의 요청이 발생될 경우 요청마다 DB Connection 객체를 생성하게 되면 데이터베이스에 부하가 발생하기 때문에 커넥션 풀 기법을 사용 JDBC.. 2021. 12. 28.
서블릿 DB 연동(3) 서블릿 DB 연동(3) 연습문제 패키지 생성 : sec05 BookVO BookDAO BookSelectServlet book 테이블 생성 도서번호 / 도서명 / 저자 / 가격 / 발행일 / 출판사번호 CREATE TABLE book( bookNo VARCHAR(10) NOT NULL PRIMARY KEY, bookName VARCHAR(30), bookAuthor VARCHAR(10), bookPrice INT, bookDate date, pubNo VARCHAR(10) ); 테이블 데이터 입력 insert into book values (&#39;001&#39;, &#39;java&#39;, &#39;홍길동&#39;, 21000, &#39;2021-12-28&#39;, &#39;001&#39;), (.. 2021. 12. 28.
서블릿 DB 연동(2) 서블릿 DB 연동(2) 서블릿에서 사용할 테이블 생성 MySQL Workbench에서 Create Schema Name : servletdb Charset/Collation : utf8 / Default Collation [Apply] / [Next] / [Finish] 테이블 생성 : member 테이블 가입일을 현재 날짜/시간으로 디폴트로 저장되도록 설정 : TIMESTAMP DEFAULT NOW() create table member( memId VARCHAR(10) NOT NULL PRIMARY KEY, memPwd VARCHAR(10), memName VARCHAR(30), memEmail VARCHAR(30), memJoinDate TIMESTAMP DEFAULT NOW() ); 테이블 데이터.. 2021. 12. 28.
[Intellij]서블릿 DB 연동 서블릿 DB 연동 서블릿의 비즈니스 로직 처리 데이티베이스 관련 작업 다른 서버 연동해서 데이터 얻는 작업 등 Ex 회원 등록 요청 처리 (DB에 회원 정보 저장) 로그인 처리(DB에 있는 회원 정보와 입력하여 전송된 로그인 정보가 일치하는지 검사) 쇼핑몰 주문 처리 작업 비즈니스 로직 처리 과정 클라이언트로부터 요청 데이터베이스 연동과 같은 비즈니스 로직 처리 결과를 클라이언트에게 전달 (응답) HTML로 요처어 -> 서블릿에서 요청 받음 -> DAO에서 비즈니스 로직 처리. 결과 반환 -> 서블릿에서 결과 받아서 클라이언트에게 응답 -> 클라이언트에서 결과 출력 DB 연동 : MySQL 사용 MySQL JDBC 드라이버 필요 다운받은 mysql jdbc 드라이버 필요 MySQL JDBC 드라이버 사용.. 2021. 12. 28.