게으른 개발자의 끄적거림

Jsp Form태그로 Java Controller 값 전달

끄적잉 2023. 12. 4. 21:55
728x90

 JSP(JavaServer Pages)에서 폼(form)을 사용하여 사용자로부터 입력을 받고, 입력된 값을 Java 컨트롤러에 전달하는 방법을 알려드리겠습니다. 일반적으로는 HTML 폼을 사용하며, 해당 폼의 데이터는 서블릿이나 Spring MVC와 같은 Java 컨트롤러로 전송됩니다.

아래는 간단한 예제로 설명하겠습니다. 이 예제는 JSP에서 HTML 폼을 사용하여 데이터를 입력하고, 해당 데이터를 처리할 Java 서블릿으로 전달하는 방법을 보여줍니다.

1. **JSP 파일 작성 (예: `index.jsp`):**


   <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
   <!DOCTYPE html>
   <html>
   <head>
       <meta charset="UTF-8">
       <title>Form Example</title>
   </head>
   <body>
       <form action="MyServlet" method="post">
           <label for="username">Username:</label>
           <input type="text" id="username" name="username" required>
           
           <label for="password">Password:</label>
           <input type="password" id="password" name="password" required>
           
           <input type="submit" value="Submit">
       </form>
   </body>
   </html>

 


2. **Java 서블릿 작성 (예: `MyServlet.java`):**
   

   import java.io.IOException;
   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("/MyServlet")
   public class MyServlet extends HttpServlet {
       private static final long serialVersionUID = 1L;

       protected void doPost(HttpServletRequest request, HttpServletResponse response) 
               throws ServletException, IOException {
           // JSP에서 전달된 데이터 받기
           String username = request.getParameter("username");
           String password = request.getParameter("password");

           // 받은 데이터를 처리하는 비즈니스 로직 수행
           // 여기서는 간단하게 콘솔에 출력만 함
           System.out.println("Username: " + username);
           System.out.println("Password: " + password);

           // 처리 결과에 따른 응답 작성 (예: 성공 페이지로 이동)
           response.sendRedirect("success.jsp");
       }
   }


위의 예제에서는 JSP 파일에서 HTML 폼을 작성하고, 해당 폼의 `action` 속성을 통해 데이터를 처리할 서블릿을 지정합니다. 서블릿에서는 `doPost` 메서드를 사용하여 전달된 데이터를 받아 처리하고, 필요에 따라 응답을 생성합니다.

물론 이는 간단한 예제이며, 실제 프로젝트에서는 보안 및 유효성 검사 등을 고려하여 코드를 작성해야 합니다.

728x90