기타/Servlet

서블릿(servlet) 간단한 예제

공부하는리아 2020. 12. 7. 16:20
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="./xxxx" method="post">
		이름: <input type="text" name="name" /> <br/>
		아이디: <input type="text" name="id" /> <br/>
		비밀번호: <input type="text" name="pw" /> <br/>
		취미<br/>
		<input type="checkbox" name="hobby" value="요리" />요리 
		<input type="checkbox" name="hobby" value="달리기" />달리기 
		<input type="checkbox" name="hobby" value="수영" />수영 
		<input type="checkbox" name="hobby" value="낮잠" />낮잠 <br/>
		전공 <br/>
		<input type="radio" name="major" value="국어"/>국어 
		<input type="radio" name="major" value="영어" checked="checked"/>영어 
		<input type="radio" name="major" value="수학"/>수학 
		<input type="radio" name="major" value="디자인"/>디자인 <br/>
		<select name="protocol">
			<option value="http">http</option>
			<option value="ftp" selected="selected">ftp</option>
			<option value="smtp">smtp</option>
			<option value="pop">pop</option>
		</select><br/>
		<input type="submit" value="전송"/>
		<input type="reset" value="초기화"/>
	</form>

</body>
</html>
package com.vison.servletex;

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;

/**
 * Servlet implementation class Testxxx
 */
@WebServlet("/xxxx")
public class Testxxx extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Testxxx() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=UTF-8");
		
		String name = request.getParameter("name");
		String id = request.getParameter("id");
		String pw = request.getParameter("pw");
		String [] hobby = request.getParameterValues("hobby");
		String major = request.getParameter("major");
		String protocol = request.getParameter("protocol");
		PrintWriter out = response.getWriter();
		
		out.println("이름: " + name + "<br/>");
		out.println("아이디: " + id + "<br/>");
		out.println("패스워드: " + pw + "<br/>");
		out.println("취미: " +  Arrays.toString(hobby) + "<br/>");
		out.println("전공: " + major + "<br/>");
		out.println("프로토콜: " + protocol + "<br/>");
		out.close();
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

방식은 jsp와 비슷하다.

html에서 name으로 설정한 값들을 String을 이용해 변수로 만들어 준다.

예외로 checkbox만 복수선택이 가능해 String [] 배열로 가져온다.

출력할 때는 배열을 Arrats.toStgin(배열이름)으로 해준다.

다른 것 처럼 변수값만 가져오면 주소로 출력이 되니 주의해주자