반응형
[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 |