본문 바로가기
강의/JSP 강의 정리

JSP 강의 정리 4일차

by 리드민 2022. 7. 11.
반응형

[1] 테스트 환경

hardware
cpu : intel i7-7700, gpu : intel hd 630, ram : ddr4 16GB, mainboard : samsung DB400S7A-Z51, secondary storage : 256GB SSD, 1TB HDD
OS
windows pro 64bits
software
jdk version 1.8.0_301
eclipse version 2021-09 (4.21.0)
apache-tomcat version 9.0.54

 

[]

 

[] 어노테이션

package com.java.servlet;

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;

// 어노테이션이란 메타데이터라고 볼 수 있다.
// 프로그램 실행 관점에서 보면 프로그램이 처리할 메인 데이터가 아니라
// 실행 과정에서 데이터를 어떻게 처리할 것인지 알려주는 서브데이터이다.
// 자바코드에 @를 사용해서 주석처럼 달아 특수한 의미를 부여해준다.
// 어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다.

//@WebServlet("/HelloServlet")
public class Servlet01 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// request : 클라이언트로부터의 요청처리 객체
		// 예(로그인시) : 클라이언트의 아이디와 비밀번호 정보는 request 객체에 담겨져 온다.
		
		// response : 클라이언트로의 응답처리 객체
		// 예(로그인시) : 회원인지 아닌지 정보를 클라이언트한테 보낸다.
		
		response.setCharacterEncoding("UTF-8");
		// UTF-8로 웹브라우저에 보낸다.
		
		response.setContentType("text/html; charset=UTF-8");
		// 웹브라우저에게 HTML 문서를 UTF-8로 해석하라는 뜻.
		
		PrintWriter out = response.getWriter();
		// 웹 브라우저에게 출력하기 위한 출력스트림 얻기
		
		out.print("<!DOCTYPE html>");
		out.print("<html>");
		out.print("<head>");
		out.print("<title>Servlet</title>");
		out.print("</head>");
		out.print("<body>");
		for(int i = 0; i<10; i++) {
			out.print("<h1>서블릿 시작합니다~!!!</h1>");
		}
		out.print("</body>");
		out.print("</html>");
		
		out.close();
	}


}

 

[] get, Post 전송 방식

() Servlet02.java

package com.java.servlet;

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;

@WebServlet("/Servlet02")
public class Servlet02 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// doGet 메소드 생성
		
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html; charset=UTF-8");
		
		String id = request.getParameter("id");
		// 값을 받아서 변수 id를 선언하고 저장
		
		String pw = request.getParameter("pw");
		
		PrintWriter out = response.getWriter();
		out.print("doGet 메소드 입니다.");
		out.print("넘어온 아이디 : " + id + "<br>");
		out.print("넘어온 비밀번호 : " + pw + "<br>");
		
		
		out.close();
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// doPost 메소드 생성
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html; charset=UTF-8");

		String id = request.getParameter("id");
		// 값을 받아서 변수 id를 선언하고 저장
		String pw = request.getParameter("pw");

		
		PrintWriter out = response.getWriter();

		out.print("doGet 메소드 입니다.");
		
		out.print("넘어온 아이디 : " + id + "<br>");
		out.print("넘어온 비밀번호 : " +pw + "<br>" );
		
		
		out.close();
	}

}

 

() getPost.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>GET 방식</h2>

	<!-- 
		get 방식은 url에 정보(데이터)가 담겨져 보안에 약하다.
	 -->	

	<form action="http://localhost:8090/JSP02/Servlet02" method="get">
	
		아이디 : <input type="text" name="id" size="10"><br>
		비밀번호 : <input type="password" name="pw" size="10"><br>
	
		<input type="submit" value="GET">
	</form>

	
	<h2>POST 방식</h2>
	
	<!-- 
		post 방식은 url로 정보가 담겨져 있지 않아 보안에 강하다.
	 -->
	
	<form action="Servlet02" method="post">

		아이디 : <input type="text" name="id" size="10"><br>
		비밀번호 : <input type="password" name="pw" size="10"><br>
		
		<input type="submit" value="POST">	
	</form>
	
</body>
</html>

 

 

[] 회원 가입 전송

Servlet03.java

package com.java.servlet;

import java.io.IOException;
import java.util.Arrays;

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

/**
 * Servlet implementation class Servlet03
 */
@WebServlet("/Servlet03")
public class Servlet03 extends HttpServlet {
	private static final long serialVersionUID = 1L;


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		// POST 방식의 요청 한글처리
		
		String name = request.getParameter("name");
		String id = request.getParameter("id");
		String pw = request.getParameter("pw");
		
		String[] hobby = request.getParameterValues("hobby");
		
		String area = request.getParameter("area");
		
		System.out.println("이름 : " + name);
		System.out.println("아이디 : " + id);
		System.out.println("비밀번호 : " + pw );
		System.out.println("취미 : " + Arrays.toString(hobby));
		System.out.println("사는 지역 " + area);
		
	}

}

 

formEx.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="Servlet03" method="post">
	
		이름 : <input type="text" name="name" size="10"><br>
		아이디 : <input type="text" name="id" size="10"><br>
		비밀번호 : <input type="password" name="pw" size="10"><br>
		
		취미 : <input type="checkbox" name="hobby" value="swim">수영
		<input type="checkbox" name="hobby" value="read">독서	
		<input type="checkbox" name="hobby" value="game">게임
		<input type="checkbox" name="hobby" value="run">달리기
		<br>
		
		사는지역 : <select name="area">
			<option value="seoul">서울</option>
			<option value="daejeon">대전</option>
			<option value="daegu">대구</option>
			<option value="busan">부산</option>
		</select>	
		<br>
		
		<input type="submit" value="서버로 전송">
						
	</form>

</body>
</html>

 

 

반응형

'강의 > JSP 강의 정리' 카테고리의 다른 글

JSP 강의 정리 6일차  (0) 2022.07.13
JSP 강의 정리 5일차  (0) 2022.07.12
JSP 강의 정리 3일차  (0) 2022.07.08
JSP 강의 정리 2일차  (0) 2022.07.07
JSP 강의 정리 1일차  (0) 2022.07.06