Spring

■□ [게시판 만들기_쌤이랑 실습] #설정 / 에러조치 완료 + 메인페이지 꾸미기] 07.18_8일차

양빵빵 2022. 7. 15. 00:20

 

 => #만드려고 하는 게시판 이미지

 

 

 

 => #데이터 베이스 테이블 구조

 

 

/**
     * 게시물 목록요청: /board/list: GET
     * 게시물 상세조회요청: /board/content: GET
     * 게시글 쓰기 화면요청: /board/write: GET
     * 게시글 등록요청: /board/write: POST
     * 게시글 삭제요청: /board/delete: GET
     * 게시글 수정화면요청: /board/modify: GET
     * 게시글 수정요청: /board/modify: POST
     */

 

=> # url 요청 주소

 

만드는 순서

 [레파지토리 - 서비스 - 컨트롤러 - jsp]

 

 

[========== #시 #작 ==================]

tool : IntelliJ

 

== ># 설정

start.sprning.io 에서 프로젝트 파일 만들기

 

생성 후 다운로드된 압축파일을 스터디폴더에 이동

 

 

폴더 바로 아래에 src 폴더가 있도록 할 것.

 

 

다운 받은 프로젝트 파일을 인텔리제이 에서 프로젝트 열기

 

 

설정 다운로드 대기

 

설정 다운로드 완료 후

 

 

 

 

======= 에러 발생하여 새롭게 다시 빌드 했습니다. 선생님과 함께 = 아래 '===' 줄이 끝나는 시점 부터 설정 설명 다시===

 

 

 

build.gradle에 들어가서

 

dependencies 에 jsp라이브러리 / 오라클 라이브러리 / spring.jdbc 라이브러리 설정 코드 작성

 

//jsp 라이브러리 추가
implementation 'javax.servlet:jstl'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'

// 오라클 라이브러리
implementation fileTree(dir: '/src/main/webapp/WEB-INF/lib', include: ['*.jar'])

//spring jdbc 라이브러리
implementation "org.springframework.boot:spring-boot-starter-jdbc"

 

main에 WEB-INF 폴더를 만들고 그 아래 lib 폴더를 생성 <= 이게 틀려서 에러가 발생했었네요.

main -> webapp -> WEB-INF -> lib -> ojdbc6.jar [데이터베이스 설정 명시한 파일 경로에 맞게 파일을 넣어줘야 했다.] 

 

 

 

oraclexe에 들어가서 

ojdbc6를 인텔리제이 lib 폴더에 복사

 

 

 

복사 후

bulid.gradle 에 들어가서 코끼리 눌러서 업데이트

 

 

 

에러 발생==== build.gradle 에서 오라클 파일을 로드하는 폴더 경로와 실제 ojdbc 파일의 경로가 다르다는 것을 파악.

 

 

======================= 선생님과 함께 하는 spring + oracle 처음 시작시 설정 설명 ↓ ===================

* * start.spring.io 로 프로젝트 파일을 만들고 나면

* * 메인 메서드를 실행하는게 첫번째 목표이다.

* * 1. gradle.build -> dependencies 에 라이브러리 추가 // jsp 와 oracle

* * 2. DB에 접근 할수 있도록 DB 설정

         프로젝트폴더 -> config -> DataBaseConfig 파일을 만들어서 히카리 툴을 사용하여 설정.

* * 3. DB에 접근 한 후 불러올 오라클 라이브러리 파일을 설정한 경로대로 맞춰서 넣어 놓을 것.

* * 4. 서버 실행 후 이상이 없으면 커밋 하여 세이브

 

 

 

 

 

 

BUILD SUCCESSFUL in 1m 24s 이 뜨면

 

build.gradle에 들어가서

dependencies

사용할 라이브러리 추가 해준다.

 

//jsp 라이브러리 추가
implementation 'javax.servlet:jstl'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'

 

 //오라클 라이브러리 (11g edition - gradle, maven 라이센스 문제 공식 지원 불가)
implementation fileTree(dir: '/src/main/webapp/WEB-INF/lib', include: ['*.jar'])

 

새로고침으로 라이브러리 적용.

 

plugins {
   id 'org.springframework.boot' version '2.7.1'
   id 'io.spring.dependency-management' version '1.0.11.RELEASE'
   id 'java'
   id 'war'
}

group = 'com.project'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
   compileOnly {
      extendsFrom annotationProcessor
   }
}

repositories {
   mavenCentral()
}

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   compileOnly 'org.projectlombok:lombok'
   annotationProcessor 'org.projectlombok:lombok'
   providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'

   //jsp 라이브러리 추가
   implementation 'javax.servlet:jstl'
   implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'

   //오라클 라이브러리 (11g edition - gradle, maven 라이센스 문제 공식 지원 불가)
   implementation fileTree(dir: '/src/main/webapp/WEB-INF/lib', include: ['*.jar'])

}


tasks.named('test') {
   useJUnitPlatform()
}

 

라이브러리 적용이 적용되면

서버 main 메서드를 돌리는게 첫번째 목표!

 

 

 

 

 

데이터 베이스에 접근 할수 없어서 에러가 발생 했다.

데이터 베이스에 접근할수 있도록 설정.

 

 

 

 

 

 

 

설정을 한 후에

 

 

 

 

 

서버 실행 테스트.

서버 실행을 했을 때 로드할 파일이 없다는 에러가 발생.

 

 

 

 

gradle.build 파일에 dependencies에 오라클 라이브러리 설정시 ojdbc 파일의 경로를 표시해준 대로 경로에 맞춰 폴더를 만든 후 파일을 넣어준다.

 

 

 

 

 

 

파일을 넣었으면 새로고침.

 

 

 

 

oracle이 8080 port를 쓰고 있기 때문에 port를 변경해준다.

 

 

변경 후 서버 실행

 

 

 

 

404 에러가 보이면 설정은 완료.

 

-> jsp가 실행 되는지 확인.

 

 

 

메인페이지 파일 만들기

2가지 방법 중 WEB-INF 에 index.jsp 를 만드는 방법으로 설정

 

jsp 파일에 h1 태그로 welcome! 작성하여 클라이언트가 서버메인에 접속했을 때 welcome!을 볼수 있도록 합니다.

 

jsp 파일이므로 controller 가 있어야 합니다.

 

실행 결과 이상 없습니다.

 

 

경로 설정을 해준후

 

 

리턴되는 경로를 다시 작성 후

 

실행!! 이상무!!

 

웰컴 페이지 꾸미기

= css 학습할때 만들었던 html을 쓰려고할때 문제 발생.

= css 파일, js 파일 등 html에 필요한 파일 들은 resources 폴더 아래 static 폴더에 넣어준다.

= html에 href 파일 경로는 절대경로로 한다.