최근 H2 DataBase를 테스트 환경으로 구성하여 프로젝트를 진행하는 것이 있었다.

 

Spring Boot에 Connection정보를 입력하기 위해서 h2 db를 설치를 해두었는데..

설치는 어렵지 않았지만 db connection이 되지 않았다.

 

 

 

 

찾아보니,

 

원래대로라면 h2 서비스 기동 후, 기본 설정으로 H2 Embeded로 되어있는데,

H2 Embeded는 DB가 없는 경우, 데이터베이스 파일을 자동 생성해준 뒤 연결을 해주는 구조라고 한다.

 

하지만 최근에 보안상의 이슈로 인해서 파일을 생성해주지 않고 있고, 그로 인하여 데이터베이스 파일을 찾을 수 없으니 연결이 되지 않는 것이다.

 

해결 방법은 의외로 간단한데,

Config 정보는 Generic H2 (Embedded)

jdbc url이 jdbc:h2:~/test로 초기 지정이 되어있을텐데,

 

Config 정보를 Generic H2 (Server)로 바꾸면

jdbc url이 jdbc:h2:tcp://localhost/~/test 이렇게 바뀔 것이다.

 

이후에 사용자 폴더로 들어가서 (/Users/{username})

"test.mv.db"파일을 만들어준 뒤 연결하면 정상적으로 접속이 되는 것을 볼 수 있다.

 

 

 

위 내용은 mac os 기준 작성이 되었으므로 windows기준은 다를 수도 있습니다.

'-Java' 카테고리의 다른 글

Boxing, UnBoxing 그리고 Wrapper  (0) 2017.10.03
JUnit  (0) 2017.09.29
Naming Convention, Camel Case  (0) 2017.09.26
String 비교  (0) 2017.08.24

오랜만에 쓰는 게시글이다.

 

이번에는 React를 공부하면서 'Front에서 모든 데이터를 다 처리해야하나? 다른 Back-end 없이?' 라는 생각이 들어서 검색을 열심히 해본결과, Express랑 연동을 하면 된다는 정보를 찾아서 간단한 예제부터 만들어보기로 했다.

 

먼저 Directory Struct부터 보면 간단하게 구성을 했다.

React_Express

|--Server

|--Client

 

다음으로는 Express 설치와 React 설치를 진행한다.

1
2
3
4
5
npm install -g express-generator
npm install -g create-react-app
express server
create-react-app client
cd server && npm install
cs

Express설치 후 express 명령을 통해 server 폴더를 생성하고 create-react-app을 이용하여 client 폴더를 생성한 뒤, express에 필요한 파일을 설치하였다.

제대로 설치가 되었디면 server, client폴더에서 아래의 명령어를 실행했을 때 각각의 페이지가 나오면 성공이다.

1
npm start
cs

 

이제 여기서 React가 Express를 호출하도록 proxy 설정을 해주어야하는데 이는 client 폴더의 package.json에서 설정이 가능하다. 아래와 같이 최하단에 proxy 설정을 해주면 되는데, 이 때 접속 route는 Express가 사용하는 route를 적으면 된다. 필자는 3000번 포트를 이용하기 때문에 아래와 같이 작성하였다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-scripts": "3.4.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "proxy": "http://localhost:3000/"
}
 
cs

 

여기까지 진행을 하였으면 일단 React가 Express에 접근을 할 수 있게 설정을 한 것이다.

 

'Web' 카테고리의 다른 글

IntelliJ에서의 Servlet 프로젝트 설정 방법  (0) 2019.09.19
젠킨스 사용해보기  (0) 2017.12.31
Servlet 기초(2)  (0) 2016.11.11
Servlet 기초(1)  (0) 2016.11.11

Servlet을 공부하다가 나중에 까먹을까봐 적어놓는다.


준비물

1. Tomcat 설치

2. IntelliJ

3. JDK 최신버전

 

자바 환경설정은 필수이며, 이 과정은 패스하겠다.

또한 Tomcat 설치 경로는 필히 기억하면 좋을 것 같다.

...귀찮아서 사진 안넣을거다..


IntelliJ에서 Project를 생성한다.

- Java를 클릭하면 Java EE -> Web Application이 보인다. 클릭하자.

- Create web.xml가 체크되있을텐데 냅두면 된다.

- 프로젝트 이름은 걍 알아서 만든다.

 

Project가 생성되면 오른쪽 클릭 -> Project Settings에 들어간다.

- HttpServlet 라이브러리를 추가해주는 작업을 진행해야한다.

- 왼쪽 메뉴에 Libraries가 보이는데 오른쪽 클릭인가.. 하튼 누르면 From Maven이 나온다.

- 'tomcat:servlet'을 치면 여러개가 나오는데 첫 번째꺼 클릭하면된다. (검색시간이 좀 걸린다.)

 

Project 폴더에 src에서 이제 servlet-class를 만든다.

- src 오른쪽 클릭 - > Servlet(혹은 Servlet 어쩌구가 있다.)

- doGet, doPost 간단하게 작성해본다. ( 인터넷에 많이 널려있다 찾아보자. )

 

web.xml로 들어가서 servlet, servlet-mapping을 설정하자.

- 이 부분도 인터넷에 널려있다.

- servlet 태그에는 servlet-name, servlet-class가 있는데 name은 별칭, class는 src에 있는 class이다. (package가 있다면 붙여주자. ex. ex.Servlet)

 

tomcat 연동을 해보자.

- 오른쪽 상단에 Edit Configuration을 누른다.

- Templates -> tomcat server 찾는다.(TomEE server 아니다.)

- 누르면 Local과 remote가 보이는데 local 작업이니 local 누른다.

- Application Servers가 비어있을텐데, 클릭해서 Tomcat Home에 설치한 경로를 넣어준다. ( 자동으로 libraries가 들어갈거다. )

- 다른거 건들지말고 JRE 경로를 Java jdk 설치한 경로로 잡아준다.

- 아래 HTTP port는 기본으로 8080이다. 

 

이제 실행하면 된다.


 

*만약 out of range라는 오류가 나오면 Tomcat 폴더에 들어가서 server.xml을 찾아봐야한다.

Ctrl + F를 눌러서 '-1'을 검색하면 <Server port="-1" shutdown="SHUTDOWN"> 이부분이 나오는데

-1부분을 8090으로 바꾸자. 만약 8080으로 하면 충돌일어나서 실행안될거다. 

'Web' 카테고리의 다른 글

React와 Express 연동하기(1)  (0) 2020.09.11
젠킨스 사용해보기  (0) 2017.12.31
Servlet 기초(2)  (0) 2016.11.11
Servlet 기초(1)  (0) 2016.11.11

+ Recent posts