1. 웹을 만드는 방법
① DTO생성
※ DTO와 DAO는 src풀더에 만든다
package com.score;
public class ScoreDTO {
private String hak;
private String name;
private int kor;
private int eng;
private int mat;
private int tot;
private int ave;
private int rank;
public String getHak() {
return hak;
}
public void setHak(String hak) {
this.hak = hak;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getKor() {
return kor;
}
public void setKor(int kor) {
this.kor = kor;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
public int getMat() {
return mat;
}
public void setMat(int mat) {
this.mat = mat;
}
public int getTot() {
return tot;
}
public void setTot(int tot) {
this.tot = tot;
}
public int getAve() {
return ave;
}
public void setAve(int ave) {
this.ave = ave;
}
public int getRank() {
return rank;
}
public void setRank(int rank) {
this.rank = rank;
}
}
◈ DB테이블 설명
DB에는 학번(HAK), 이름(NAME), 국어점수(KOR), 영어점수(ENG), 수학점수(MAT)가 들어있음
tot, ave, rank는 내부에서 처리해 주는 값
② DAO생성
package com.score;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class ScoreDAO {
private Connection conn;
//의존성 주입
public ScoreDAO(Connection conn){
this.conn = conn;
}
//입력
public int insertData(ScoreDTO dto){
int result = 0;
PreparedStatement pstmt = null;
String sql;
try {
sql = "insert into score (hak,name,eng,mat) ";
sql+= "values (?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, dto.getHak());
pstmt.setString(2, dto.getName());
pstmt.setInt(3, dto.getKor());
pstmt.setInt(4, dto.getEng());
pstmt.setInt(5, dto.getEng());
result = pstmt.executeUpdate();
pstmt.close();
} catch (Exception e) {
System.out.println(e.toString());
}
return result;
}
}
③ 사용자에게 입력받는 창
write.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
//D:\java\work\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\study\org\apache\jsp
String cp = request.getContextPath();
%>
<!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>성적처리 입력</title>
<script type="text/javascript">
function sendIt(){
var f = document.myForm;
f.action = "<%=cp%>/score/write_ok.jsp";
f.submit();
}
</script>
<style type="text/css">
*{
padding: 0px;
margin: 0px;
}
body {
font-size: 10pt;
}
td{
font-size: 10pt;
}
.txtField {
font-size: 10pt;
border: 1px solid;
}
.btn {
font-size: 10pt;
background: #e6e6e6;
}
</style>
</head>
<body>
</br></br>
<table width="500" cellpadding="0" cellspacing="3" align="center" bgcolor="#e4e4e4">
<tr height="50">
<td bgcolor="#ffffff" style="padding-left: 10px;">
<b>성적처리 입력화면</b>
</td>
</tr>
</table>
</br>
<form action="" method="post" name="myForm">
<table width="500" cellpadding="0" cellspacing="0" align="center">
<tr height="2"><td colspan="2" bgcolor="#cccccc"></td></tr>
<tr height="30">
<td align="center" width="100" bgcolor="#e6e6e6">학번</td>
<td style="padding-left: 5px;">
<input type="text" name="hak" size="10" maxlength="7" class="txtField">
</td>
</tr>
<tr height="1"><td colspan="2" bgcolor="#cccccc"></td></tr>
<tr height="30">
<td align="center" width="100" bgcolor="#e6e6e6">이름</td>
<td style="padding-left: 5px;">
<input type="text" name="name" size="20" maxlength="10" class="txtField">
</td>
</tr>
<tr height="1"><td colspan="2" bgcolor="#cccccc"></td></tr>
<tr height="30">
<td align="center" width="100" bgcolor="#e6e6e6">국어</td>
<td style="padding-left: 5px;">
<input type="text" name="kor" size="10" maxlength="3" class="txtField">
</td>
</tr>
<tr height="1"><td colspan="2" bgcolor="#cccccc"></td></tr>
<tr height="30">
<td align="center" width="100" bgcolor="#e6e6e6">영어</td>
<td style="padding-left: 5px;">
<input type="text" name="eng" size="10" maxlength="3" class="txtField">
</td>
</tr>
<tr height="1"><td colspan="2" bgcolor="#cccccc"></td></tr>
<tr height="30">
<td align="center" width="100" bgcolor="#e6e6e6">수학</td>
<td style="padding-left: 5px;">
<input type="text" name="mat" size="10" maxlength="3" class="txtField">
</td>
</tr>
<tr height="2"><td colspan="2" bgcolor="#cccccc"></td></tr>
<tr height="35">
<td align="center" colspan="2">
<input type="button" class="btn" value="입력완료" onclick="sendIt();">
<input type="reset" class="btn" value="다시입력" onclick="document.myForm.hak.focus();">
<input type="button" class="btn" value="입력취소"
onclick="javascript:location.href='<%=cp%>/score/list.jsp'">
</table>
</form>
</body>
</html>
◈ String cp = request.getContextPath(); 가 가지고 있는 값
D:\java\work\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\study\org\apache\jsp
write_ok.jsp
<%@page import="com.score.ScoreDAO"%>
<%@page import="com.util.DBConn"%>
<%@page import="java.sql.Connection"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="dto" class="com.score.ScoreDTO" scope="page" />
<jsp:setProperty property="*" name="dto"/>
<%
Connection conn = DBConn.getConnection();
ScoreDAO dao = new ScoreDAO(conn);
int result = dao.insertData(dto);
if(result!=0)
response.sendRedirect("list.jsp");
DBConn.close();
%>
입력오류!
list.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("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>
리스트 화면
</body>
</html>
결과
'STUDY > JSP' 카테고리의 다른 글
Jsp 8일차 - 게시판(css작성) (0) | 2019.02.21 |
---|---|
Jsp 7일차 - Score 추가작성 (0) | 2019.02.20 |
Jsp 6일차 - 포워드 (0) | 2019.02.19 |
Jsp 6일차 - 액션태그 (0) | 2019.02.19 |
Jsp 6일차 - 전송방식 (0) | 2019.02.19 |
댓글