본문 바로가기

JAVA

[40일차] jsp

여기부터 시작 

form_ok.jsp

 

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