개발/JSP 게시판 만들기

[JSP 게시판 만들기] 마무리 - DB 접속 정보 properties 파일로 분리하기

ee2ee2 2021. 11. 11. 14:58
728x90
반응형

앞서 게시판 만들기 프로젝트 수행 중, UserDAO.java / BoardSiteDAO.java를 보면 DB 접속설정 부분을 파일마다 작성해주었다. 

이럴 경우, 접속정보 수정 됐을 시 각 파일마다 들어가서 변경해주어야 한다.

간단하게 DB 접속정보만 담는 db.properties 파일을 만들어보자!


db.properties 

driver = com.mysql.cj.jdbc.Driver
dbURL = jdbc:mysql://localhost:3306/BOARDSITE
dbID = root
dbPW = root's Password

 

<생성 위치> : 본인이 생성하고 싶은 곳에 넣어도 된다!


UserDAO.java / BoardSiteDAO.java 변경 전

	public BoardSiteDAO() {
		try {
			String dbURL ="jdbc:mysql://localhost:3306/BOARDSITE";
			String dbID = "root";
			String dbPW = "root계정 패스워드";
			
			Class.forName("com.mysql.cj.jdbc.Driver");	 //MySQL에 접속할 수 있도록 하는 매개체(라이브러리)
			conn = DriverManager.getConnection(dbURL, dbID, dbPW); //매개변수를 통해 DB에 접속할 수 있도록 함. 접속이 완료되면 conn객체에 접속정보가 담기게 됨.
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 

UserDAO.java / BoardSiteDAO.java 변경 후

	public BoardSiteDAO() throws IOException {
		String filePath = "D:/XXXXXX/eclipse-workspace/BoardSite/config/db.properties"; 
		Properties properties = new Properties();

		try {
			properties.load(new FileReader(filePath));
			Class.forName(properties.getProperty("driver"));	 //MySQL에 접속할 수 있도록 하는 매개체(라이브러리)
			conn = DriverManager.getConnection(properties.getProperty("dbURL"), properties.getProperty("dbID"), properties.getProperty("dbPW")); //매개변수를 통해 DB에 접속할 수 있도록 함. 접속이 완료되면 conn객체에 접속정보가 담기게 됨.
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 

위와 같이 직접 계정 정보가 노출되지 않아 좀 더 안전하고, 접속 정보 변경이 수월할 수 있다!

 

 

2주에 걸쳐 JSP 게시판 만들기가 마무리됐다!

진도가 나갈때마자 꾸준히 git에 소스를 올렸다. 마무리될 때 쯤에 패스워드도 올려버린 것을 알고 reset하고 다시 올리고... 그래도 잘 마무리되어서 다행이다! 다음에는 어떤 걸 도전해볼지 고민이다.

좀 더 좋은 방법 혹은 추천할만한 개인 프로젝트가 있다면 댓글로 알려주시면 감사하겠습니다!