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

JSP 강의 정리 5일차

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

[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

 

[] form 태그로 입력폼 만들기 예제

 

java Resources>src/main/java>com.java.servlet

Servlet04.java

package com.java.servlet;

import java.io.IOException;
import java.util.Enumeration;

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 Servlet04
 */
@WebServlet("/Servlet04")
public class Servlet04 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
	request.setCharacterEncoding("UTF-8");
	
	Enumeration<String> e = request.getParameterNames();
	// 반환 타입이 Enumeration 타입으로 요청 페이지의
	// 모든 파라미터 이름의 목록을 반환한다.
	// Enumeration 인터페이스는 컬렉션 프레임 워크가 만들어지기 전
	// Iterator의 이전 버전이다.
	
	while(e.hasMoreElements()) {
		// 읽어올 요소가 있는지 확인 후, 있으면 true, 없으면 false 반환
	
		String name = e.nextElement();
		// 다음 요소를 읽어온다.
		
		
		String[] values = request.getParameterValues(name);
		
		for(String value :values) {
			System.out.println("이름 : " + name + ", 값 : " + value);
		}
		
	}
	
	}

}

 

src>main>webapp>

formEx02.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 
		form 태그로 학번 이름 전화번호 전공(radio) 동아리(check)
		입력받는 입력폼 만들기
	 -->
	 
	 <form action="Servlet04" method="post">
	 
	 학번 : <input type="text" name="studentID" size="10"><br>
	 이름 : <input type="text" name="name" size="10"><br>
	 전화번호 : <input type="text" name="phonenumber" size="12"><br>
	 
		전공 : <input type="radio" name="major" value="com">컴퓨터
		<input type="radio" name="major" value="math">수학
		<input type="radio" name="major" value="economy">경제
		<input type="radio" name="major" value="law">법<br>
		
	 동아리 :  <input type="checkbox" name="club" value="camera">카메라
	<input type="checkbox" name="club" value="run">러닝
	<input type="checkbox" name="club" value="travel">여행
	<input type="checkbox" name="club" value="bycycle">자전거<br>
	 
	 <input type="submit" value="서버로 전송">
	 
	 </form>
	 
</body>
</html>

 

[] 숫자 합 출력하기 예제

() java Resources>src/main/java>com.java.servlet

test01.java

package com.java.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

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("/Test01")
public class Test01 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 폼에서 넘어온 숫자를 받고
		// 1부터 넘어온 숫자까지의 합을 구해서
		// 웹 브라우저에 출력하기
		// 예 : 넘어온 숫자 > 5면 1 + 2 + 3 + 4 + 5 : 15를 출력
		
		String str = request.getParameter("number");
		
		int number = Integer.parseInt(str);
		// 문자열 숫자로 변경
		
		int hap = 0;
		
		for(int i = 1; i <= number; i++) {
			hap = hap + i;
		}
		
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html; charset=UTF-8");
		
		PrintWriter out = response.getWriter();
		
		out.print("<h2>1부터" + number + "까지의 합 : " + hap + "</h2>");
		
		out.close();
	
	}

}

 

()src>main>webapp>

testForm.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	<form action="Test01" method="post">
	
		숫자 입력 : <input type="number" name="number">
		
		<input type="submit" value="숫자전송">
	
	</form>
	
</body>
</html>

 

[] form 태그로 입력받는 폼 만들기 2 예제

() java Resources>src/main/java>com.java.servlet

Test02.java

package com.java.servlet;

import java.io.IOException;
import java.io.PrintWriter;
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;

@WebServlet("/Test02")
public class Test02 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		// 넘어온 데이터 받기 request 객체의
		//getParameter, getParameterValues
		
		// 해당하는 변수에 저장 후 
		// 웹 브라우저에 이름, 아이디 비밀번호, 취미, 성별, 사는지역 출력하기
		request.setCharacterEncoding("UTF-8");
		String name = request.getParameter("name");
		String id = request.getParameter("id");
		String pw = request.getParameter("pw");
		
		String[] hobby = request.getParameterValues("hobby");
		
		String gender = request.getParameter("gender");
		String area = request.getParameter("area");
		
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html; charset=UTF-8");
		
		PrintWriter out = response.getWriter();
		out.print("<!DOCTYPE html>");
		out.print("<html>");
		out.print("<head>");
		out.print("<title>폼 데이터</title>");
		out.print("</head>");
		out.print("<body>");
		out.print("<h2>넘어온 회원정보</h2>");
		out.print("이름 : " + name + "<br>");
		out.print("아이디 : " + id + "<br>");
		out.print("비밀번호 : " + pw + "<br>");
		out.print("취미 : " + Arrays.toString(hobby)+"<br>");
		out.print("성별 : " + gender + "<br>");
		out.print("사는 지역 : " + area +"<br>");
		out.print("</body>");
		out.print("</html>");
		
	}

}

 

() src>main>webapp>

testForm02.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	<!-- 
		form 태그로 이름, 아이디, 비밀번호, 취미(checkbox),
		성별(radio), 사는지역(select) 입력받는 폼 만들기
	 -->
	 
	 <form action="Test02" 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="camera">카메라
	<input type="checkbox" name="hobby" value="run">러닝
	<input type="checkbox" name="hobby" value="travel">여행
	<input type="checkbox" name="hobby" value="bycycle">자전거<br>
	성별 : <input type="radio" name="gender" value="male">남자
	<input type="radio" name="gender" value="female">여자<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 강의 정리 7일차  (0) 2022.07.14
JSP 강의 정리 6일차  (0) 2022.07.13
JSP 강의 정리 4일차  (0) 2022.07.11
JSP 강의 정리 3일차  (0) 2022.07.08
JSP 강의 정리 2일차  (0) 2022.07.07