[Servlet] 3. 로그인창 만들기

기본적인 로그인창 만들기

login.html : 아이디,암호,버튼 값을 form으로 서블릿에 전송한다

loginServlet.java : doGet메서드에서 전달받은 값 저장 -> 인코딩 -> id, pw를 출력한다.


login.html에서

 

기본적인 틀을 만들어놓는다. input태그를 통해 아이디, 암호를 입력하고 button을 누르면 값이 Servlet으로 전송되도록 하는 구조이다. 이때, submit버튼과 form태그는 세트라고 생각하면 될 것같습니다.

 

아무튼 만들어진 값들을 loginServlet.java에 전송하고 있습니다. (doGet메서드방식으로)

 

1
2
3
4
5
6
7
8
9
</head>
<body>
<form action="/loginServlet.java">
    아이디: <input type=text name=id><br>
    암호: <input type=password name=pw><br>
    <input type=submit value=제출>
</form>    
</body>
 
 
 
더보기

<코드결과>

 

 


loginServlet.java (Servlet)에서 입력받은 값들을 출력하는 코드를 작성하려고 한다.

 

그렇다면, 아래와 같이 form태그에 의해 전송받은 값들을 변수에 저장한다.

 

이때 전송받은 값들은 무조건 문자형이기때문에 정수타입은 Integer.parseInt() 형변환을 해야만 한다.

 

그리고 doGet이 아니고, doPost메서드 형태로 전송을 주고받을때에는 별도의 인코딩 코드도 필요하다.

 

또한, 출력객체 PrintWriter out= response.getWriter();를 통해 out이라는 출력객체를 생성해서 브라우저에

 

출력하고자 하는 값들을 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class loginServlet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
        
  //post방식일수도 있기때문에
  request.setCharacterEncoding("utf-8");
  String id = request.getParameter("id");
  String pw = request.getParameter("pw");
    
  response.setContentType("text/html; charset=utf-8");
  PrintWriter out=response.getWriter();
  out.println(id+":"+pw);
        
    }
}
 
 
 
더보기
<코드결과>