여기부터 시작
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<% Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
String sql= "select sno,sname,kor,eng,math,hist from examtbl";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs= pstmt.executeQuery();
%>
<%@include file="top.jsp" %>
<section>
<br>
<div align="center">
<h2><b>학생성적목록보기</b></h2>
</div>
<div align="center">
<table border=1 width=600>
<tr>
<th>학번</th>
<th>이름</th>
<th>국어</th>
<th>영어</th>
<th>수학</th>
<th>역사</th>
</tr>
<%while(rs.next()){ %>
<tr>
<td><%=rs.getString("sno") %></td>
<td><%=rs.getString("sname") %></td>
<td><%=rs.getString("kor") %></td>
<td><%=rs.getString("eng") %></td>
<td><%=rs.getString("math") %></td>
<td><%=rs.getString("hist") %></td>
</tr>
<%} %>
</table>
</div>
<br>
<%rs.close();
pstmt.close();
conn.close();
%>
</section>
<footer>
HRDKOREA Copyright 2018 ALL Rights resources Development Service of Korea
</footer>
</div>
</body>
</html>
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<% Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
String sql= "select sno,sname,kor,eng,math,hist from examtbl";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs= pstmt.executeQuery();
//학생수 출력하기 - 쿼리문 하나 추가하기
String sql2= "select count(*) as count from examtbl";
PreparedStatement pstmt2 = conn.prepareStatement(sql2);
ResultSet rs2= pstmt2.executeQuery();
rs2.next();
int tc= rs2.getInt("count");
%>
<%@include file="top.jsp" %>
<section>
<br>
<div align="center">
<h2><b>학생성적목록보기(학생수:<%=tc %>명)</b></h2>
</div>
<div align="center">
<table border=1 width=600>
<tr>
<th>학번</th>
<th>이름</th>
<th>국어</th>
<th>영어</th>
<th>수학</th>
<th>역사</th>
<th>합계</th>
<th>평균</th>
</tr>
<%while(rs.next()){
int sum=rs.getInt("kor")+rs.getInt("eng")+rs.getInt("math")+rs.getInt("hist");
double avg= sum/4.0;
%>
<tr>
<td><%=rs.getString("sno") %></td>
<td><%=rs.getString("sname") %></td>
<td><%=rs.getInt("kor") %></td>
<td><%=rs.getInt("eng") %></td>
<td><%=rs.getInt("math") %></td>
<td><%=rs.getInt("hist") %></td>
<td><%=sum %></td>
<td><%=avg%></td>
</tr>
<%} %>
</table>
</div>
<br>
<%rs.close();
pstmt.close();
conn.close();
%>
</section>
<footer>
HRDKOREA Copyright 2018 ALL Rights resources Development Service of Korea
</footer>
</div>
</body>
</html>
학번 값 받아오기
form.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="top.jsp" %>
<%@ page import="java.sql.*" %>
<%
String url ="jdbc:oracle:thin:@//localhost:1521/xe";
String id = "system";
String pwd ="1234";
// 1) 데이터베이스 드라이버 로딩
Class.forName("oracle.jdbc.OracleDriver");
// 2)데이터베이스 컨넥션
Connection conn = DriverManager.getConnection(url, id, pwd);
// 3) SQL 쿼리문
String sql="select max(sno)+1 as max_sno from examtbl ";
// 4) PreparedStatement 객체 생성
PreparedStatement pstmt = conn.prepareStatement(sql);
// 5) 실행
ResultSet rs = pstmt.executeQuery(); // executeUpdate() or executeQuery()
rs.next();
int max_sno = rs.getInt("max_sno");
%>
<section>
<br>
<div align="center">
<font size=5><b>학생 성적 등록</b></font>
</div>
<div align="center">
<form name="f1" action=form_ok.jsp >
<table width=600 border=1 height=400>
<tr><td width=200 align="center">학번</td>
<td width=400>
<input type=text name=sno value="<%=max_sno %>" > </td></tr>
<tr><td align="center">학생이름</td>
<td ><input type=text name=sname> </td></tr>
<tr><td align="center">국어</td>
<td><input type=text name=kor size=10> </td></tr>
<tr><td align="center">영어</td>
<td><input type=text name=eng size=10> </td></tr>
<tr><td align="center">수학</td>
<td><input type=text name=math size=10> </td></tr>
<tr><td align="center">역사</td>
<td><input type=text name=hist size=10> </td></tr>
<tr>
<td colspan=2 align="center">
<input type=submit value="저장하기">
<input type=reset value="다시작성">
</td>
</tr>
</table>
</form>
</div>
<br>
</section>
<footer>
HRDKOREA Copyright 2018 ALL Rights resources Development Service of Korea
</footer>
</div>
</body>
</html>
list
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<% Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
String sql= "select sno,sname,kor,eng,math,hist from examtbl";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs= pstmt.executeQuery();
//학생수 출력하기 - 쿼리문 하나 추가하기
String sql2= "select count(*) as count from examtbl";
PreparedStatement pstmt2 = conn.prepareStatement(sql2);
ResultSet rs2= pstmt2.executeQuery();
rs2.next();
int tc= rs2.getInt("count");
%>
<%@include file="top.jsp" %>
<section>
<br>
<div align="center">
<h2><b>학생성적목록보기(학생수:<%=tc %>명)</b></h2>
</div>
<div align="center">
<table border=1 width=600>
<tr>
<th>학번</th>
<th>이름</th>
<th>국어</th>
<th>영어</th>
<th>수학</th>
<th>역사</th>
<th>합계</th>
<th>평균</th>
</tr>
<%while(rs.next()){
int sum=rs.getInt("kor")+rs.getInt("eng")+rs.getInt("math")+rs.getInt("hist");
double avg= sum/4.0;
%>
<tr>
<td><%=rs.getString("sno") %></td>
<td><a href=edit.jsp?sno=<%=rs.getString("sno") %>><%=rs.getString("sname") %></a></td>
<td><%=rs.getInt("kor") %></td>
<td><%=rs.getInt("eng") %></td>
<td><%=rs.getInt("math") %></td>
<td><%=rs.getInt("hist") %></td>
<td><%=sum %></td>
<td><%=avg%></td>
</tr>
<%} %>
</table>
</div>
<br>
<%rs.close();
pstmt.close();
conn.close();
%>
</section>
<footer>
HRDKOREA Copyright 2018 ALL Rights resources Development Service of Korea
</footer>
</div>
</body>
</html>
이학생 클릭하면
edit
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="top.jsp"%>
<%@ page import = "java.sql.*" %>
<%
String sno = request.getParameter("sno"); //sno 받기
String url = "jdbc:oracle:thin:@//localhost:1521/xe";
String id = "system";
String pwd = "1234";
// 1) 데이터베이스 드라이버 로딩
Class.forName("oracle.jdbc.OracleDriver");
// 2)데이터베이스 컨넥션
Connection conn = DriverManager.getConnection(url, id, pwd);
// 3) SQL 쿼리문
String sql = "select * from examtbl where sno=? ";
// 4) PreparedStatement 객체 생성
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno); //받은 sno가 여기로 옴
// 5) 실행
ResultSet rs = pstmt.executeQuery(); // executeUpdate() or executeQuery()
rs.next();
sno = rs.getString("sno");
String sname = rs.getString("sname");
int kor = rs.getInt("kor");
int eng = rs.getInt("eng");
int math = rs.getInt("math");
int hist = rs.getInt("hist");
%>
<section>
<br>
<div align="center">
<font size=5><b>학생 성적 등록</b></font>
</div>
<div align="center">
<form name="f1" action=update_ok.jsp >
<table width=600 border=1 height=400>
<tr><td width=200 align="center">학번</td>
<td width=400><input type=text name=sno value="<%=sno%>"> </td></tr>
<tr><td align="center">학생이름</td>
<td ><input type=text name=sname value="<%=sname%>"> </td></tr>
<tr><td align="center">국어</td>
<td><input type=text name=kor size=10 value="<%=kor%>"></td></tr>
<tr><td align="center">영어</td>
<td><input type=text name=eng size=10 value="<%=eng%>"></td></tr>
<tr><td align="center">수학</td>
<td><input type=text name=math size=10 value="<%=math%>"> </td></tr>
<tr><td align="center">역사</td>
<td><input type=text name=hist size=10 value="<%=hist%>"></td></tr>
<tr>
<td colspan=2 align="center">
<input type=submit value="수정하기">
<input type=reset value="다시작성">
</td>
</tr>
</table>
</form>
</div>
<br>
<%
rs.close();
pstmt.close();
conn.close();
%>
</section>
<footer>
HRDKOREA Copyright 2018 ALL Rights resources Development Service of Korea
</footer>
</div>
</body>
</html>
form_ok
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import ="java.sql.*" %>
<%
String sno=request.getParameter("sno");
String sname=request.getParameter("sname");
String kor=request.getParameter("kor");
String eng=request.getParameter("eng");
String math=request.getParameter("math");
String hist=request.getParameter("hist");
// <쓰는 순서>
//1. database driver 로딩
Class.forName("oracle.jdbc.OracleDriver");
//2. database connection
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
//3.sql 쿼리문
String sql= "insert into examtbl (sno,sname,kor,eng,math,hist)values(?,?,?,?,?,?)";
//4.prepareStatement 객체생성
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sno);
pstmt.setString(2,sname);
pstmt.setString(3,kor);
pstmt.setString(4,eng);
pstmt.setString(5,math);
pstmt.setString(6,hist);
//5.실행하기
pstmt.executeUpdate();
//executeUpdate(), executeQuery() 두 가지 형태 있다 select일때 executeQuery()를쓴다
//sql select문은 6번까지
%>
<div align="center">
학번: <%=sno%> <br>
이름: <%=sname%> <br>
국어: <%=kor%> <br>
영어: <%=eng%> <br>
수학: <%=math%> <br>
역사: <%=hist%> <br>
</div>
<%
pstmt.close();
conn.close();
response.sendRedirect("index.jsp");
%>
update_ok
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import ="java.sql.*" %>
<%
String sno=request.getParameter("sno");
String sname=request.getParameter("sname");
String kor=request.getParameter("kor");
String eng=request.getParameter("eng");
String math=request.getParameter("math");
String hist=request.getParameter("hist");
// <쓰는 순서>
//1. database driver 로딩
Class.forName("oracle.jdbc.OracleDriver");
//2. database connection
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
//3.sql 쿼리문
String sql= "update examtbl set sname=?,kor=?,eng=?,math=?,hist=? where sno=?";
//4.prepareStatement 객체생성
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sname);
pstmt.setString(2,kor);
pstmt.setString(3,eng);
pstmt.setString(4,math);
pstmt.setString(5,hist);
pstmt.setString(6,sno);
//5.실행하기
pstmt.executeUpdate();
//executeUpdate(), executeQuery() 두 가지 형태 있다 select일때 executeQuery()를쓴다
%>
<div align="center">
학번: <%=sno%> <br>
이름: <%=sname%> <br>
국어: <%=kor%> <br>
영어: <%=eng%> <br>
수학: <%=math%> <br>
역사: <%=hist%> <br>
</div>
<%
pstmt.close();
conn.close();
response.sendRedirect("list.jsp");
%>
[40/73] JSP - 목록보기 검색추가 : 네이버 카페 (naver.com)
[40일차] list.jsp 학생성적목록보기 합계, 평균 추가
cafe.naver.com
'JAVA' 카테고리의 다른 글
[42일차] JSP->Servlet->impl->Dao (0) | 2022.07.19 |
---|---|
[41일차] 배포 export, import,servlet (0) | 2022.07.18 |
[40일차] chap.7 상속 (0) | 2022.07.15 |
[39일차] chap6. p248~ 패키지 (0) | 2022.07.14 |
[37일차] chap6 클래스 (0) | 2022.07.12 |