Problem solving/쉽게 배우는 JSP 웹 프로그래밍

[쉽게 배우는 JSP 웹프로그래밍] 4장 연습문제

공부좀하시졍 2020. 10. 21. 02:53

1. forward와 include 액션 태그의 차이점을 간단히 설명하시오.

forward 액션 태그는 그 전까지 출력 버퍼에 저장되어 있던 내용을 모두 삭제하고 forward 액션 태그에 설정된 페이지로 프로그램의 제어가 이동한다. 

include 액션 태그는 이전에 저장되어 있던 출력 버퍼를 채워서 나머지 출력이 이루어지고, 프로그램 제어는 이동되지 않는다. 

 

2. include 액션 태그와 include 디렉티브 태그의 차이점을 설명하시오.

include 디렉티브 태그는 단순하게 다른 페이지의 내용이 텍스트로 포함되지만 include 액션 태그는 다른 페이지의 처리 결과 내용을 포함한다. 또한, include 액션 태그는 화면 레이아웃의 일부분을 모듈화할 때 주로 사용되고 동적 페이지에 사용되지만 include 디렉티브 태그는 다수의 JSP 웹 페이지에서 공통으로 사용되는 코드나 저작권과 같은 문장을 포함하는 경우에 사용되며 정적페이지에 사용된다.

 

3. 자바 빈즈를 작성하는 기법을 예를 들어 설명하시오.

자바빈즈를 작성할 때는 다음 규칙을 따라야 한다.

1. 자바 클래스는 java.io.Serializable 인터페이스를 구현해야 한다.

2. 인수가 없는 기본 생성자가 있어야 한다.

3. 모든 멤버 변수인 프로퍼티는 private 접근 지정자로 설정해야 한다.

4. 모든 멤버 변수인 프로퍼티는 getter/setter() 메소드가 존재해야 한다.

 

4. forward 액션 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.

forward.jsp

<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
	<h4>구구단 출력하기</h4>
	<jsp:forward page="forward_data.jsp">
		<jsp:param name="num" value= "5" />
	</jsp:forward>
</body>
</html>

forward_data.jsp

<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
	<%
		String strNum = request.getParameter("num");
		int intNum = Integer.parseInt(strNum);
	%>
	
	<%
		for (int i=1;i<10;i++){
			out.print(intNum + " * " + i + " = " +(intNum*i)+"<br>");
		}
	%>
</body>
</html>

 

5. include 액션 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.

include.jsp

<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
	<h4>구구단 출력하기</h4>
	<jsp:include page="include_data.jsp" flush="false">
		<jsp:param name="num" value= "5" />
	</jsp:include>
</body>
</html>

include_data.jsp

<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
	<%
		String strNum = request.getParameter("num");
		int intNum = Integer.parseInt(strNum);
	%>
	
	<%
		for (int i=1;i<10;i++){
			out.print(intNum + " * " + i + " = " +(intNum*i)+"<br>");
		}
	%>
</body>
</html>

 

6. 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.

GuGuDan.java

package ch04.com.dao;

public class GuGuDan {
	
	public GuGuDan() {
		
	}
	
	public int process(int n, int i) {
		return n*i;
	}
}

useBean.jsp

<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
	<jsp:useBean id="gugudan" class="ch04.com.dao.GuGuDan" scope="request" />
	<h4>구구단 출력하기</h4>
	<%
		int num = 0;
	
		for(int i=1;i<10;i++){
			num = gugudan.process(5,i);
			out.print(5 + " * " + i + " = " + num + "<br>");
		}		
	%>
</body>
</html>

 

 

2020/10/21 - [전체 글 보기] - [쉽게 배우는 JSP 웹프로그래밍] 3장 연습문제