반응형

 

MemberController.java

package com.zerobase.fastlms.member;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class MemberController {

    @GetMapping("/member/register")
    public String register() {

        return "member/register";
    }
}

 

register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>회원가입</title>
</head>
<body>
    <h1>회원가입</h1>
</body>
</html>

 

 

localhost:8080

 

 

localhost:8080/member/register


 

register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>회원가입</title>
</head>
<body>
    <h1>회원가입</h1>

    <!-- ID(이메일), 이름, 전화번호, 비밀번호 -->
    <form>
        <div>
            <input name="userId"/>
        </div>
        <div>
            <input name="userName"/>
        </div>
        <div>
            <input name="password"/>
        </div>
        <div>
            <input name="phone"/>
        </div>
        <div>
            <button>회원 가입 하기</button>
        </div>
    </form>

</body>
</html>

 

localhost:8080/member/register

http://localhost:8080/member/register?userId=111&userName=222&password=333&phone=444

 


register.html

<form method="post">

기본값: <form method="get">

 

 

localhost:8080/member/register

 

localhost:8080/member/register

에러 발생

 


MemberController.java

package com.zerobase.fastlms.member;

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

@Controller
public class MemberController {

    //@GetMapping("/member/register")
    @RequestMapping(value = "/member/register", method = {RequestMethod.GET, RequestMethod.POST})
    public String register() {

        return "member/register";
    }

 

MemberController.java

    @RequestMapping("/member/register")

 

 

localhost:8080/member/register

에러 발생되지 않음

 


MemberController.java

@Controller
public class MemberController {

    @RequestMapping(value ="/member/register", method = RequestMethod.GET)
    public String register() {

        System.out.println("request get!!!!!");

        return "member/register";
    }

    @RequestMapping(value = "/member/register", method = RequestMethod.POST)
    public String registerSubmit() {

        System.out.println("request post!!!!!");

        return "member/register";
    }
}

 

request get!!!!!

 

 

localhost:8080/member/register

값 입력 후 버튼 클릭

 

 

request post!!!!!

 

 

localhost:8080/member/register

새로고침 클릭

 

 

request get!!!!!

request get!!!!!

request get!!!!!


 

MemberController.java

package com.zerobase.fastlms.member;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

@Controller
public class MemberController {
    
    @GetMapping("/member/register")
    public String register() {

        return "member/register";
    }
    
    @PostMapping("/member/register")
    public String registerSubmit() {
    
        return "member/register";
    }
}

 

register.html

<body>
    <h1>회원가입</h1>

    <!-- ID(이메일), 이름, 전화번호, 비밀번호 -->
    <form method="post">
        <div>
            <input name="userId" placeholder="ID(이메일) 입력"/>
        </div>
        <div>
            <input name="userName" placeholder="이름 입력"/>
        </div>
        <div>
            <input name="password" placeholder="비밀번호 입력"/>
        </div>
        <div>
            <input name="phone" placeholder="전화번호 입력"/>
        </div>
        <div>
            <button>회원 가입 하기</button>
        </div>
    </form>

</body>

 

 

localhost:8080/member/register

  • 'placeholder'가 적용된 모습
  • 포커싱하고 내용을 입력하면 사라짐

 


register.html

required: 값을 입력하지 않으면 "post" 전송되지 않음

<body>
    <h1>회원가입</h1>

    <!-- ID(이메일), 이름, 전화번호, 비밀번호 -->
    <form method="post">
        <div>
            <input name="userId"
                   placeholder="ID(이메일) 입력" required />
        </div>
        <div>
            <input name="userName" placeholder="이름 입력" required />
        </div>
        <div>
            <input name="password" placeholder="비밀번호 입력" required />
        </div>
        <div>
            <input name="phone" placeholder="전화번호 입력" required />
        </div>
        <div>
            <button>회원 가입 하기</button>
        </div>
    </form>

</body>

 

localhost:8080/member/register

Notice: 이 입력란을 작성하세요.

 


register.html

<!-- ID(이메일), 이름, 전화번호, 비밀번호 -->
<form method="post">
    <div>
        <input type="email"
               name="userId"
               placeholder="ID(이메일) 입력" required />
    </div>
    <div>
        <input type="text"
               name="userName"
               placeholder="이름 입력" required />
    </div>
    <div>
        <input type="password"
               name="password"
               placeholder="비밀번호 입력" required />
    </div>
    <div>
        <input type="tel"
               name="phone"
               placeholder="전화번호 입력" required />
    </div>
    <div>
        <button>회원 가입 하기</button>
    </div>
</form>

 

type="email": 형식이 맞지 않은 경우 알려줌

 

type="password": 입력값을 화면에 보여주지 않음

 

type="tel": 모바일에서 숫자패드로 보여줌

 


register.html
localhost:8080/member/register

 


MemberController.java

package com.zerobase.fastlms.member;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Controller
public class MemberController {

    @GetMapping("/member/register")
    public String register() {

        return "member/register";
    }

    @PostMapping("/member/register")
    public String registerSubmit(HttpServletRequest request,
                                 HttpServletResponse response) {

        String userId = request.getParameter("userId");
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        String phone = request.getParameter("phone");

        System.out.println("userId:" + userId);
        System.out.println("userName:" + userName);
        System.out.println("password:" + password);
        System.out.println("phone:" + phone);

        return "member/register";
    }
}

 

localhost:8080/member/register

 

실행결과

 


MemberInput.java

Getter and Setter

 

Generate

 

lombok

 

lombok

import lombok.Data;

 

ToString

import lombok.ToString;

 

 

MemberController.java

@PostMapping("/member/register")
public String registerSubmit(HttpServletRequest request,
                             HttpServletResponse response,
                             MemberInput parameter) {

    System.out.println(parameter.toString());

    return "member/register";
}

 

MemberInput(userId=81scramble@gmail.com, userName=박지상, password=1234, phone=010-1234-5678)


 

반응형

+ Recent posts