- ๊ด๋ จ ๊ธ
- Context Parameter(์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ
Servlet Init Parameter(์๋ธ๋ฆฟ ์ด๊ธฐํ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ
Servlet Init Parameter(์๋ธ๋ฆฟ ์ด๊ธฐํ ๋งค๊ฐ๋ณ์)
์๋ธ๋ฆฟ์ ์์ฑํ๊ณ ์ด๊ธฐํํ ๋, ์ฆ init()์ ํธ์ถํ ๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์๋ธ๋ฆฟ์ ์ ๋ฌํ๋ ๋ฐ์ดํฐ์ด๋ค. ๋ณดํต DB ์ฐ๊ฒฐ ์ ๋ณด์ ๊ฐ์ ์ ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ค. ๋ค์์ ๋ฐฉ๋ฒ์ผ๋ก ์ค์ ํ ์ ์๋ค.
- DDํ์ผ(web.xml)์ ์๋ธ๋ฆฟ ๋ฐฐ์น ์ ๋ณด์ ์ค์
- ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํด์ ์๋ธ๋ฆฟ ์์ค ์ฝ๋์ ์ค์
๊ฐ๋ฅํ 1๋ฒ์ ๋ฐฉ๋ฒ์ผ๋ก ์ค์ ํ๋๊ฒ ์ข๋ค. ์์ค ์ฝ๋์์ ๋ถ๋ฆฌํด์ ์ธ๋ถ ํ์ผ์ ๋๋๊ฒ ๋ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ด๋ค.
์๋์ ๊ฐ์ด DB์์ ํ์ ๋ชฉ๋ก์ ๊ฐ์ ธ์ ์ถ๋ ฅํ๋ StudentListServlet ํด๋์ค๊ฐ ์๋ค. ์์ค ์ฝ๋ ์์ DB ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค.
1
2
3
4
5
6
7
8
9
|
Properties jdbcProperties = new Properties();
jdbcProperties.setProperty("user", "username");
jdbcProperties.setProperty("password", "****");
try {
// 1. java.sql.Driver ์ธํฐํ์ด์ค ๊ตฌํ์ฒด ๋ฑ๋ก
// MySQL : com.mysql.cj.jdbc.Driver ํด๋์ค
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/knou", jdbcProperties);
|
cs |
์ด ์๋ธ๋ฆฟ์ด DB ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์๋ธ๋ฆฟ ์ด๊ธฐํ ๋งค๊ฐ๋ณ์์์ ๋ฐ์์ ์ฐ๊ฒฐํ ์ ์๋๋ก ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ค.
web.xml ํ์ผ์ ์๋์ ๊ฐ์ด StudentListServlet์ ์๋ธ๋ฆฟ ๋ฐฐ์น ์ ๋ณด๋ฅผ ์์ฑํ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<servlet>
<servlet-name>StudentListServlet</servlet-name>
<servlet-class>com.atoz_develop.spms.servlets.StudentListServlet</servlet-class>
<init-param>
<param-name>driver</param-name>
<param-value>com.mysql.cj.jdbc.Driver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3307/knou</param-value>
</init-param>
<init-param>
<param-name>username</param-name>
<param-value>user</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>****</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>StudentListServlet</servlet-name>
<url-pattern>/student/list</url-pattern>
</servlet-mapping>
|
cs |
<servlet> ํ์์ <init-param>์ ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ๋ค.
<param-name>์ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์, <param-value>์ ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ค์ ํ๋ค.
์์ ๊ฐ์ด <init-param>์ ๋ค๊ฐ ์์ฑํด์ JDBC ๋๋ผ์ด๋ฒ ํด๋์ค, JDBC URL, ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ค์ ํ๋ค.
user์ ****์๋ ์ค์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์์ฑํด์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ StudentListServlet์ ์์ค ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์์ ํ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/*Properties jdbcProperties = new Properties();
jdbcProperties.setProperty("user", "username");
jdbcProperties.setProperty("password", "****");*/
try {
// 1. java.sql.Driver ์ธํฐํ์ด์ค ๊ตฌํ์ฒด ๋ฑ๋ก
// MySQL : com.mysql.cj.jdbc.Driver ํด๋์ค
// DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
// conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/knou", jdbcProperties);
// ์๋ธ๋ฆฟ init parameter๋ฅผ ์ด์ฉํ JDBC ์ฐ๊ฒฐ
Class.forName(this.getInitParameter("driver"));
conn = DriverManager.getConnection(
this.getInitParameter("url"),
this.getInitParameter("username"),
this.getInitParameter("password")
);
stmt = conn.createStatement();
|
cs |
Servlet init parameter๋ getInitParameter()๋ฅผ ์ด์ฉํด์ ๊ฐ์ ๊บผ๋ผ ์ ์๋ค.
getInitParameter()๋ ํด๋น ์๋ธ๋ฆฟ์ ๋ฐฐ์น ์ ๋ณด๊ฐ ์๋ web.xml๋ก๋ถํฐ <init-param>์ ๋งค๊ฐ๋ณ์ ๊ฐ์ String์ผ๋ก ๋ฐํํ๋ค.
์ด์ ๋ฐฉ์์ธ DriverManager.registerDriver()์๋ JDBC ๋๋ผ์ด๋ฒ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์ ๋ฌํด์ผ ํ์ง๋ง Class.forName()์๋ ํจํค์ง๋ฅผ ํฌํจํ ํด๋์ค ์ด๋ฆ(QName)์ ์ ๋ฌํด์ ๋๋ผ์ด๋ฒ๋ฅผ ๋ก๋ฉํ๋ค.
์์ ๋ ์ ์ฝ๋๋ getInitParameter()๋ก JDBC ๋๋ผ์ด๋ฒ ํด๋์ค, JDBC URL, ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ DB์ ์ฐ๊ฒฐํ์๋ค.
์ด์ฒ๋ผ ์๋ฐ ์์ค ์ฝ๋ ์์ ์ง์ ์์ฑํ๋ ๊ฒ๋ณด๋ค ์ด๊ธฐํ ๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํ๋ ๋ฐฉ์์ด ์ ์ง๋ณด์ํ๋๋ฐ ํจ์ฌ ๋ซ๋ค.
๊ทธ๋ฆฌ๊ณ servlet init parameter๋ ํด๋น ์๋ธ๋ฆฟ์์๋ง ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก DB ์ฐ๊ฒฐ ์ ๋ณด์ ๊ฐ์ ์ฌ๋ฌ ์๋ธ๋ฆฟ์์ ์ฌ์ฉํ๋ ๊ฐ์ context param(์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)๋ฅผ ํตํด ์ค์ ํ๋๊ฒ ์ข๋ค.
[์ฐธ๊ณ ] Annotation์ Servlet Init Parameter ์ค์ ํ๊ธฐ
๋ค์๊ณผ ๊ฐ์ด web.xml์ด ์๋ ์๋ธ๋ฆฟ ์์ค ์ฝ๋์ ์ด๋ ธํ ์ด์ ์ผ๋ก servlet init parameter๋ฅผ ์ค์ ํ ์ ์๋ค.
1
2
3
4
5
6
7
8
9
|
@WebServlet(
urlPatterns = {"/student/update"},
initParams = {
@WebInitParam(name="driver", value="com.mysql.cj.jdbc.Driver"),
@WebInitParam(name="url", value="jdbc:mysql://localhost:3307/knou"),
@WebInitParam(name="username", value="user"),
@WebInitParam(name="password", value="****")
}
)
|
cs |
@WebServlet ์ด๋ ธํ ์ด์ ์ initParams๋ @WebInitParam์ ๋ฐฐ์ด๋ก servlet init parameter๋ฅผ ์ค์ ํ๋ ์์ฑ์ด๋ค.
@WebInitParam์ name(๋งค๊ฐ๋ณ์ ์ด๋ฆ), value(๋งค๊ฐ๋ณ์ ๊ฐ)์ ํ์ ์์ฑ์ ๊ฐ๊ณ ์ ํ ์์ฑ์ธ description(์ค๋ช )์ด ์ถ๊ฐ๋ ์ ์๋ค.
- ๊ด๋ จ ๊ธ
- Context Parameter(์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ
References
์ดํ๊ฐ์ ์๋ฐ ์น ๊ฐ๋ฐ ์ํฌ๋ถ(ํ๋ฆฌ๋ , 2016, ์์ง์)
'Javaยท๏ปฟServletยท๏ปฟJSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JSP ๊ตฌ๋ ์๋ฆฌ (0) | 2020.02.11 |
---|---|
Servlet Filter ์ฌ์ฉํ๊ธฐ (0) | 2020.02.11 |
[IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (3) ํ์ ์ ๋ณด ์์ (0) | 2020.02.10 |
[IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (2) ํ์ ๊ฐ์ (0) | 2020.02.09 |
[IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (1) ํ์ ๋ชฉ๋ก ์กฐํ (1) | 2020.02.09 |
๋๊ธ