모델로 JSP에 로그인 기능 만들기

Soo·2024년 3월 8일

이번에는 JSP를 사용해서 로그인 페이지를 만들어보겠습니다.

login.jsp

<head>
    <title>Login Page</title>
</head>
<body>
welcome to the login page!
<form method="post">
    Name: <input type="text" name="name">
    Password: <input type="password" name="password">
    <input type="submit">
</form>
</body>
</html>

welcome.jsp

JSP 표현식을 사용해서 파라미터로 받은 name, password를 표시해 봅니다.

제대로 값을 받아오는지 확인하는 용도입니다. 실제 서비스에서는 password는 절대 표시하면 안됩니다.

<head>
    <title>Welcome Page</title>
</head>
<body>
<div>welcome to Test!</div>
<div>Your Name: ${name}</div>
<div>Your Password: ${password}</div>
</body>
</html>

LoginController

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class LoginController {

    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String gotoLoginPage() {
        return "login";
    }

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public String gotoWelcomePage(@RequestParam String name, @RequestParam String password, ModelMap model) {
        model.put("name", name);
        model.put("password", password);

        return "welcome";
    }
}

Login(GET) : 로그인 페이지를 반환합니다.

Login(POST) : input으로 들어온 파라미터를 받아서 ModelMap을 사용하여 JSP페이지로 넘겨줍니다.

실행

이번에는 JSP를 사용해서 로그인 페이지를 만들어보겠습니다.

login.jsp

<head>
    <title>Login Page</title>
</head>
<body>
welcome to the login page!
<form method="post">
    Name: <input type="text" name="name">
    Password: <input type="password" name="password">
    <input type="submit">
</form>
</body>
</html>

welcome.jsp

JSP 표현식을 사용해서 파라미터로 받은 name, password를 표시해 봅니다.

제대로 값을 받아오는지 확인하는 용도입니다. 실제 서비스에서는 password는 절대 표시하면 안됩니다.

<head>
    <title>Welcome Page</title>
</head>
<body>
<div>welcome to Test!</div>
<div>Your Name: ${name}</div>
<div>Your Password: ${password}</div>
</body>
</html>

LoginController

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class LoginController {

    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String gotoLoginPage() {
        return "login";
    }

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public String gotoWelcomePage(@RequestParam String name, @RequestParam String password, ModelMap model) {
        model.put("name", name);
        model.put("password", password);

        return "welcome";
    }
}

Login(GET) : 로그인 페이지를 반환합니다.

Login(POST) : input으로 들어온 파라미터를 받아서 ModelMap을 사용하여 JSP페이지로 넘겨줍니다.

실행

GET 요청을 한 경우 login.jsp가 실행됩니다.

POST 요청을 한 경우 welcome.jsp가 실행됩니다.

0개의 댓글