안드로이드&IOS 앱 개발자 양성(64일차)
** XML
** Spring MVC Project에서 사용되는 XML
** 개발 환경
** pom.xml 파일의 주요 태그
1. properties
2. repositories
3. dependencies
** Spring MVC Project 구조
1. web.xml
2. root-context.xml
3. servlet-context.xml
4. com.pk.mvc 패키지에 가면 HomeController가 생성되어 있다.
** 하나의 서비스 구현 절차
** 집에 있는 PC를 고정된 IP를 갖도록 할 수 있음
** Oracle과 MySQL의 차이
1. 테이블을 생성할 때 자료형의 차이
2. 조회에서의 차이
** Hibernate
** XML
- Hyper Text Markup Language : Tag를 브라우저가 해석해서 랜더링
- extensible Markup Language : 확장 마크업 언어
- XML은 태그의 의미를 DTD에 설정한 곳이나 개발자가 해석한다.
- HTML이 구조적이지 못해서 데이터를 표현하는데 한계가 있어서 만들어 낸 데이터 표현 포맷이다.
- 프로젝트 설정이나 Open API에 많이 이용한다.
- 프로젝트 설정 파일로 사용되는 경우에는 우리가 해석할 수 없고 해석을 대신해주는 DTD를 상단에 선언해 주어야 한다.
** Spring MVC Project에서 사용되는 XML
- server.xml : Tomcat의 설정 파일
- pom.xml : Maven의 설정 파일
- web.xml : Web Application의 설정 파일
- 여기까지는 파일명 고정
- mybatis의 환경설정 파일과 매퍼 파일 - 대신 인터페이스를 사용할 수 있다.
- hibernate의 경우는 매퍼 파일
** 개발 환경
- Operating System : Windows 10
- Database : Oracle
- Programming Language : Java 1.8
- IDE : Eclipse
- WAS : Apache Tomcat 9.0
- Build Tool : JUnit
- SCM(Software Configuration Management - 형상관리) : Git Hub
- Framework : Spring 5.0, MyBatis
** pom.xml 파일의 주요 태그
1. properties
- 아래에서 많이 사용할 문자열을 태그로 만들어두는 것
2. repositories
- 기본적으로 Maven 중앙 저장소에서 다운로드를 받는데 다른 곳에서 다운로드 받고자 할 때 다운로드 받을 위치를 설정
3. dependencies
- 사용할 외부 라이브러리
** Spring MVC Project 구조
1. web.xml
2. root-context.xml
- 모든 곳에서 사용할 bean을 설정하는 파일
- 데이터베이스 접속 정보를 생성
3. servlet-context.xml
- web.xml 파일에 설정한 url 패턴에 해당하는 요청이 왔을 때 사용할 bean을 설정하는 파일
4. com.pk.mvc 패키지에 가면 HomeController가 생성되어 있다.
** 하나의 서비스 구현 절차
- 어디에서 요청을 할 것인지 그리고 어떤 요청을 요청할 것인지 결정
- 시작하지마자는 /
- 대부분의 서비스는 2가지 형태
- 바로 데이터를 요청해서 출력하는 서비스 : 목록보기나 상세보기
- 요청 -> Controller -> View -> Controller -> Service -> DAO -> 저장소 -> DAO -> Service -> Controller -> View : 삽입
- 요청 -> Controller -> Service -> DAO -> 저장소 -> DAO -> Service -> Controller -> View -> Controller -> DAO -> 저장소 -> DAO -> Service -> Controller -> View : 수정
** url 패턴을 /나 /*로 사용했을 때의 문제점
- / : .jsp를 제외한 모든 요청을 처리한다.
- /* : 모든 요청을 처리
- css나 js처럼 확장자가 jsp가 아니면 Controller가 처리하려고 하고 Controller에 처리하는 코드가 없으면 404에러가 발생한다.
- servlet-context 파일에 Controller가 처리하지 않으면 WAS가 처리하도록 해주는 설정을 추가해 주어야 한다.
** 집에 있는 PC를 고정된 IP를 갖도록 할 수 있음
- IP 공유기를 사용하는 사람들은 자신의 IP 공유기 제조회사와 포트 포워딩을 검색하여 사용한다.
** Oracle과 MySQL의 차이
1. 테이블을 생성할 때 자료형의 차이
- 오라클은 숫자를 number로 만들지만 MySQL은 int, float으로 생성한다.
- 오라클은 문자열을 char, varchar2, clob으로 표현하지만 MySQL은 char, varchar, text로 표현한다.
- 오라클은 sequence로 일련번호를 만들지만 MySQL은 auto_increment로 생성한다.
2. 조회에서의 차이
- 오라클은 페이징(나누어서 가져오기)를 할 때 인라인 뷰를 사용하지만 MySQL은 limit 구문을 이용한다.
- MySQL이 쉽다.
- 오라클은 인코딩 설정을 하지 않아도 되지만 MySQL은 반드시 인코딩 설정을 해주어야 한다.
** hibernate
- ORM : Object Relation Mapper - 객체와 데이터베이스 테이블의 데이터를 매핑시키는 프레임워크 최근의 등장하는 데이터베이스 연동 프레임워크는 거의 대부분 ORM이다.