728x90
웹 프로그램에서는 GET 방식과 POST 방식을 혼합해서 많이 사용한다. 이때 각 방식마다 일일이 구분해서 구현하는 것이 불편할 것이다.
전송된 방식으로 doGet( )이나 doPost( ) 메서드로 처리한 후 다시 doHandle( )을 호출해서 모든 기능을 구현할 수 있다.
// login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 창</title>
</head>
<body>
<form name="frmLogin" method="get" action="login4" encType="UTF-8">
아이디 : <input type="text" name="user_id"><br>
비밀번호 : <input type="password" name="user_pw"><br>
<input type="submit" value="로그인"> <input type="reset" value="다시입력">
</form>
</body>
</html>
// LoginServlet4.java
package sec02.ex01;
import java.io.IOException;
import javax.servlet.ServletConfig;
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 LoginServlet4
*/
@WebServlet("/login4")
public class LoginServlet4 extends HttpServlet {
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
System.out.println("init 메서드 호출");
}
/**
* @see Servlet#destroy()
*/
public void destroy() {
System.out.println("destroy 메서드 호출");
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet 메서드 호출");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doPost 메서드 호출");
}
private void doHandle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
System.out.println("doHandle 메서드 호출");
String user_id = request.getParameter("user_id");
String user_pw = request.getParameter("user_pw");
System.out.println("아이디:" + user_id);
System.out.println("비밀번호:" + user_pw);
}
}
method를 post로 변경 후 톰캣을 재시작하고 요청하면 doHandle( ) 메서드로 처리한 후 결과를 출력한다.
728x90
'웹 개발 기초 > 자바 웹을 다루는 기술' 카테고리의 다른 글
서블릿을 이용한 여러가지 실습 예제 (0) | 2023.02.15 |
---|---|
자바스크립트로 서블릿에 요청하기 (0) | 2023.02.15 |
웹 브라우저에서 서블릿으로 데이터 전송하기 (0) | 2023.02.15 |
서블릿의 응답 처리 방법 (0) | 2023.02.15 |
서블릿에서 클라이언트의 요청을 얻는 방법 (0) | 2023.02.15 |