반응형

# MVC02_03 JSP를 Servlet으로 변경해보기

## JSP의 내장객체

  • 내장객체는 이미 Servlet으로 변환될 때 만들어짐
  • request, response : JSP의 내장객체(이미 만들어진 객체)
  • 그외에도 session, out, config, application, page, pageContext 등의 JSP 내장 객체가 존재.

## JSP를 Servlet으로 변환

  • 아래 JSP 코드를 Servlet으로 변환할 예정
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%-- 두 수 사이의 총합을 구하는 메서드 --%>
<%!
	public int hap(int s, int e) {
		int sum = 0;
	
		for ( int i = s; i <= e; i++ ) {
			sum += i;
		}
		
		return sum;
	}
%>
<%
	int sum = 0;

	for ( int i = 1; i <= 10; i++ ) {
		sum += i;
	}
%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
	<tr>
		<td>1 ~ 10까지의 총합</td>
		<td><%=sum %></td>
	</tr>
	<tr>
		<td>55 ~ 350까지의 총합</td>
		<td><%=hap(55, 350) %></td>
	</tr>
</table>
</body>
</html>
  • 위 코드를 변환 하면 아래와 같다.

### JSP 상단 페이지 지시자

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

Servlet 으로 변환
=>
response.setContentType("text/html; charset=utf-8");

### JSP 주석

JSP
=>
<%-- --%>	: 주석

Servlet 으로 변환
// 			: 주석

### 메서드

JSP
=>
<%!
	public int hap(int s, int e) {
		int sum = 0;
	
		for ( int i = s; i <= e; i++ ) {
			sum += i;
		}
		
		return sum;
	}
%>


Servlet 으로 변환
=>
public int hap(int s, int e) {
	int sum = 0;
	
	for ( int i = s; i <= e; i++ ) {
		sum += i;
	}
		
	return sum;
}

### 스크립트릿

JSP
=>
<%
  int sum = 0;

  for ( int i = 1; i <= 10; i++ ) {
  sum += i;
  }
%>

Servlet 으로 변환
=>
int sum = 0;

for ( int i = 1; i <= 10; i++ ) {
  sum += i;
}

### HTML 코드

  • 100% 다 변환되는 건 아니지만 대부분 아래처럼 변환
JSP
=>
<!DOCTYPE html>
등등... 

Servlet 으로 변환
=>
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<tr>");
out.println("<td>1 ~ 10까지의 총합</td>");
out.println(sum);
out.println("</tr>");

### JSP > Servlet 변환된 코드

import java.io.*;
import javax.servlet.*;
import.javax.servlet.http.*;

public int hap(int s, int e) {
	int sum = 0;
	
	for ( int i = s; i <= e; i++ ) {
		sum += i;
	}
		
	return sum;
}

public class test01_jsp extends HttpServlet {
	public void service(HttpServletRequest request, HttpServletResponse response) 
						throws ServletException, IOException {
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();

		// 두 수 사이의 총합을 구하는 메서드
		int sum = 0;

		for ( int i = 1; i <= 10; i++ ) {
			sum += i;
		}

		out.println("<!DOCTYPE html>");
		out.println("<html>");
		out.println("<tr>");
		out.println("<td>1 ~ 10까지의 총합</td>");
		out.println(sum);
		out.println("</tr>");
		out.println("<tr>");
		out.println("<td>55 ~ 350까지의 총합</td>");
		out.println(hap(55,350));
		out.println("</tr>");
	}
}

반응형

+ Recent posts