본문 바로가기

수업 정리

(93)
61일차 수업정리(Spring - MyBatis) **Oracle MyBatis 연동 1. 데이터베이스 준비 GOODS 테이블 => code : number => name : varchar2 => regdate : date 2. Simple Spring Maven 프로젝트 생성 => 안만들어지면 Java Project를 생성하여 Maven Project로 변환 3. Oracle을 MyBatis를 이용하여 사용할 때 필요한 의존성을 설정 - pom.xml => Oracle, SpringJDBC, 1) 오라클 사용을 위해서 repository 생성 oracle ORACLE JDBC Repository http://maven.jahia.org/maven2 2) dependency 설정 com.oracle ojdbc7 12.1.0.2 org.springfram..
60일차 수업정리(Spring - lombok) **lombok 라이브러리 => DTO 클래스를 편리하게 만들도록 해주는 라이브러리 => DTO 클래스를 만들때 인스턴스 변수만 선언하고 나머지는 어노테이션을 이용해서 작성하게 해주는 라이브러리 => 최근에 등장한 언어들은 변수를 선언하면 getter와 setter를 자동으로 생성해주기도 함 => Java에서는 DTO를 생성하고 유효성 검사를 수행하는 부분까지 어노테이션으로 설정할 수 있는 라이브러리 등장 1. lombok 설치 => IDE가 미리 설치되어 있어야 함 1) https://projectlombok.org/download 에서 다운로드 Download projectlombok.org 2) 다운로드 파일 실행 -> 터미널에서 수행 => java -jar 다운로드 받은 파일 경로 3) IDE 선..
59일차 수업 정리(Spring) **Spring => Java Framework => 대규모 애플리케이션 개발에서 개발자들의 역량을 획일화 하여 빠르게 구현할 수 있도록 하는 것이 목적 => 이러한 Java Framework로 이전에는 struts를 많이 사용 - 일본의 경우 struts로 구현된 애플리케이션을 유지보수하면서 사용 1. Spring Project 작업 도구 => Eclipse(Plug in, Spring Tool Suite, 기업에서 제작한 별도 프레임워크 - 전자정부 프레임워크, Any Framework) => Intelli J - 개인 개발자나 중소기업 등에서 이용 2. Spring Project 종류 => Legacy Project(Spring MVC Project) : 이전에 사용하던 Spring Web Proj..
58일차 수업정리(로그인 처리, Script 언어, 요청처리 디버깅) **로그인 처리 1. 암호화가 되어있지 않은 경우 => 아이디(이메일등)와 비밀번호를 받아서 일치하는 데이터가 있는지 확인하는 방식으로 처리 => 필요한 데이터를 읽어와야 함 => 아이디와 비밀번호를 한번에 비교하는 경우 입력된 데이터를 검사하여 SQL 예약어가 있는지 확인해봐야 함 -- SQL injection 예시 select 컬럼이름나열 form 유저테이블 where id = ? and password = ? => id가 abc이고, password가 1234인 데이터가 존재 - id를 abc, password를 23으로 입력시 일치데이터가 없으므로 로그인 실패 - id를 abc, password를 23 or 1 = 1 로 입력시 true 리턴 => 데이터 입력의 유효성검사시 SQL예약어 등의 단어..
57일차 수업정리(회원 가입 관련 Tip) **데이터 삽입 => 삽입 요청 -> Controller -> ServiceImpl -> DAO -> Repository -> DAO -> Service -> Controller -> View => 웹에서는 ajax로 요청 **파일 업로드 => 요청을 처리하는 Servlet 클래스 상단에 아래 어노테이션을 추가 - @MultipartConfig(location="파일을 업로드 할 디렉토리 경로를 절대경로로 작성") => 요청을 처리하는 서비스 클래스에 작성 - 파라미터를 읽을 때 getParameter 대신에 getPart("파라미터명")을 이용하여 Part객체를 생성 - Part 객체의 getHeader("content-dispotision"을 호출해서 업로드된 파일명을 찾아야 함 - 메소드 호출시 f..
수업 외 정리 tip 1. 상속 //class 앞에 아무것도 없으면 default(pakage) - 동일한 패키지에서만 사용가능 //public class - 모든 패키지에서 사용가능 public abstract class DAO{ protected Connection con; //protected는 상속받은 곳에서는 사용이 가능 } public class ItemDao extends DAO{ } *ajax 처리 1. 자바스크립트 이용 => XMLHttpRequest 객체 이용 2. 자바스크립트 라이브러리 이용 => jquery 이용 $.ajax(){ url:데이터를 가져올 url(list), dataType:결과데이터 포맷(json), data:필요한 파라미터({no:페이지번호}), success:function(d..
55~58일차(회원가입과 로그인) **요청 순서 요청-> Controller-> Service-> Dao-> Repository-> Dao-> Service-> Controller-> Data-> View(웹: ajax로 Data를 가져와서 사용) => Controller에서 Data까지가 REST API 서버(Back End) => 요청과 View가 FrontEnd **회원가입과 로그인 => 회원가입과 로그인을 REST API Server를 구축해서 구현 => 회원가입 화면 제작이나 가입 요청(ajax)하는 부분 등 HTML 출력부분을 제외한 모든 처리에서 사용가능한 서버 => 파일 업로드도 같이 처리 : 파일업로드는 구현후 상대경로를 이용하는 것으로 변경 1. 데이터베이스 작업 1) 테이블 생성 2) 샘플데이터 작성 => ID, 닉네..
53일차 수업정리(DB 연동 + 54일차 + 55일차) **데이터 베이스 연동 준비 => 데이터베이스에 접속 => 프로그래밍 언어와 연동에 필요한 드라이버 준비 1. Dynamic Web Project 생성 => 프로젝트 설정 파일인 web.xml파일이 포함되도록 생성 => servlet-api.jar 파일과 jstl.jar 파일을 WebContent/WEB-INF/lib 디렉토리에 복사 - servlet-api.jar : JDK SE 버전을 설치한 상태에서 HttpServlet 클래스를 이용하기 위해 - jstl.jar : jsp 페이지에서 if 나 for를 java 코드를 이용하지 않고 사용하기 위해 2. JDBC => Java를 이용하여 데이터베이스에 접속하는 방식 3. JDBC를 사용하는 방법 1) JDK가 제공하는 API를 이용하는 방법 => Con..