To Do List - 기본작업
in Web Dev on Java Spring
1. MYSQL 테이블 생성
- SCHEMAS에서 DB 선택한 후 쿼리치면 그 DB안에 테이블이 생성된다.
CREATE TABLE todo ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, name VARCHAR(100) NOT NULL, sequence INT(1) NOT NULL, type VARCHAR(20) DEFAULT 'TODO', regdate DATETIME DEFAULT NOW(), PRIMARY KEY (id));
사용자에게 DB 사용 권한 주기
mysql 환경 변수 등록 안했으면, mysql/bin 파일에서 cmd 실행 후 진행.
환경 변수 등록했으면 그냥 cmd 후 진행.
--cmd-- mysql –uroot -p --mysql-- grant all privileges on todo.* to 'callie'@'localhost'; -- 이 명령어가 다른 IP에서도 접속가능하게 해준다는데.. (안됐다..) grant all privileges on todo.* to 'callie'@'%'; flush privileges;
2. ECLIPSE MAVEN 프로젝트 만들고 환경설정
- Maven project - org.apache.maven.archetype - webapp => Group Id, Artifact Id 넣기
메이븐 환경 설정
- pom.xml 파일에서 dependencies를 아래와 같이해준다.
- mysql 버전 5.1.46
- javax.servlet 버전 3.1.0
- jackson.core 2.9.4 버전
- junit 3.8.1 버전
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
- pom.xml 파일에서 failOnMissingWebXml를 false로 해준다.
- 그리고 test폴더 지워줌(오류떠서) 왜 오류뜨지?
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
- project faucet에서
- java 1.7
- Dynamic Web Module 3.1
- 설정 바꾸고, 빨간 아이콘이 뜬다면, 폴더 - 우클릭 - maven - update project를 눌러줘본다. 되면 럭키 안되면 말고.
3. 생성할 파일들 - OVERVIEW
JAVA 파일
- DB의 한 ROW에 들어간 정보를 객체로 나타내기 위해 VO(Value Object) 생성 - Task.java
- doGet, doPost, doUpdate, doDelete메소드를 사용해 webAPI로 알맞게 사용할 수 있는 서블릿 파일 세개 - taskById.java , register.java, arc.java
- mySQL에 접속해 CRUD를 수행하는 DAO(Data Access Object) 생성 - TaskDao.java
JSP 파일
main.jsp : 목표들을 보여줄 화면 , 뒷작업은 taskById.java가 수행.
write.jsp : 목표 작성할 때의 화면 , 뒷작업은 register.java가 수행.
archive.jsp : 목표 다 끝내면 저장하는 화면 ,뒷작업은 arc.java가 수행.