JAVA ์น ํ๋ก์ ํธ์์ Properties ํ์ผ ํ์ฉํ๊ธฐ
์น ์ดํ๋ฆฌ์ผ์ด์ ์ด ์์ํ์๋ง์ ๊ฐ์ ธ์์ผํ๋ ์ ๋ณด์ ๊ฐ์ ๊ฒ๋ค์ ํ๋กํผํฐ ํ์ผ์ ์์ฑํด์ ๊ด๋ฆฌํ ์ ์๋ค. ์น ํ๋ก์ ํธ์์ ํ๋กํผํฐ ํ์ผ์ ์์ฑํด์ ๊บผ๋ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.
ํ๋กํผํฐ ํ์ผ ์์ฑํ๊ธฐ
ํ๋กํผํฐ ํ์ผ์ ํ ๋ผ์ธ์ key=value ํ์์ผ๋ก ์์ฑํ๊ณ .properties ํ์ฅ์๋ฅผ ๋ถ์ฌ ์ ์ฅํ๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์๋ค.
ํ๋กํผํฐ ํ์ผ ๋ก๋ฉ ๋ฐ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ(์ฝ๊ธฐ)
java.util.Properties ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ํ๋กํผํฐ ํ์ผ์ ๋ค๋ฃฐ ์ ์๋ค. Properties๋ key=value ํ์์ ํ ์คํธ ํ์ผ์ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ ํด๋์ค์ด๋ค.
์๋์ ๊ฐ์ด ํ๋กํผํฐ ํ์ผ์ ๋ก๋ํ์ฌ ๋ด์ฉ์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
1
2
3
4
5
6
|
Properties properties = new Properties();
properties.load(new FileReader("C:\\workspace\\intellij-project\\JavaWebProgramming\\out\\artifacts\\Member_MiniMVCFramework_war_exploded\\WEB-INF\\application-context.properties"));
for (Object object: properties.keySet()) {
System.out.println(object + " = " + properties.get(object));
}
|
cs |
์คํ ๊ฒฐ๊ณผ
/student/list.do = com.atoz_develop.spms.controls.StudentListController
/student/delete.do = com.atoz_develop.spms.controls.StudentDeleteController
studentDao = com.atoz_develop.spms.dao.MySqlStudentDao
/student/update.do = com.atoz_develop.spms.controls.StudentUpdateController
jndi.dataSource = java:comp/env/jdbc/knou
/student/add.do = com.atoz_develop.spms.controls.StudentAddController
/auth/login.do = com.atoz_develop.spms.controls.LogInController
/auth/logout.do = com.atoz_develop.spms.controls.LogOutController
Properties์ load() ๋ฉ์๋๋ FileReader๋ฅผ ํตํด ์ฝ์ด๋ค์ธ ํ๋กํผํฐ ๋ด์ฉ์ ํค-๊ฐ ํํ๋ก ๋ด๋ถ ๋งต์ ๋ณด๊ดํ๋ค.
web.xml์ ํ๋กํผํฐ ํ์ผ ๊ฒฝ๋ก ์ค์
ํ๋กํผํฐ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ํ๋์ฝ๋ฉํ์ง ์๊ณ web.xml๋ก๋ถํฐ ์ฝ์ด์ค๊ฒ ์ฒ๋ฆฌํด๋ณด์.
web.xml์ ์ปจํ ์คํธ ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ๊ฐํ๊ณ ํ๋ผ๋ฏธํฐ ๊ฐ์ ํ๋กํผํฐ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์์ฑํ๋ค.
web.xml
1
2
3
4
|
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/application-context.properties</param-value>
</context-param>
|
cs |
ํ๋กํผํฐ ํ์ผ์ ๋ก๋ํ๋ ์ฝ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class MyServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext sc = req.getServletContext();
Properties properties = new Properties();
properties.load(new FileReader(sc.getRealPath(sc.getInitParameter("contextConfigLocation"))));
for (Object object: properties.keySet()) {
System.out.println(object + " = " + properties.get(object));
}
}
}
|
cs |
์ปจํ ์คํธ ํ๋ผ๋ฏธํฐ๋ ServletContext ๊ฐ์ฒด์ getInitParameter() ๋ฉ์๋๋ก ๊ฐ์ ๊บผ๋ผ ์ ์๋ค.
web.xml์ ์ค์ ํ ํ๋ผ๋ฏธํฐ ์ด๋ฆ์ ๋๊ฒจ ํ๋กํผํฐ ํ์ผ์ ๊ฒฝ๋ก ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค.
์คํ ๊ฒฐ๊ณผ๋ ์ด์ ๊ณผ ๋์ผํ๋ค.
๋๊ธ