Notice
Recent Posts
Recent Comments
Link
250x250
develope_kkyu
[Spring] oracle db와 연동하여 회원가입, 로그인 페이지 만들기 본문
728x90
jsp, mybatis 등을 활용하여 회원가입, 로그인 페이지 만들기
- 기능
- 회원가입시 비밀번호와 비밀번호 확인이 다를시 경고창
- 회원가입 페이지에 빈칸이 있을시 '입력하시오' 경고
- 회원가입 성공시 로그인 페이지로 넘어감
- 로그인시 아이디나 비밀번호가 db에 없으면 다시 로그인
- 로그인 성공시 홈페이지로 넘어가고
- 아이디와 로그아웃 링크 생성(session 사용)
home.jsp - 홈 화면
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>home</title>
</head>
<body>
<%--<c:if test="${empty userid}">
<a href="/login">로그인하기</a> <a href="/signin">회원가입</a>
</c:if>
<c:if test="${not empty userid}">
<label>${userid }</label> <a href="/signout">로그아웃</a>
</c:if> --%>
<%
if(session.getAttribute("gUserid")==null){
out.print("<a href='/login'>로그인하기</a> <a href='/signin'>회원가입</a>");
} else {
out.print("<label>"+session.getAttribute("gUserid")+"</label> <a href='/signout'>로그아웃</a>");
}
%>
<h1>Welcome Home Page</h1>
</body>
</html>
login.jsp - 로그인 화면
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>home</title>
</head>
<body>
<%--<c:if test="${empty userid}">
<a href="/login">로그인하기</a> <a href="/signin">회원가입</a>
</c:if>
<c:if test="${not empty userid}">
<label>${userid }</label> <a href="/signout">로그아웃</a>
</c:if> --%>
<%
if(session.getAttribute("gUserid")==null){
out.print("<a href='/login'>로그인하기</a> <a href='/signin'>회원가입</a>");
} else {
out.print("<label>"+session.getAttribute("gUserid")+"</label> <a href='/signout'>로그아웃</a>");
}
%>
<h1>Welcome Home Page</h1>
</body>
</html>
signin.jsp - 회원가입 화면
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>signin</title>
</head>
<body>
<form action="/register" id=frmSignin>
<table>
<tr>
<td>로긴아이디</td><td><input type="text" name=userid id=userid></td>
</tr>
<tr>
<td>비밀번호</td><td><input type="password" name=password id=password></td>
</tr>
<tr>
<td>비밀번호확인</td><td><input type="password" name=password2 id=password2></td>
</tr>
<tr>
<td>실명</td><td><input type="text" name=name id=name></td>
</tr>
<tr>
<td>모바일</td><td><input type="text" name=mobile id=mobile></td>
</tr>
<tr>
<td colspan=2 align=center>
<input type="submit" value="회원가입" id=btnSubmit>
</td>
</tr>
</table>
</form>
<table><tr><td>
<a href='/'>홈으로</a></td><td><a href='/login'>로그인하기</a></td></tr>
</table>
</body>
<script src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script>
$(document)
.on('submit','#frmSignin',function(){
if($('#userid').val()==''||$('#password').val()==''||$('#password2').val()==''||$('#name').val()==''||$('#mobile').val()==''){
alert('입력하시오');
return false;
}
if($('#password').val()==$('#password2').val()){
return true;
} else {
alert('비밀번호와 확인이 일치하지 않습니다.');
return false;
}
})
/*.on('click','#btnSubmit',function(){
if($('#password').val()==$('#password2').val()){
('#frmSignin').submit();
} else {
alert('비밀번호와 확인이 일치하지 않습니다.');
return false;
}
})*/
</script>
</html>
MyController.java - 서버
package com.human.springboot;
import java.util.ArrayList;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
@Controller
public class MyController {
@Autowired
private MemDAO mem;
@RequestMapping("/")
public String home(HttpServletRequest req, Model model) {
// HttpSession session=req.getSession();
// String sess_info = (String) session.getAttribute("gUserid");
// model.addAttribute("userid", sess_info);
return "home";
}
@RequestMapping("/login")
public String doLogin() {
return "login";
}
@RequestMapping("/signout")
public String doSignout(HttpServletRequest req) {
HttpSession session=req.getSession();
session.invalidate();
// session.setAttribute("gUserid", null);
return "redirect:/";
}
@RequestMapping("/checkuser")
public String doCheck(HttpServletRequest req, Model model) {
String id = req.getParameter("userid");
String pw = req.getParameter("password");
int cnt = mem.MemberCnt(id, pw);
if(cnt == 1) {
HttpSession session=req.getSession(); // 초기화
session.setAttribute("gUserid", id); // 값 설정
session.setAttribute("gUserpw", pw);
return "redirect:/";
} else {
return "redirect:/login";
}
// model.addAttribute("uid", id);
// model.addAttribute("upw", pw);
//
// return "loginok";
}
@RequestMapping("/signin")
public String doSignin() {
return "signin";
}
@RequestMapping("/register")
public String doUser(HttpServletRequest req, Model model) {
String id = req.getParameter("userid");
String pw = req.getParameter("password");
String name = req.getParameter("name");
String mobile = req.getParameter("mobile");
ArrayList<Member> member = mem.list();
model.addAttribute("loginid", member);
mem.insertMember(id,pw,name,mobile);
return "redirect:/login";
}
}
Member.java
package com.human.springboot;
public class Member {
private String loginid;
private String passcode;
private String name;
private String mobile;
public String getLoginid() {
return loginid;
}
public void setLoginid(String loginid) {
this.loginid = loginid;
}
public String getPasscode() {
return passcode;
}
public void setPasscode(String passcode) {
this.passcode = passcode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
}
MemDAO.java
package com.human.springboot;
import java.util.ArrayList;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MemDAO {
ArrayList<Member> list();
void insertMember(String loginid, String password, String name, String mobile);
int MemberCnt(String loginid, String passcode);
}
Mem.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd//mybatis-3-mapper.dtd">
<mapper namespace="com.human.springboot.MemDAO">
<insert id="insertMember">
insert into member values(#{param1},#{param2},#{param3},#{param4})
</insert>
<select id="list" resultType="com.human.springboot.Member">
select loginid, passcode, name, mobile from member
</select>
<select id="MemberCnt" resultType="int">
select count(*) from member where loginid=#{param1} and passcode=#{param2}
</select>
</mapper>
--
728x90
'JAVA > Java EE(Spring)' 카테고리의 다른 글
[Spring] Spring 프로젝트와 MongoDB altas를 연동한 회원가입, 로그인 페이지 예제 - 1 (0) | 2023.03.20 |
---|---|
[Spring] Google Cloud Platform에서 Spring 프로젝트 배포하기 - 2 (2) | 2023.03.15 |
[Spring] Google Cloud Platform에서 Spring 프로젝트 배포하기 - 1 (0) | 2023.03.14 |
[Spring] VScode에서 간단한 스프링 프로젝트 만들기 (0) | 2023.03.09 |
[Spring] oracle db와 연동하여 객실 종류 입력하기 (0) | 2022.12.29 |