JSP

질의 문자열

Sun-Koo 2023. 3. 13. 15:59

Query String

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>회원 가입하기</h3>
<form method="get" action="memberQueryTest">
    <p>아이디</p>
    <input type="text" name="userId" placeholder="이름을 입력해 주세요">
 
    <p>패스워드</p>
    <input type="password" name="passwd" placeholder="패스워드를 입력해 주세요">
 
    <p>이메일</p>
    <input type="text" name="email" placeholder="이메일을 입력해 주세요">
     
    <p>이메일 수신여부</p>
    <input type="radio" name="emailAgree" value="yes">예
    <input type="radio" name="emailAgree" value="no" checked>아니오
         
    <p>관심사항</p>
    <input type="checkbox" name="interest" value="IT">IT/인터넷
    <input type="checkbox" name="interest" value="movie">영화
    <input type="checkbox" name="interest" value="music">음악
    <input type="checkbox" name="interest" value="book">책
    <input type="checkbox" name="interest" value="food">음식
     
    <p>핸드폰</p>  
    <select name="hp_1">
        <option value="010">010</option>
        <option value="011">011</option>
        <option value="016">016</option>
        <option value="017">017</option>
     </select>
     <input type="text" name="hp_2" placeholder="핸드폰 번호를 입력해주세요">
     
    <p>자기소개</p>
    <textarea name="introduce" placeholder="자기소개를 입력해주세요" cols="30" rows="4"></textarea>
    <br/>
     
    <input type="submit" value="전송">
     
</form>
</body>
</html>

GET 과 POST

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("/memberQueryTest")
public class MemberQueryTestServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
        
    /**
     * @see HttpServlet#HttpServlet()
     */
    public MemberQueryTestServlet() {
        super();
    }
 
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print("<html><head><title>Query 문자열 테스트</title></head>");
        out.print("<body>");
        out.print("<h1>GET 방식으로 요청되었습니다</h1>");
 
        //getParameter는 중복되지 않고 유일하게 하나만 넘어올 떄 사용된다.
        //getParameter의 반환값은 String이다. 
        String userId = request.getParameter("userId");
        String passwd = request.getParameter("passwd");
        String email = request.getParameter("email");
        String hp_1 = request.getParameter("hp_1");
        String hp_2 = request.getParameter("hp_2");
        String emailAgree = request.getParameter("emailAgree");
        //getParameterValues는 체크박스처럼 다중 선택되는 입력 양식의 값을 추출할 떄 사용된다.
        String[] interest = request.getParameterValues("interest");
        String introduce = request.getParameter("introduce");
 
        out.println("<h3>회원아이디 : "+userId+"</h3>");
        out.println("<h3>패스워드 : "+passwd+"</h3>");
        out.println("<h3>이메일 : "+email+"</h3>");
        out.println("<h3>핸드폰 : "+hp_1+"-"+hp_2+"</h3>");        
        out.println("<h3>이메일수신여부 : "+emailAgree+"</h3>");
        out.println("<h3>관심사항: </h3>");
                         
        for(int i=0; i< interest.length;i++)
        {
            if(i+1 == interest.length) {
                out.println(interest[i]);
            }else {
                out.println(interest[i]+",");
            }
        }
        out.println("<h3>자기소개 : "+introduce+"</h3>");
 
        out.close();
    }
 
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print("<html><head><title>Query 문자열 테스트</title></head>");
        out.print("<body>");
        out.print("<h1>POST 방식으로 요청되었습니다</h1>");
         
        //getParameter는 중복되지 않고 유일하게 하나만 넘어올 떄 사용된다.
        //getParameter의 반환값은 String이다. 
        String userId = request.getParameter("userId");
        String passwd = request.getParameter("passwd");
        String email = request.getParameter("email");
        String hp_1 = request.getParameter("hp_1");
        String hp_2 = request.getParameter("hp_2");
        String emailAgree = request.getParameter("emailAgree");
        //getParameterValues는 체크박스처럼 다중 선택되는 입력 양식의 값을 추출할 떄 사용된다.
        String[] interest = request.getParameterValues("interest");
        String introduce = request.getParameter("introduce");
 
        out.println("<h3>회원아이디 : "+userId+"</h3>");
        out.println("<h3>패스워드 : "+passwd+"</h3>");
        out.println("<h3>이메일 : "+email+"</h3>");
        out.println("<h3>핸드폰 : "+hp_1+"-"+hp_2+"</h3>");        
        out.println("<h3>이메일수신여부 : "+emailAgree+"</h3>");
        out.println("<h3>관심사항: </h3>");
                         
        for(int i=0; i< interest.length;i++)
        {
            if(i+1 == interest.length) {
                out.println(interest[i]);
            }else {
                out.println(interest[i]+",");
            }
        }
        out.println("<h3>자기소개 : "+introduce+"</h3>");
 
        out.close();
    }
}