📌 join
<%@page import="model.MemberDao"%>
<%@page import="model.Member"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp3/src/main/webapp/view/member/join.jsp
--%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<%-- ${mem.id} : mem 객체의 get프로퍼티의 이름
=> ${객체이름.프로퍼티명}
--%>
<tr><td>아이디</td><td>${mem.id}</td></tr>
<tr><td>이름</td><td>${mem.name}</td></tr>
<tr><td>성별</td><td>${(mem.gender ==1)?"남":"여"}</td></tr>
<tr><td>전화번호</td><td>${mem.tel}</td></tr>
<tr><td>이메일</td><td>${mem.email}</td></tr>
</table>
<input type="button" value="로그인하기" onclick="location.href='loginForm'">
</body>
</html>
📌 MemberController.java - 내용 추가
1. 파라미터값들을 Member 객체에 저장
2. Member 객체의 내용을 db에 저장
3. 저장 성공 : 화면에 내용 출력
저장 실패 : joinForm.jsp 페이지 이동
@RequestMapping("join")
public String join(HttpServletRequest request, HttpServletResponse response) {
try {
request.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} //Unhandled exception type UnsupportedEncodingException 예외처리 해줘야 한다
//1. 파라미터값들을 Member 객체에 저장
Member mem = new Member();
mem.setId(request.getParameter("id"));
mem.setPass(request.getParameter("pass"));
mem.setName(request.getParameter("name"));
mem.setGender(Integer.parseInt(request.getParameter("gender")));
mem.setTel(request.getParameter("tel"));
mem.setEmail(request.getParameter("email"));
mem.setPicture(request.getParameter("picture"));
//2. Member 객체의 내용을 db에 저장
MemberDao dao = new MemberDao();
if(dao.insert(mem)) { //3. 저장 성공
return "/view/member/join.jsp";
} else { // 저장 실패
return "/view/member/joinForm.jsp";
}
}
📌 loginForm
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp3/src/main/webapp/view/member/loginForm.jsp --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
<script type="text/javascript">
function inputcheck(f) {
if(f.id.value == '') {
alert("아이디를 입력하세요.")
f.id.focus()
return false
}
if(f.pass.value == '') {
alert("비밀번호를 입력하세요.")
f.pass.focus()
return false
}
}
function win_open(page) {
let op = "width=500, height=350, left=50, top=150"
open(page,"",op) //idForm.jsp
//open("idForm.jsp","윈도우 이름",옵션)
}
</script>
</head>
<body>
<form action="login" method="post" name="f" onsubmit="return inputcheck(this)">
<table><caption>로그인</caption>
<tr><th>아이디</th><td><input type="text" name="id"></td></tr>
<tr><th>비밀번호</th><td><input type="password" name="pass"></td></tr>
<tr><td colspan="2">
<input type="submit" value="로그인">
<input type="button" value="회원가입" onclick="location.href='joinForm'">
<input type="button" value="아이디 찾기" onclick="win_open('idForm')">
<input type="button" value="비밀번호 찾기" onclick="win_open('pwForm')">
</td></tr></table></form>
</body>
</html>
📌 MemberController.java - 내용 추가
1. 아이디, 비밀번호 파라미터를 변수 저장
2. db 정보를 읽기. id에 해당하는 db정보를 읽어서 Member 객체에 저장
Member MemberDao.selectOne(id);
3. 아이디와 비밀번호 검증.
- 아이디가 없는 경우
아이디가 없습니다. 메세지확인. loginForm.jsp 페이지 이동
- 아이디 존재. 비밀번호가 틀린경우
비밀번호오류 메세지확인. loginForm.jsp 페이지 이동
- 아이디 존재. 비밀번호가 맞는경우 => 정상적인 로그인.
session 객체에 로그인 정보 저장.
main.jsp로 페이지 이동.
@RequestMapping("login")
public String login(HttpServletRequest request, HttpServletResponse response) {
//1. 아이디, 비밀번호 파라미터를 변수 저장
String id = request.getParameter("id");
String pass = request.getParameter("pass");
//2. db 정보를 읽기. id에 해당하는 db정보를 읽어서 Member 객체에 저장
Member mem = new MemberDao().selectOne(id);
String msg = null;
String url = null;
if(mem == null) { // 3. 아이디와 비밀번호 검증.
msg = "아이디를 확인하세요.";
url = "loginForm";
} else if(!pass.equals(mem.getPass())) {
msg = "비밀번호가 틀립니다.";
url = "loginForm";
} else {
request.getSession().setAttribute("login",id);
msg = "반갑습니다." + mem.getName() + "님";
url = "main";
}
request.setAttribute("msg",msg);
request.setAttribute("url",url);
return "/view/alert.jsp"; //forward 됨
}
📌 alert.jsp - model2방식
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp3/src/main/webapp/view/alert.jsp --%>
<script>
alert("${msg}")
location.href="${url}"
</script>
'수업(국비지원) > JSP' 카테고리의 다른 글
| [JSP] MVC MODEL2 방식 - 회원 정보(info) (0) | 2023.04.19 |
|---|---|
| [JSP] MVC MODEL2 방식 - 회원관리(main) (0) | 2023.04.19 |
| [JSP] MVC MODEL2 방식 - layout (0) | 2023.04.19 |
| [JSP] 이클립스 설정(MVC Model1 → MVC Model 2) (0) | 2023.04.19 |
| [JSP] Model1, Model2 방식 차이 (0) | 2023.04.19 |