새소식

JAVA 교육/myWeb

2019/09/11 6. 로그인

  • -

로그인

1. 로그인 Form 회원 테이블 만들기&데이터 insert

id 를 primary key로 지정하였다

CREATE TABLE member (
    id       VARCHAR(10)  NOT NULL, -- 아이디, 중복 안됨, 레코드를 구분하는 컬럼 
    passwd   VARCHAR(10)  NOT NULL, -- 패스워드
    mname    VARCHAR(20)  NOT NULL, -- 성명
    tel      VARCHAR(14)  NULL,     -- 전화번호
    email    VARCHAR(50)  NOT NULL  UNIQUE, -- 전자우편 주소, 중복 안됨
    zipcode  VARCHAR(7)   NULL,     -- 우편번호, 101-101
    address1 VARCHAR(255) NULL,     -- 주소 1
    address2 VARCHAR(255) NULL,     -- 주소 2(나머지주소)
    job      VARCHAR(20)  NOT NULL, -- 직업
    mlevel   CHAR(2)      NOT NULL, -- 회원 등급, A1, B1, C1, D1, E1, F1
    mdate    DATE         NOT NULL, -- 가입일    
    PRIMARY KEY (id)
);

insert into member(id,passwd,mname,tel,email,zipcode,address1,address2,job,mlevel,mdate)
values ('soldesk','12341234','솔데스크','123-4567','soldesk@naver.com','12345','서울시 종로구 관철동','코아빌딩5층','A01','D1','2019-09-11');

insert into member(id,passwd,mname,tel,email,zipcode,address1,address2,job,mlevel,mdate)
values ('user','12341234','솔데스크','123-4567','user1@naver.com','12345','서울시 종로구 관철동','코아빌딩5층','A01','D1','2019-09-11');

insert into member(id,passwd,mname,tel,email,zipcode,address1,address2,job,mlevel,mdate)
values ('webmaster','12341234','솔데스크','123-4567','webmaster@naver.com','12345','서울시 종로구 관철동','코아빌딩5층','A02','A1','2019-09-11');

2. 테이블 생성 후 회원 DTO와 회원 DAO 생성

생생한 테이블의 칼럼에 맞게 MemberDTO 를 만들어 준다
setter과 getter은 생략

package net.member;
public class MemberDTO{
    //Data Transfer Object 데이터 전송 객체
      private String id;
      private String passwd;
      private String mname;
      private String tel;
      private String email;
      private String zipcode;
      private String address1;
      private String address2;
      private String job;
      private String mlevel;
      private String mdate;
    }
}//class end

3. 로그인 폼 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="../header.jsp"%>
<!-- 본문시작  -->
    <h3>로그인</h3>
    <form name="loginfrm"
             method="post"
             action="loginProc.jsp"
             onsubmit="return loginCheck(this)">

▲ get 이 아니라 반드시 post 방식으로 해 줘야한다

    <div class="container">
    <table class="table table-striped">
    <tr>
    <td><input type="text" name="id" placeholder="아이디" required></td>
    <td rowspan="2"><input type="image" src="../images/bt_login.gif" style="cursor:pointer"></td>

▲ ※cursor: pointer 커서손모양 ※ input type=image기본속성이 submit

    </tr>
    <tr>
    <td><input type="password"  name="password" placeholder="비밀번호" required></td>
    </tr>

▲ ※placeholder 로 미리보기값 지정 ※ required 는 입력값이 반드시 있어야 한다

    <tr>
    <td colspan="2">
    아이디저장
    &nbsp;&nbsp;
    회원가입
    &nbsp;&nbsp;
    아이디/비번찾기
    </td>
    </tr>
    </table>
    </div>
    </form>
<!-- 본문 끝  -->
<%@ include file="../footer.jsp"%>

로그인 프로세스

loginProc.jsp

    String id= request.getParameter("id").trim();
    String passwd= request.getParameter("passwd").trim();
    dto.setId(id);
    dto.setPasswd(passwd);
    String mlevel=dao.loginProc(dto);
    if(mlevel==null){
        out.print("<p>아이디/비번 다시 한번 확인해주세요</p>");
        out.print("<p><a href='javascript:history.back'></p>");
    }else{
    out.print("<p>로그인 성공!!!</p>");
    /out.print(mlevel);    
    }

▲ id와 passwd값을 받아 loginProc 매개변수 값으로 보내주었다

회원 DAO 에서 loginProc 메소드 생성

image

▲ 입력한 id와 passwd 와 일치하며 회원분류가 일치하면 로그인이 되었는지 확인
image

id 값과 passwd 값을 다른페이지로 전달

다른 페이지에서 로그인 상태를 공유할수 있도록

session.setAttribute("s_id", id);
session.setAttribute("s_passwd", passwd);
session.setAttribute("s_mlevel", mlevel);

//첫페이지로 이동
String root=Utility.getRoot();
response.sendRedirect(root+"/index.jsp");  

auth.jsp

image


▲ auth.jsp에 loginProc.jsp가 받은 id passwd mlevel값을 변수에넣어 불러오는 코드를 넣어주어

필요할때마다 불러 사용할 것이다

'JAVA 교육 > myWeb' 카테고리의 다른 글

bootstrap  (2) 2019.11.22
2019/09/11 5. session&application  (0) 2019.11.22
2019/09/10 4. scope  (0) 2019.11.22
2019/09/10 3. 페이징  (0) 2019.11.22
2019/09/09 2. 검색 창  (0) 2019.11.22
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.