JSP&Servlet 20

MyBatis 전체회원조회 기능 구현

* MyBatis 실습하면서 배우기! - 전체회원조회 만들기 : email이 'admin'인 관리자계정 회원가입 먼저 하기 0) Main.jsp 파일에서 실습 부분 : 로그인 한 사용자의 email이 문자열 'admin'과 일치 시 '회원관리'가 보이게 만들기 Forty by HTML5 UP 로그인 회원관리 개인정보 수정 로그아웃 1) SelectAllService 서블릿파일 : '회원관리' 클릭 시 이동할 서블릿파일 내가 이전 페이지에서 받아올 데이터가 없기 때문에 request로 데이터 받아오는 과정 skip! 1. DAO에 전체회원조회 기능 메소드 만들어 연결 2. 조회한 정보를 request영역에 담기 3. forward 방식으로 select.jsp 파일로 이동 package com.smhrd.c..

MyBatis 회원정보수정 기능 구현

* MyBatis 실습하면서 배우기! - 회원정보수정 만들기 0) Main.jsp 파일에서 실습 부분 전 포스팅에 있는 헤더의 개인정보 수정에 update.jsp 파일을 연결해준 부분. 이제 연결해서 수행할 파일들을 만들어 줄 것이다! 1) update.jsp 파일 회원정보수정 접속한 Email : ${member.email} 2) UpdateService 서블릿 파일 - 임시(최종아님!!!! 최종은 맨 아래에) 여기는 차근차근 해 나가 보자! 1. 요청된 값에 대한 인코딩 2. 요청받은 데이터 가져오기 3. DB 연결을 위해 만들어진 DAO를 통해 실제 update 기능 수행할 메소드 연결 4. 수정 성공 시 수정하고 메인페이지로 우선 이거 먼저 수행한 코드 package com.smhrd.contro..

MyBatis 로그인, 로그아웃 기능 구현

* MyBatis 실습하면서 배우기! - 로그인 기능 만들기 0) Main.jsp 파일에서 실습 부분 - (로그인, 로그아웃 관련 메인 페이지) (밑으로 내려가서 보면 LoginService 서블릿에서 로그인 성공 시 session 하나를 만들어 session.setAttribute("member", result); 로 "member"에 result값을 저장해 둔 것) : EL표기법 사용 - ${member.email} - (member안의 여러 데이터 중 email) → 스크립트릿 열 필요 없이 EL표현식으로 간단하게 작성할 수 있다. → EL표현식은 스크립트릿과 함께 사용할 순 없다. but, jstl 라이브러리와 함께 사용하면 된다! - jstl 라이브러리 pom.xml에 추가! (Maven Rep..

MyBatis 프레임워크 사용하기 - 회원가입 기능 구현

* MyBatis 라이브러리는 내가 쓰다가 도구가 필요하면 그냥 가져다 쓰면 됨 프레임워크는 짜여진 틀이 있어 그 틀을 지켜야 사용할 수 있음 1. MyBatis 프레임워크 사용법 1) 기존 DAO 클래스 방식 2) Mapper interface 방식 3) Annotation 방식 DAO 메소드에서 혼자 다 하던 걸 다른 애들한테 나눠서 일처리를 할거야 단, 얘네가 하라는데로 형식을 다 지켰을 때만 → Java 코드와 sql 쿼리를 분리하고, 자동으로 맵핑(연결) 2. MyBatis 라이브러리 추가하기(pom.xml) → 제일 먼저 할 것 : pom.xml 에 필요한 라이브러리 추가 사용을 위해 Ojdbc 라이브러리와 mybatis 라이브러리를 추가해주어야 한다. Maven Repository 사이트에서..

JSP&Servlet 기초 - MVC Model2 방식

3. MVC Model2 방식 : M / V / C 로 나눠 생각 저번 포스팅 Model1 방식의 실습을 이어서 로그인 기능을 Model2 방식으로 해보자! Login.jsp/Main.jsp/Join.jsp 파일을 복사해 가져오고, DAO.java/DAO.java 파일도 복사해 model패키지에 넣는다. 이러고 이제 나머지 실습을 진행하면 된다. 1. Main.jsp 회원가입 로그인 2. Login.jsp 3. LoginProgram.java : 로그인에 대한 기능 연결하기 package com.smhrd.controller; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletExce..

Maven 방식 사용하기

* 왜 Maven이 필요한가? 서로 기능은 같지만 버전이 셋 다 다를 경우 공유 시 문제가 발생할 수 밖에 없다. → 각 팀원이 똑같은 개발을 하기 위해선 같은 버전의 jar 파일을 사용해야 한다. => maven 을 이용해서 협업을 하자 maven 자체에 pom.xml 파일을 이용해 버전에 대한 파일을 처음에 한 번만 설정해두면 그 뒤로 버전에 대해 따로 얘기해줄 필요가 없다! 그래서 협업을 편하게 할 수 있다! * Maven 장점 - 라이브러리 관리가 매우 용이함(pom.xml) - 저해진 빌드 방법을 사용해 협업에 유리 - 다양한 플러그인을 통해 많은 작업이 자동화 * Maven 프로젝트 설치하기 먼저 이클립스를 들어가 새로운 파일을 만든다. other를 누르고 나온 창에서 Maven을 직접 검색하..

JSP&Servlet 기초 - MVC Model1 방식

* 디자인 패턴(Design Pattern) : 소프트웨어 설계에 있어 공통된 문제들에 대한 표준적인 해결책 디자인 패턴엔 MVC 패턴이라는 아주 중요한 개념이 있다! 1. MVC 패턴 : Model, View, Controller : 시각적으로 보여지는 부분과 데이터를 처리하는 부분을 분리하여 유연한 구조를 설계 * JSP가 어디서 어떻게 쓰이는지 - Model1 : JSP에서 출력과 로직을 전부 컨트롤(view, controller) - Model2 : JSP에서는 출력만 처리(view) * Model1에서 view와 controller 둘 다 공통되는 JSP로 되는 이유 : / 이용해 HTML, JAVA 로직 쓸 수 있어서 * Model1의 단점을 보완해서 나온 것이 Model2 2. MVC..

JSP&Servlet 기초 - Scope

* Scope : JSP 페이지에서 사용되는 객체들은 모두 정해진 영역 안에서만 사용가능 1. Page scope : 실제 선언된 JSP 페이지 내에서만 사용 가능 - pageContext 내장객체로 사용 가능 : pageContext.setAttribute(네임값(String), 실제값(Object)) : 데이터 저장 : pageContext.getAttribute(네임값(String)) : 데이터 가져오기 - 저장된 값은 저장한 페이지 내에서 지역변수로 사용 - 주 사용 용도 1) pageScope에 값을 저장한 후 EL 표기법 사용 : ${pageScope.네임값} or ${네임값} 2) 해당 JSP나 Servlet이 실행되는 동안에만 정보 유지하고자 할 때 사용 2. Request scope : ..

JSP 기초 - 쿠키와 세션

1. 쿠키와 세션의 필요성 http 장점이 단점이 되어버림 -> 정보를 유지할 수 없다. 정보를 유지하기 위해 쿠키와 세션이 필요 2. 쿠키 : 클라이언트(브라우저)에 저장되는 키와 값이 들어있는 작은 데이터 파일 아무 웹페이지 들어가 F12를 눌러 개발자 모드를 켠 뒤 Application 파트를 누르면 쿠키와 세션 구조를 확인할 수 있다. 1) 쿠키 동작방식 2) 쿠키 사용 예시 - ID 저장, 로그인 상태 유지 - 일주일간 다시 보지 않기 - 쇼핑몰 장바구니 기능 3) 쿠키 단점 - 보안에 취약(F12 누르고 봐도 다 보임) - 작은 허용 용량 - 브라우저 변경할 경우 다른 브라우저에서 저장한 쿠키 값을 사용할 수 없음 4) 쿠키 생성과 쿠키 보내기 쿠키와 관련된 작업은 java 언어를 활용한다! ..