• 티스토리 홈
  • 프로필사진
    조별하
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
조별하
  • 프로필사진
    조별하
    • 분류 전체보기 (124)
      • 1. 공부 (0)
        • 기술 면접 (0)
      • 2. 웹개발 (7)
        • Java (1)
        • IT 정보 (5)
        • Error 모음 (1)
      • 3. 개인관심 (1)
        • 전자 (1)
      • GITHUB (5)
      • IT 기술 면접 (3)
      • COMPUTER (2)
      • TASK (1)
      • LANGUAGES (20)
        • Python (3)
        • Django (6)
        • Java (7)
        • Node (1)
        • Jsp (2)
        • R (1)
      • 데이터과학 (2)
        • 머신러닝 및 딥러닝 (2)
      • DATABASE (5)
        • Oracle (2)
      • ISSUE (10)
        • Django (4)
        • Drf (2)
        • Javascript (1)
        • Git (1)
      • JAVA 교육 (65)
        • Java (3)
        • Jquery (2)
        • Sql (16)
        • Jdbc (1)
        • Db (2)
        • Jsp (9)
        • myWeb (15)
        • Servlet (4)
        • Spring (12)
        • Crawling (0)
        • Hosting (1)
      • 정보처리산업기사 (1)
      • EDUCATION (2)
        • IoT 서비스 (2)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 2019/09/11 6. 로그인
        2019년 11월 22일
        • 조별하
        • 작성자
        • 2019.11.22.:51

        로그인

        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
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바