์ด์ฉ์๋ก๋ถํฐ ๋ฒํธ ์ด๋ฆ ์ ํ ์ด๋ฉ์ผ์ ์ด๋ ฅ ๋ฐ์์ ์๋ฒ์ธก ํ์ผ์ ์ง๋ ฌํ๋ฅผ ํตํ ์ ์ฅ ๊ตฌํ
๋ก์ง์ 5๊ฐ์ง๋ก ๋๋์ด์ ์คํ(User, UserController, UserService, userRegForm, userRegResult,userlist)
์ฒซ ์คํํ๋ฉด์ ์ ์ฅ๋ ์ฌ๋๋ค์ ๋ชฉ๋ก์ด ๋ณด์ด๊ฒ๋ ํ๊ณ ๋งํฌ๋ฅผ ์ฃผ์ด ๋ชฉ๋ก๋ณด๊ธฐ์ ์๋ก ์ถ๊ฐํ๊ธฐ๊ฐ ๊ฐ๋ฅํ๊ฒ๋ ํ๋ค.
MSC๋ฐฉ์์ผ๋ก ๋ชจ๋ํ ํ์ฌ ๊ฐ๋ฐํ๋ฉด ๊ฐ๋ฐํ ๋ ์ฑ๋ฅ ๋จ์ด์ ธ ์ฌ๋ ๋ง์ด ํ์ํ๊ณ ๋ณต์กํ์ง๋ง ์ ์ง๋ณด์๊ฐ ํธํ๊ณ ๊ฐ๋ฐ๋ณด๋ค ๋์ด ๋ ๋ง์ด ๋๋ ์ ์ง๋ณด์์์ ๋ก์ง ๋ณ ๋๋์ด์ ๋ชจ๋ํ ํ์ฌ ๊ด๋ฆฌํ๋๊ฒ ๋ ํจ์จ์ ์ด๋ค.
User ํด๋์ค
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
37
38
39
40
41
|
import java.io.Serializable;
public class User implements Serializable
{
private int num;
private String name;
private String phone;
private String email;
public User() { }
public User(int num, String name, String phone, String email) {
this.num = num;
this.name = name;
this.phone = phone;
this.email = email;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
|
cs |
User ํด๋์ค๋ ์์ฑ๋ง ๊ฐ์ง๋ ํด๋์ค๋ก VOํด๋์ค( Value Object ํด๋์ค) ๋ผ๊ณ ๋ ํ๊ณ MSC์์ Model ํด๋์ค๋ฅผ ๋ด๋นํ๊ณ ์๋ค.
UserService ํด๋์ค
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
import java.io.FileOutputStream;
import java.io.*;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
public class UserService
{
private HttpServletRequest request;
private String fpath = "D:/java_test/user.ser";
public UserService(HttpServletRequest request)
{
this.request = request;
}
public boolean save()
{
User u = new User();
u.setNum(Integer.parseInt(request.getParameter("num")));
u.setName(request.getParameter("name"));
u.setPhone(request.getParameter("phone"));
u.setEmail(request.getParameter("email"));
File f = new File(fpath);
List<User> list = null;
if(!f.exists()) list = new ArrayList<>();
else list = deserialize();
list.add(u);
return serialize(list);
}
private boolean serialize(List<User> list)
{
try {
ObjectOutputStream objOut = new ObjectOutputStream(new FileOutputStream(fpath));
objOut.writeObject(list);
objOut.close();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
private List<User> deserialize()
{
try {
ObjectInputStream objInput = new ObjectInputStream(new FileInputStream(fpath));
List<User> list = (List<User>)objInput.readObject();
objInput.close();
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public List<User> getlist() {
return deserialize();
}
}
|
cs |
์๋น์ค ํด๋์ค๋ก์ User ๋ชจ๋ธ ํด๋์ค์ ์๋ ์์ฑ๋ค์ด ์๋ํ ๋ก์ง๋ค์ ๊ฐ์ง๊ณ ์๋ค.
userRegForm.jsp
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
|
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>์ด์ฉ์ ์ ๋ณด ๋ฑ๋ก</title>
<style type="text/css">
#main {width:fit-content; margin:0 auto; }
h3 { text-align: center; }
form { width:fit-content; border:1px solid black; padding:1em;
margin:0 auto; }
label { margin-right:1em; }
form>div { margin:0.3em; }
button { display:block; margin:5px auto; }
</style>
</head>
<body>
<div id="main">
<h3>์ฌ์ฉ์ ์ ๋ณด ๋ฑ๋ก</h3>
<form action="userc" method="post">
<input type="hidden" name="cmd" value="reg">
<div><label>๋ฒ ํธ</label><input type="text" name="num"></div>
<div><label>์ด ๋ฆ</label><input type="text" name="name"></div>
<div><label>์ ํ</label><input type="text" name="phone"></div>
<div><label>๋ฉ ์ผ</label><input type="text" name="email"></div>
<div><button type="submit">์ ์ฅ</button></div>
</form>
</div>
</body>
</html>
|
cs |
์ด์ฉ์ ๋ฑ๋ก์ ๋ํ๋ ํผ
userRegResult.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%
boolean saved = (Boolean) request.getAttribute("saved");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>์ด์ฉ์ ์ ๋ณด ๋ฑ๋ก ๊ฒฐ๊ณผ</title>
<style type="text/css">
a {text-decoration:none; color: blue;}
</style>
</head>
<body>
<%
out.println(saved ? "์ด์ฉ์ ์ ๋ณด ์ ์ฅ ์ฑ๊ณต" : "์ ๋ณด ์ ์ฅ ์ค ์ค๋ฅ ๋ฐ์");
%>
[<a href=userc?cmd=regForm> ์ ๋ณด ๋ฑ๋ก ๋ค์ ๊ฐ๊ธฐ </a>]
[<a href=userc?cmd=list> ๋ฑ๋ก๋ ์ด์ฉ์ ์ ๋ณด ๋ณด๊ธฐ</a>]
</body>
</html>
|
cs |
userlist.jsp
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
|
<%@page import="com.ezen.web.hello.User"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% List<User> list = (List<User>) request.getAttribute("list"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ ์ฅ๋ ์ด์ฉ์ ๋ชฉ๋ก ๋ณด๊ธฐ</title>
</head>
<body>
<% for(int i =0;i<list.size();i++){
User u = list.get(i);
int num = u.getNum();
String name = u.getName();
String phone = u.getPhone();
String email = u.getEmail();
String line = String.format("%d %s %s %s<br>",num,name,phone,email);
out.println(line);
}
%>
[<a href=userc?cmd=regForm> ์ด์ฉ์ ์ ๋ณด ๋ฑ๋ก ๊ฐ๊ธฐ </a>]
</body>
</html>
|
cs |
์คํ๊ฒฐ๊ณผ:
๋ฑ๋กํ๊ธฐ

์ ์ฅํ๊ธฐ

๋ฐ์ดํฐ์ ํ๋ฆ
jsp์์ html์ ํ ์ด๋ธ์ ๋ง๋ค์ด์ ๋ชฉ๋ก์ ๋ณด๊ธฐ ๋ ํธํ๊ฒ ๋ง๋ค๊ธฐ
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
37
38
39
40
|
<%@page import="com.ezen.web.hello.User"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% List<User> list = (List<User>) request.getAttribute("list"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ ์ฅ๋ ์ด์ฉ์ ๋ชฉ๋ก ๋ณด๊ธฐ</title>
<style type="text/css">
table { border: 1px solid black; border-spacing:1px;
border-collapse:collapse; padding:0.3em;}
th{background-color:#eee; border-bottom:3px double black;}
th,td{padding:0.2em 1em; border-right:1px dashed black;}
td{border-bottom: 1px dashed black;}
</style>
</head>
<body>
<table>
<tr><th>๋ฒํธ</th><th>์ด๋ฆ</th><th>์ ํ</th><th>์ด๋ฉ์ผ</th></tr>
<%
for(int i =0;i<list.size();i++){
User u = list.get(i);
int num = u.getNum();
String name = u.getName();
String phone = u.getPhone();
String email = u.getEmail();
%>
<tr>
<td><%=num %></td>
<td><%=name %></td>
<td><%=phone %></td>
<td><%=email %></td>
</tr>
<% } %>
</table>
[<a href=userc?cmd=regForm> ์ด์ฉ์ ์ ๋ณด ๋ฑ๋ก ๊ฐ๊ธฐ </a>]
</body>
</html>
|
cs |
<%= %> : ์ต์คํ๋ ์ ํ๊ทธ ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ jsp๊ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ฐ๋๋ out.print()๋ก ๋ฐ๋๋ค.
์คํ๊ฒฐ๊ณผ:
๋๊ธ