• 티스토리 홈
  • 프로필사진
    조별하
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
조별하
  • 프로필사진
    조별하
    • 분류 전체보기 (124)
      • 1. 공부 (0)
        • 기술 면접 (0)
      • 2. 웹개발 (7)
        • Java (1)
        • IT 정보 (5)
        • Error 모음 (1)
      • 3. 개인관심 (1)
        • 전자 (1)
      • GITHUB (5)
      • IT 기술 면접 (3)
      • COMPUTER (2)
      • TASK (1)
      • LANGUAGES (20)
        • Python (3)
        • Django (6)
        • Java (7)
        • Node (1)
        • Jsp (2)
        • R (1)
      • 데이터과학 (2)
        • 머신러닝 및 딥러닝 (2)
      • DATABASE (5)
        • Oracle (2)
      • ISSUE (10)
        • Django (4)
        • Drf (2)
        • Javascript (1)
        • Git (1)
      • JAVA 교육 (65)
        • Java (3)
        • Jquery (2)
        • Sql (16)
        • Jdbc (1)
        • Db (2)
        • Jsp (9)
        • myWeb (15)
        • Servlet (4)
        • Spring (12)
        • Crawling (0)
        • Hosting (1)
      • 정보처리산업기사 (1)
      • EDUCATION (2)
        • IoT 서비스 (2)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 2019/08/22 JSP 성적프로그램(기초문법,배열,메소드)
        2019년 08월 22일
        • 조별하
        • 작성자
        • 2019.08.22.:42

        1) java에서 했던 성적 을 나타내보자

        <%@ page  contentType="text/html; charset=UTF-8"%>
        <!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <title>02_성적프로그램.jsp</title>
        </head>
        <body>
        	<h1>성적프로그램</h1>
        	<%
        	String name="겨울밤";
        	int kor=80, eng=90, mat=85;
        	int aver= (kor + eng+ mat)/3;
        	
        	//1)출력
        	out.println("이름:"+name+"<br>");
        	out.println("국어:"+kor+"<br>");
        	out.println("영어:"+eng+"<br>");
        	out.println("수학:"+mat+"<br>");
        	out.println("평균:"+aver+"<br>");
        	//byte int short long
        	
        	%>
        </body>
        </html>

        왼쪽- 위의 코드를 서버를 통해 출력해 낸값 오른쪽- 그 웹 페이지를 페이지 소스보기 보았다

        코드로 나타내는 HTML 문법인 태그는 페이지 소스보기로 보여지지만 JSP는 보여지지 않는다!

         

        2) JSP안에서 표를 작성하여 출력해보자

        //2)표작성 출력
        	out.println("<table border='1px'>");
        	out.println("<tr>");
        	out.println("<th>이름</th>");
        	out.println("<td>"+name+"</td>");
        	out.println("</tr>");
        	out.println("<tr>");
        	out.println("<th>국어</th>");
        	out.println("<td>"+kor+"</td>");
        	out.println("</tr>");
        	out.println("<tr>");
        	out.println("<th>영어</th>");
        	out.println("<td>"+eng+"</td>");
        	out.println("</tr>");
        	out.println("<tr>");
        	out.println("<th>수학</th>");
        	out.println("<td>"+mat+"</td>");
        	out.println("</tr>");
        	out.println("<tr>");
        	out.println("<th>평균</th>");
        	out.println("<td>"+aver+"</td>");
        	out.println("</tr>");
        	out.println("</table>");

        결과

        3) 표현식(Expression) : out.print() 의 단축키

        <table border="1">
        	<tr>
        	<th>이름</th>
        	<td><%out.print(name);%></td>
        	</tr>
            </table>

        ※ 위와 같이 html <body> 태그안에 테이블을 작성할때 JSP를 이용할 수 있다

        <body>
        <tr>
        <th>국어</th>
        <td><%=kor%></td>
        </tr>
        <tr>
        <th>영어</th>
        <td><%=eng%></td>
        </tr>
        <tr>
        <th>수학</th>
        <td><%=mat%></td>
        </tr>
        <tr>
        <th>평균</th>
        <td><%out.print(aver);%></td>
        </tr>
        </body>

        ※ 또 다른 방법으로 <%=     %>안에 '=' 을 넣어줘서  JSP에서 설정한 변수값을 넣어주면 <%=kor%> 출력가능

        같은 결과


        4) 배열

        <%@ page  contentType="text/html; charset=UTF-8"%>
        <!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <title>03_배열.jsp</title>
        </head>
        <body>
        <h1>성적프로그램(배열)</h1>
        <%
        	String[] name={"봄비","여름바다","가을하늘","겨울밤","계절이"};
        	int[] kor    ={100,75,65,85,95};
        	int[] eng    ={100,40,80,95,90};
        	int[] mat    ={95,50,60,35,85};
        	int[] aver   =new int[5];
        	int[] rank   ={1,1,1,1,1};
        	int size=name.length;
        	
        		//1)평균을 구하시오
        		//2)등수를 구하시오(평균을 기준으로)
        
        
        //	name[0]의 평균은
        //	(kor[0]+eng[0]+mat[0])/3 이다			
        //	aver[0]= (kor[0]+eng[0]+mat[0])/3		
        //	rank[0] 은 rank[1],ranl[2],ranl[3],ranl[4] 과 비교해서
        //	작으면 rank[0]+=1 크면 rank[0]=rank[0] 
        					
        			
        	for(int a=0; a<size;a++){
        		aver[a]=(kor[a]+eng[a]+mat[a])/3;
        	}
        	for(int a=0; a<size;a++){		
        		for(int b=0; b<size;b++){
        				if(aver[a]<aver[b]){
        				rank[a]=rank[a]+1;
        		}
        	}
        		out.println(name[a]+"의 평균은 "+aver[a]+"이고 등수는 "+rank[a]+"입니다"+"<br>");
        	}//for end
        		out.println("<hr>");
        %>

        ▲위에 할당한 배열로 각 이름에 맞는 평균과 등수를 구함

        ▼HTML에서 표를 이용해 데이터 값을 출력해보자

        <table border="1">
        <tr>
        	<th>이름</th>
        	<th>국어</th>
        	<th>영어</th>
        	<th>수학</th>
        	<th>평균</th>
        	<th>등수</th>
        	<th>결과</th>
            <th>star</th>
            <th>우등생</th>
        </tr>
        <%
        	for(int a= 0; a<size; a++){
        %>			
        <tr>
        	<td><%=name[a]%></td>
        	<td><%=kor[a]%></td>
        	<td><%=eng[a]%></td>
        	<td><%=mat[a]%></td>
        	<td><%=aver[a]%></td>
        	<td><%=rank[a]%></td>
        	<td></td>
        </tr>		
        <% 		
        		}//for end
        %>
        	
        </table>

        위에서 구한 데이터들을 HTML 에서 표로 작성

        ※밑에 있는 이름에 맞는 데이터를 각각 넣어줄때 for문을 사용해 줘야 하는데
          HTML에서는 for이 들어가지 않기 때문에 <% %>를 중간에 넣어줘서 for 문을 넣고 위에서
          만든 배열을 반복문으로 레터링시켜준다.

         

        ▼위의 테이블에서 결과 값을 출력해 보자

        <%
        	if(aver[a]>=70){
        		if(kor[a]<40||eng[a]<40||mat[a]<40){
        			out.print("재시험");
        		}else{
        			out.print("합격");
        		}
        	}else{out.print("불합격");}
        %>

        <td></td>안에 if문으로 조건을 걸어주어 과락을 결과값에 출력해준다

         

        ▼위 조건과 같이 점수 10점당 ★을 넣어주고 평균이 95점 이상인 학생을 장학생을 빨강색으로 나타내 주자

        <td>
        <%
        		if(aver[a]>=70){
        			if(kor[a]<40||eng[a]<40||mat[a]<40){
        				out.print("재시험");
        			}else{
        				out.print("합격");
        			}
        		}else{out.print("불합격");} 
        
        %>
        		</td>
        		<td>
        <%	
        		for(int star=1;star<=aver[a]/10; star++){
        			out.print("<style>.a{color:orange}</style>");
        			out.print("<strong class='a'>★</strong>");
        		}
        %>	
        		</td>
        		<td>
        <%	
        		//평균이 95이상이면 장학생(진하게,빨강색)
        		if(aver[a]>95){
        			out.print("<style>.b{color:red}</style>");
        			out.print("<strong class='b'> 장학생</strong>");
        		} 
        %>	
        		</td>


        5) 메소드

        <%@ page  contentType="text/html; charset=UTF-8"%>
        <!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <title>04_메소드.jsp</title>
        </head>
        <body>
        	<h1>JSP 사용자 정의 함수</h1>
        	최대값 : <%=max(3,5) %>
        	<hr>
        	두수 사이의 차이 : <%=diff(2,6) %>
            
        <%!
        	//<% 태그에 !만 넣어주면 된다
        	//JSP함수 작성 영역  (많이 사용안함)
        	public int max(int a ,int b){
        	  return Math.max(a,b);
        	}//max() end
        		
        	public int diff(int a ,int b){
        	  int c= a-b;
        	  return (c<0)?-c:c;	
        		}//diff() end
        %>
        </body>
        </html>

        <%%>로 메소드를 불러와 변수값을 넣어준 함수를 만들어 보았다

        -max(){} 함수는 Math.max로 매개변수 a,b 값을 넣어주어 함수 생성

        -diff(){} 함수는 3항연산자를 이용해 두 수의 차인 함수를 생성하였다 

        'JAVA 교육 > Jsp' 카테고리의 다른 글

        2019/08/23 계산 연습  (0) 2019.08.23
        2019/08/23 JSP에서 를 HTML이용한 성적 양식 만들어 보기  (0) 2019.08.23
        2019/08/23 내부객체  (0) 2019.08.23
        2019/08/22 JSP 기초 문법  (0) 2019.08.22
        2019/08/21 JSP란?  (0) 2019.08.21
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바