관리 메뉴

nkdk의 세상

6장 장바구니를 만들어 봅시다. 본문

My Programing/JSP and Servlet

6장 장바구니를 만들어 봅시다.

nkdk 2008. 3. 9. 00:59
세션을 이용하여 장바구니를 만들어 보도록 하겠습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>환영해요.</title>
</head>
<body>
<table>
<tr>
<td><img src=pic4.jpg></td>
<td>
<pre>
정말 좋은 금성 제품인데 정말 좋을까요? 한번 잘 써봅시다.
잘 쓰면 좋겠죠? 못 쓰면 나쁜거고 잘 써야 좋은 겁니다.
그렇기 때문에 잘 써야 겠죠? 돈 주고 산건데 함부로 쓰면 안되
리라는 생각을 하게 되네요. 여러분도 그렇게 생각하시죠?
돈은 말이죠 소중한 거에요. 하지만 돈 보다 중요한 게 있는데
그 점을 간과해서는 안됩니다.
</pre>
</td>
</tr>
<tr align=center>
<td colspan=2>
<form method=post action=/sertest/Cart>
<input type=hidden name=name value="삼성부랜도1">
<input type=hidden name=price value="1550000">
<p><input type=submit value="장바구니에 물건담기">
<input type=button value="이전 화면" onclick="history.back()">
</form>
</td>
</table>

</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>환영해요.</title>
</head>
<body>
<table>
<tr>
<td><img src=pic1.jpg></td>
<td>
<pre>
정말 좋은 삼성 제품인데 정말 좋을까요? 한번 잘 써봅시다.
잘 쓰면 좋겠죠? 못 쓰면 나쁜거고 잘 써야 좋은 겁니다.
그렇기 때문에 잘 써야 겠죠? 돈 주고 산건데 함부로 쓰면 안되
리라는 생각을 하게 되네요. 여러분도 그렇게 생각하시죠?
돈은 말이죠 소중한 거에요. 하지만 돈 보다 중요한 게 있는데
그 점을 간과해서는 안됩니다.
</pre>
</td>
</tr>
<tr align=center>
<td colspan=2>
<form method=post action=/sertest/Cart>
<input type=hidden name=name value="삼성부랜도1">
<input type=hidden name=price value="4550000">
<p><input type=submit value="장바구니에 물건담기">
<input type=button value="이전 화면" onclick="history.back()">
</form>
</td>
</table>

</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>환영해요.</title>
</head>
<body>
<table>
<tr>
<td><img src=pic1.jpg></td>
<td>
<pre>
정말 좋은 삼성 제품인데 정말 좋을까요? 한번 잘 써봅시다.
잘 쓰면 좋겠죠? 못 쓰면 나쁜거고 잘 써야 좋은 겁니다.
그렇기 때문에 잘 써야 겠죠? 돈 주고 산건데 함부로 쓰면 안되
리라는 생각을 하게 되네요. 여러분도 그렇게 생각하시죠?
돈은 말이죠 소중한 거에요. 하지만 돈 보다 중요한 게 있는데
그 점을 간과해서는 안됩니다.
</pre>
</td>
</tr>
<tr align=center>
<td colspan=2>
<form method=post action=/sertest/Cart>
<input type=hidden name=name value="삼성부랜도1">
<input type=hidden name=price value="4550000">
<p><input type=submit value="장바구니에 물건담기">
<input type=button value="이전 화면" onclick="history.back()">
</form>
</td>
</table>

</body>
</html>


// 상품목록

public class Goods {
private String name;
private int price;

public Goods(String name, int price) {
this.name = name;
this.price = price;
}

public String getName() {
return name;
}

public int getPrice() {
return price;
}

}


//cart에 대하여 배우도록 하겠습니다. 실제적 기술입니다.

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class Cart extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=euc-kr");
request.setCharacterEncoding("euc-kr");
PrintWriter out = response.getWriter();

String name = request.getParameter("name");
int price = Integer.parseInt(request.getParameter("price"));

HttpSession session = request.getSession(true);
Vector glist = (Vector)session.getAttribute("list");

if(glist == null) glist = new Vector();

glist.addElement(new Goods(name, price));
session.setAttribute("list", glist);

// 장바구니에 담긴 상품 정보 확인
out.println("<html><body>☞" + name + "구입 하셨습니다.");
out.println("<p><table width=80%>");
out.println("<a href=/sertest/shop.html>쇼핑계속</a>");
out.println("<a href=/sertest/Buy>[결제하기]</a>");
out.println("<tr bgcolor=lime><th>");
out.println("<th>상품명</th><th>가격</th></tr>");
for(int i = 0; i< glist.size(); i++) {
Goods goods = (Goods)glist.elementAt(i);
out.println("<tr><td align=center>" + goods.getName() + "</td>");
out.println("<td align=center>" + goods.getPrice() + "</td>");
}
out.println("</table></body></html>");
}
}

// shop.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>홈쇼핑</title></head><body><center><h2>** 가전 제품 판매 **</h2>
<b> 상품 선택 </b><br>
<li><a href=samsung.html>삼성</a>
<li><a href=lg.html>엘쥐 텔레비</a>
<li><a href=hd.html>현대 텔레비</a>
<li><a href=ks.html>금성 텔레비</a><p><hr width=70%>
보다 나은 서비스를 위해 노력합니다.<p>
고객님의 지갑이 비워질 때까지 사랑합니다.
</center></body>
</html>

입니다.