@ 교육환경 만들기
1. JDK 1.8
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Windows x64 다운 (2021.08.02 기준 Java SE Development Kit 8u301)
C드라이브 프로그램 파일에 Java폴더 경로로 설치
https://lee1535.tistory.com/13 - 참고(★ 기본 자바 환경변수 설정!!)
2. egovFramework3.7.0
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev3.7:gettingstarted - 참고
https://www.egovframe.go.kr/home/sub.do?menuNo=41
eGovFrameDev-3.7.0-64bit.exe [1,448,961,257 Byte] 다운로드
C드라이브 경로로 설치
3. TomCat 8.5
https://bamdule.tistory.com/134 - 참고
https://goni9071.tistory.com/454 - 참고2
https://tomcat.apache.org/download-80.cgi
https://goni9071.tistory.com/430 - 환경변수 설정
https://meyouus.tistory.com/15 - 톰캣 8.5 이클립스와 연동
4. Oracle11g Express Edition (XE버전)
XE버전은 홈페이지에 11g는 막혀서 18c부터 다운로드 가능
https://www.filehorse.com/download-oracle-database-express-64/ - 여기서 다운
https://gostart.tistory.com/143 - 참고
http://127.0.0.1:8080/apex/f?p=4950 오류 뜨면,
https://blog.naver.com/ndb796/220628263321 - 참고
바탕화면에 만들어진 Get Started With Oracle Database 11g Express Edition 파일 실행하거나,
http://127.0.0.1:8080/apex/f?p=4950:1:2461248509371798 실행하여 제대로 설치됬는지 확인
오라클 설치후 꼭 재부팅
- User 생성
sqlplus "/as sysdba"
create user test identified by 123; - 계정 및 비밀번호
grant connect,resource,dba to test;
exit
sqlplus - 이후 로그인 해보기
- sql developer
https://www.oracle.com/tools/downloads/sqldev-downloads.html - Windows 64-bit with JDK 8 included 설치
https://jack-of-all-trades.tistory.com/222 - 참고
- 오라클 리스너
https://gojoo.tistory.com/73
- 서버 실행시 cmd로 죽이기
https://myblog.opendocs.co.kr/archives/1702
// 시행착오
- Missing artifact ojdbc:ojdbc:jar:14 오류시 ojdbc14.jar 직접 받아 다운받아야 함
https://bizdevelop.tistory.com/6 - 참고
http://www.java2s.com/Code/Jar/o/Downloadojdbc14jar.htm - 여기서 다운
(주의사항 : ojdbc-14.jar 로 파일명 수정하고 lib폴더에 넣기)
(혹시라도 안되면 ojdbc8.jar 다운 (jre 1.8이라서))
https://www.oracle.com/database/technologies/jdbc-ucp-122-downloads.html
//
5. Notepad ++
https://notepad-plus-plus.org/downloads/v8.1.2/
@ mavenBoard 오류 고치기
(1) pom.xml 오류
https://junemoon.tistory.com/191 - ojdbc 버전 참고
https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8/19.7.0.0 - Ojdbc8 » 19.7.0.0버전
- jdk8 버전과 ojdbc8 버전이 호환되므로 Ojdbc8 » 19.7.0.0버전으로 수정
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.7.0.0</version>
</dependency>
- 기존 ojdbc6 사용시 12.1.0.2버전으로 바꾸기
<!-- ojdbc -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.0.2</version>
</dependency>
(2) src/main/resource - spring.context - database-context.xml 오류
- 생성한 DB User의 username과 password가 같도록 수정
<!-- dataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="test" />
<property name="password" value="123" />
</bean>
(3) 톰캣 서버 오류 (Port 8080 required by Tomcat v8.5 Server at localhost is already in use.)
https://aspring.tistory.com/entry/Apache-Tomcat-%ED%8F%AC%ED%8A%B8-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0-Starting-Tomcat-v80-Server-at-localhost-has-encountered-a-ploblem-Port-8080-required-by-Tomcat-v80-Server-at-localhost-is-already-in-use - 참고
- 오라클 11g express에서 8080 포트 변경
sqlplus/nolog
conn /as sysdba
select dbms_xdb.gethttpport() from dual; - 현재 사용중인 포트번호 확인
DBMS_XDB.GETHTTPPORT()
----------------------
8080
exec dbms_xdb.sethttpport(9090); - 포트번호 9090으로 변경
select dbms_xdb.gethttpport() from dual; - 변경되었는지 재확인
DBMS_XDB.GETHTTPPORT()
----------------------
9090
(4) java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 오류
https://s00741.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%97%90%EB%9F%AC-javalangClassNotFoundException-orgspringframeworkwebcontextContextLoaderListener - 참고
- 프로젝트 설정에서 Deployment Assembly에 Maven Dependencies를 추가
프로젝트(mavenBoard) 우클릭 - Properties - Deployment Assembly - add... - Java Build Path Entries - Maven Dependencies 선택 후 finish
서버 재시작
(5) http://localhost:8080/mavenBoard/main.ino 실행시 500 오류
- Table 만들기 (도구 : sql developer)
CREATE TABLE FREEBOARD(
NUM NUMBER(5),
NAME VARCHAR2(20),
TITLE VARCHAR2(100),
CONTENT VARCHAR2(1000),
REGDATE DATE
);
CREATE SEQUENCE FREEBOARDNUM_SEQ;
commit;
(6) http://localhost:8080/mavenBoard/freeBoardInsert.ino 에서 글쓰기 후 return "redirect:/freeBoardDetail.ino?num="+dto.getNum();로
리다이렉트시 오류, Request processing failed; nested exception is java.lang.NullPointerException 오류
https://deeplify.dev/back-end/spring/select-key - 참고
- return "redirect:/freeBoardDetail.ino?num="+dto.getNum(); - 오타 수정
- selectKey 활용하기
<insert id="freeBoardInsertPro" parameterType="freeBoardDto">
<selectKey keyProperty="num" resultType="int" order="BEFORE">
SELECT FREEBOARDNUM_SEQ.NEXTVAL FROM DUAL
</selectKey>
INSERT INTO FREEBOARD(NUM, TITLE, NAME, REGDATE, CONTENT)
VALUES( #{num}, #{title}, #{name}, SYSDATE, #{content})
</insert>
왜 selectkey를 사용하는가?
freeBoardMapper.xml에서 selectKey를 통해 num을 DTO로 넣어주기 위함.
'교육 정리 > 입사교육' 카테고리의 다른 글
mavenBoard 만들기 5 (파일 게시판 만들기2) (0) | 2021.08.08 |
---|---|
mavenBoard 만들기 3,4 (페이징 재도전3, 파일 게시판 만들기) (0) | 2021.08.05 |
mavenBoard 만들기 2 (수정, 삭제 구현, 페이징 재도전2) (0) | 2021.08.04 |
mavenBoard 만들기 (0) | 2021.08.03 |
글쓰기 Test (0) | 2021.08.01 |
댓글