티스토리 뷰

코드번호 입력하여 DB에 해당하는 코드정보 불러오기

-소스파일 첨부

준비 : (mysql 루트로 로그인 -> use jspdb -> 테이블생성)

------------------------------------

inputForm.html ( 코드번호 입력 -> Reader.jsp로 값전달)

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

<h4>상품코드 입력하세요</h4>

<form action=Reader.jsp method="get">

상품코드 : <input type="text" name=code size=5>

<input type="submit" value='확인'>

</form>

</body>

</html>

------------------------------------

Reader.jsp ( inputForm.html에서 입력받은코드 받아와서 그코드에 대한 제어를EditForm.jsp" 로 전달)

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" %>

<!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=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

//inputForm에서 입력받은 값 (name code였음) jsp스크립트릿에서 변수로 받기

String code=request.getParameter("code");

if(code==null)

throw new Exception("상품코드를 입력하세요");

Connection conn=null

Statement stmt=null

try{

//드라이버 연결

Class.forName("com.mysql.jdbc.Driver");

//jspdb DB // mysql-> user root 비밀번호는 1234

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jspdb","root","1234");

if(conn==null)

throw new Exception("데이터베이스 연결 실패");

//연결된 상태를 stmt

stmt=conn.createStatement();

// 입력받은 code에 해당하는 테이블의 정보를 받아옴 변수 입력시 '"+code+"'

ResultSet rs = stmt.executeQuery("select * from goodsinfo where code = '"+code+"';");

if(!rs.next())//코드에 해당하는 정보가 없을때

throw new Exception("상품코드 : '"+code+"' 에 해당하는 데이터가 없습니다");

//초기에 DB에 들어있는 정보를 가져와서 변수로 저장

String title= rs.getString("title");

String writer = rs.getString("writer");

int price = rs.getInt("price");

//값을 전달하기위해 값 셋팅 / / DB에서 불러와 저장한 변수값을 또다른 변수에 셋팅

request.setAttribute("CODE",code);

request.setAttribute("TITLE", title);//TITLE title값 지정

request.setAttribute("WRITER", writer);

request.setAttribute("PRICE", new Integer(price));

}finally{

try{

stmt.close();

}catch(Exception ignored){

}

try{

conn.close();

}catch(Exception ignored){

}

}

//제어를 EditForm.jsp로 넘김

RequestDispatcher dispatcher = request.getRequestDispatcher("EditForm.jsp");

dispatcher.forward(request, response);

%>

</body>

</html>

------------------------------------

EditForm.jsp ( Reader.jsp에서 해당코드정보에대한 제어를 받아와서 웹으로 뿌려줌 / 코드정보 수정버튼을누르면 Updater.jsp 로 이동 )

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!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=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h4>상품정보 수정한후 수정버튼을 누르세요</h4>

<h4>edit Form</h4>

<!--

------------------------

Reader.jsp에서

request.setAttribute("CODE",code);

//제어를 EditForm.jsp로 넘김

RequestDispatcher dispatcher = request.getRequestDispatcher("EditForm.jsp");

dispatcher.forward(request, response);

----------------------------

이페이지에서 -> value="${CODE}"로 받음

실행문으로 request.getAttribute("CODE")로 받을수도 있음

-->

<form action=Updater.jsp method=post>

코드: <input type="text" name=code size=20 value="${CODE}" READONLY=TRUE><br>

제목: <input type="text" name=title size=20 value="${TITLE}"><br>

저자: <input type="text" name=writer size=20 value="${WRITER}"><br>

가격: <input type="text" name=price size=20 value="${PRICE}"><br>

<input type="submit" value='수정'>

</form>

</body>

</html>

------------------------------------

Updater.jsp (코드정보​ 수정을 수행하기위해 DB 연동위해 드라이버 연결하고 쿼리 실행/ UpdaterResult.jsp로 이동(code값도 함께 ) )

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ page import="java.sql.*"%>

<%

//EditForm에서 입력받은 text값들을 변수로 받음

String code =request.getParameter("code");

String title =request.getParameter("title");

String writer =request.getParameter("writer");

String price =request.getParameter("price");

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

Connection conn=null

Statement stmt = null

try{

//드라이버 연결

Class.forName("com.mysql.jdbc.Driver");

//jspdb DB // mysql-> user root 비밀번호는 1234

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jspdb","root","1234");

if(conn==null)

throw new Exception("데이터베이스 연결 실패");

//연결된 상태를 stmt

stmt=conn.createStatement();

stmt.executeUpdate("update goodsinfo set title='"+title+"', price='"+price+"', writer='"+writer+"' where code='"+code+"'; ");

}finally{

try{

stmt.close();

}catch(Exception ignored){

}

try{

conn.close();

}catch(Exception ignored){

}

// UpdateResult.jsp로 이동 code값 넘김 (페이지이동)

response.sendRedirect("UpdaterResult.jsp?code="+code);

}

%>

<!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=UTF-8">

<title>Insert title here</title>

</head>

<body>

</body>

</html>

------------------------------------

UpdaterResult.jsp.

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!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=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h4>상품정보가 수정되었습니다 </h4>

수정된 정보 조회하려면 링크클릭<br>

<a href=Reader.jsp?code=${param.code}>상품정보조회</a>

<!--

-- 고전방식으로 받으면 --

< %

String str1= request.getParameter("num1");

int num1= Integer.parseInt(str1);

% >

< % = num1 % >

--와 같고 --

--EL방식으로 받으면

EL방식 으로 받으면 스크립트릿에서 ,실행문에서 받을필요없이 그냥 ${param.num1}로 받을수 있음

-- 와 같다 --

-->

<br><br>

처음화면으로 돌아가려면 아래링크 클릭

<a href=inputForm.html>처음화면</a>

</body>

</html>

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함