본문 바로가기
STUDY/JSP

Jsp 6일차 - 간단한 웹을 만드는 방법

by Anne of Green Galbes 2019. 2. 19.

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

댓글