(1) JSP 예제

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

<%
// 자바를 짜는 영역임
	Calendar now = Calendar.getInstance();
	String s = String.format("%tF %tA %tT", now, now, now);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<h3>JSP 첫 번째 - 예제</h3>

<p>
	지금 시간은 <span style="color: tomato;"> <%= s %> </span> 입니다.
</p>

</body>
</html>

 

(2) Servlet 예제

<%@ 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>

<h3>서블릿 예제 - 파라미터 전달 예</h3>

<p>
	<a href="/study2/test?name=Lee&age=19">확인</a>
</p>
<hr>

<form action="/study2/test" method="post">
	<p> 이름 : <input type="text" name="name"></p>
	<p> 나이 : <input type="text" name="age"></p>
	<p>
		<button type="submit">확인</button>
	</p>
</form>

</body>
</html>
package com.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

// web.xml 이 선택사항인 이유는 annotation을 이용할 수 있기 때문이다.
@WebServlet("/test") // 클라이언트가 주소줄에 test라고 요청하면, 의 의미이다.
public class TestServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 클라이언트가 GET 방식으로 요청한 경우 실행
		// GET : 기본 요청방식으로 주소줄에 파라미터를 전달, 보안에 취약
		
		try {
			// 클라이언트가 보낸 파라미터를 받는다.
			String name = req.getParameter("name");
			int age = Integer.parseInt(req.getParameter("age"));
			
			// 처리
			String state = age >= 19 ? "성인" : "미성년자";

			// 처리 결과를 클라이언트에게 전송 한다.
			resp.setContentType("text/html; charset=utf-8");

			PrintWriter out = resp.getWriter();
			out.println("<html>");
			out.println("<head><title>servlet 예제</title></head>");
			out.println("<body>");
			out.println("<h3> GET방식으로 요청한 처리 결과 </h3>");
			out.println("<p>" + name + "님의 나이가 " + age + "이므로 <b>" + state + "</b>입니다.</p>");
			out.println("</body>");
			out.println("</html>");

		} catch (Exception e) {
			getServletContext().log("error!!", e);
		}
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 클라이언트가 POST 방식으로 요청한 경우 실행
		// POST : <form method="post" action ... ></form> 을 통해서 요청
		// 		  body 부분에 정보를 보냄
		
		try {
			// 요청한 정보의 문자 인코딩 설정. 이 줄을 생략하면 한글이 깨짐.
			req.setCharacterEncoding("utf-8");
			
			// 클라이언트가 보낸 파라미터를 받는다.
			String name = req.getParameter("name");
			int age = Integer.parseInt(req.getParameter("age"));
			
			// 처리
			String state = age >= 19 ? "성인" : "미성년자";

			// 처리 결과를 클라이언트에게 전송 한다.
			resp.setContentType("text/html; charset=utf-8");

			PrintWriter out = resp.getWriter();
			out.println("<html>");
			out.println("<head><title>servlet 예제</title></head>");
			out.println("<body>");
			out.println("<h3> POST방식으로 요청한 처리 결과 </h3>");
			out.println("<p>" + name + "님의 나이가 " + age + "이므로 <b>" + state + "</b>입니다.</p>");
			out.println("</body>");
			out.println("</html>");

		} catch (Exception e) {
			getServletContext().log("error...", e);
		}
		
	}

}

 

+ Recent posts