SW53일차 공부

Guryena·2023년 3월 27일
0

JSP

목록 보기
1/2

1.구구단을 gugudan.jsp 로 짜시오.

  • scriptlet
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<%
		for (int x =1; x <10; x++){
			out.print("=====" + x + "단" + "=====<br />");
			for (int y = 1; y < 10; y++ ){
				out.print(x + " x " + y + " = " + x*y + "<br>");
			}
			
			out.print("<hr>");
		}
	%>
	
</body>
</html>

2. 아래의 용어를 설명하시오.

  • 스크립트릿
    자바 서버 페이지(JSP) 기술에서 스크립틀릿(scriptlet)은 HTML과 같은 JSP 코드에 내장된 자바 코드의 한 부분이다. 스크립트릿은 <% %> 태그 내의 모든 것이다. 이 사이에서 사용자는 유효한 스크립트릿, 즉 유효한 Java 코드를 추가할 수 있다.

    애플스크립트에서 스크립틀릿은 작은 스크립트이다.

    윈도에서 스크립트릿(scriptlet)은 HTML 코드와 다양한 스크립트 언어로 작성될 수 있는 스크립트를 포함하는 COM 구성 요소이다.

    스크립트릿(scriptlet)은 RPM 패키지 관리 시스템에서 SPEC 파일에 포함된 스크립트이다.
<%  java source code %> 
  • 선언문(declaration)
    JSP 선언 태그는 필드 및 메서드를 선언하는 데 사용된다.

    jsp 선언 태그 내부에 작성된 코드는 자동 생성 서블릿의 service() 메서드 외부에 배치된다.

    따라서 요청할 때마다 메모리를 얻지 못한다.
<%!  field or method declaration %>  
  • 표현식(expression)
    JSP 식 태그 내에 배치된 코드는 응답의 출력 스트림에 기록된다. 따라서 데이터를 쓰기 위해 out.print()를 쓸 필요가 없다. 주로 변수나 방법의 값을 인쇄하는 데 사용된다.
<%  java source code %>  

3. 국어 영어 수학을 입력(grade.jsp)후 grade_result.jsp 에 총점 평균 학점이 나오도록 짜시오.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>grade</title>
</head>
<body>
<form action='grade_result.jsp' method="post">
	국어 <input type="number" name='kor'>
	영어 <input type="number" name='eng'>
	수학 <input type="number" name='math'>
	<input type='submit' value='결과'>
	</form>
</body>
</html>
<%@page import="servletEx02.grade.Grade"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>grade_result</title>
</head>
<body>
	<%
				
		String getKor = request.getParameter("kor".trim()); //trim() removes meaningless spaces 
		String getEng = request.getParameter("eng".trim());
		String getMath = request.getParameter("math".trim());
		
		double kor = Double.valueOf(getKor);
		double eng = Double.valueOf(getEng);
		double math = Double.valueOf(getMath);
		
		
		Grade grade = new Grade(kor, eng, math);
		double sum = grade.getSum();
		double avg = grade.getAvg();
		char chgrade = grade.getGrade();
	%>
		
		합계 : <%= sum %>
		평균 : <%= avg %>
		등급 : <%= chgrade %>
	
</body>
</html>
package servletEx02.grade;

public class Grade {
	private double kor;
	private double eng;
	private double math;
	
	public Grade(double kor, double eng, double math) {
		this.kor=kor;
		this.eng=eng;
		this.math=math;
	}
	
	public double getSum() {
		double sum = kor + eng + math;
		return sum;
	}
	public double getAvg() {
		double avg = (double) getSum() / 3;
		return avg;
	}
	
	public char getGrade() {
		char grade = '가';
		if (getAvg()>=90) {
			grade = '수';
		}
		else if (getAvg()>=80) {
			grade = '우';
		}
		else if (getAvg()>=70) {
			grade = '미';
		}
		else if (getAvg()>=60) {
			grade = '양';
		}
		return grade;
	}
	
}

0개의 댓글