jsp와 java, html의 퓨전으로 성적 계산 처리하는 예제

안녕하세요

이번에는 이클립스 환경에서

jsp, java, html 각각의 소스로 성적 계산을 하는 예제를 올려봅니다.


옛날에 html, javascript 를 블로그에도 조금 올리고 다루었지만

1달 정도 안했더니 이게 완전 리셋된것처럼 적응이 안되네요 ㅜ

역시 프로그래밍 언어는 하루에 조금씩이라도 계속 손을 대야 녹슬지 않고 유지되는것 같습니다.


자 어쨋든 예제 소스 코드 올려봅니다.

파일 구성은 jsp 파일 두개입니다.

데이터를 입력 받는 클래스와 그 결과를 처리하는 클래스 두개입니답~!!



==========================================================

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

<!doctype html>
<html>
   <head><title>::성적 계산::</title>
   <link rel="stylesheet" type="text/css" href="../css/memo.css">
   <script type="text/javascript">
   //유효성 체크하는 함수 만들기
   var send=function(){
      //학번 체크
   
      //var n = getElementById('num');
      if(!f.num.value){
         alert('학번을 입력하세요.');
         f.num.focus();
         return;
      }
      if(isNaN(f.java.value)){
         alert('자바점수가 숫자가 아니에요');
         f.java.select();
         return;
      }
      if(isNaN(f.db.value)){
         alert('DB점수가 숫자가 아니에요');
         f.db.select();
         return;
      }
      if(isNaN(f.jsp.value)){
         alert('JSP점수가 숫자가 아니에요');
         f.jsp.select();
         return;
      }
      f.submit();
   }
 
   </script>
 
</head>
   <body>
   <h1>성적입력</h1>
   <form name="f" action="Result.jsp" method="post">
   <table border=1>
      <tr>
         <td colspan="2">학번</td>
         <td>
         <input type="text" name="num" id="stuNum">
         </td>
      </tr>
      <tr>
         <td rowspan="3">과목</td>
         <td>Java</td>
         <td>
         <input type="text" name="java" >
         </td>
      </tr>
      <tr>
         <td>Database</td>
         <td>
         <input type="text" name="db" >
         </td>
      </tr>
      <tr>
         <td>JSP</td>
         <td>
         <input type="text" name="jsp" >
         </td>
      </tr>
      <tr>
         <td colspan="3">
         <button type="button" onclick="send()">전송</button>
         </td>
      </tr>
   </table>
   </form>
   </body>

</html>


==========================================================

위 소스 코드를 실행하면..




위와 같은 창 화면이 빈 텍스트 창에 값을 입력하면

Result.jsp로 이동하면서 결과 화면이 출력됩니다.






Result.jsp 소스 코드는 바로 아래 올려드립니다.


==========================================================

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

<!doctype html>
<html>
<head><title>::성적 계산::</title>
<link rel="stylesheet" type="text/css" href="../css/memo.css">
<script type="text/javascript">

<%
//1. 사용자가 입력한 값 받기(num, java, db, jsp)
//내장객체 : request. HttpServletRequest 타입 : response. HttpServletResponse 타입
String num=request.getParameter("num");
String jav=request.getParameter("java");
String db=request.getParameter("db");
String jsp=request.getParameter("jsp");
out.println("학번 : "+num+", java="+jav+", db="+db+", jsp="+jsp);
// 유효성 체크 널 체크 => 요청 경로가 잘못된 경우
if(num==null||jav==null||db==null||jsp==null){
//response.sendRedirect("ex06.jsp");
%>
//자바스크립트 처리방식
<script type="text/javascript">
alert('잘못 들어온 경로입니다');
location.href='ex06.jsp';
</script>
<%
return;
}
//3. 빈문자열로 넘어올 경우 0점 처리 
if(jav.trim().isEmpty()){
jav="0";
}
if(db.trim().isEmpty()){
db="0";
}
if(jsp.trim().isEmpty()){
jsp="0";
}
int javInt=Integer.parseInt(jav.trim());
int dbInt=Integer.parseInt(db.trim());
int jspInt=Integer.parseInt(jsp.trim());
int sum=javInt+dbInt+jspInt;
float avg=sum/3.0f;

%>

<br> sum: <%=sum %>
<br> avg: <%=avg %>
</script>

<table border='1'>
<tr>
<td colspan="2">학번</td>
<td>
<b><%=num%></b>
</td>
</tr>
<tr>
<td rowspan="3">과목</td>
<td>Java</td>
<td>
<b><%=javInt%></b>
</td>
</tr>
<tr>
<td>Database</td>
<td>
<b><%=dbInt%></b>
</td>
</tr>
<tr>
<td>JSP</td>
<td>
<b><%=jspInt %></b>
</td>
</tr>
<tr>
<td colspan="2">평균점수</td>
<td style="color:red">
<b><%=avg%></b>
</td>
</tr>
<tr>
<td colspan="3">
<button type="button" onclick="history.back()">입력화면</button>
</td>
</tr>
</table>
</html>

==========================================================

댓글 없음:

댓글 쓰기