메뉴 건너뛰기

조회 수 1249 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1.로그인 페이지 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE  >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
 
<script src="http://code.jquery.com/jquery-3.1.0.js">
    
</script>
 
 
<script>
    $(document).ready(function() {
 
        
        alert("오잉");
        
        $("#btnLogin").click(function() {
 
            var userid = $("#userid").val();
            var passwd = $("#passwd").val();
 
            if (userid == "") {
 
                alert("아이디를 입력해주세요");
                $("#userid").focus();
                return;
            }

//$반복

var exp = /[a-z0-9]$/; //영문자와 숫자
//정규표현식. test(입력값) 규칙에 맞으면 true

if(!exp.test(userid)){

alert("영문자와 숫자만 입력가능합니다.");
$("#userid").focus();
return;
}
 
            if (passwd == "") {
 
                alert("비밀번호를 입력해주세요");
 
                $("#passwd").focus();
                return;
            }
 
            //비동기 ajax 방식으로 데이터 주고 받기 방버버
 
            var data = "userid=" + userid + "&passwd=" + passwd;
 
            alert(userid+passwd);
            
            $.ajax({
                
                type : "post",
                data : data,
                url : "/web02/member_servlet/login.do",
                success : function(value) {
 
                    $("#result").html(value);
 
                }
 
            });
 
            /*             
             document.form1.action=""
             document.from1.submit();
             */
        });
 
    });
</script>
 
 
</head>
<body>
 
 
    <table border="1">
 
 
 
        <tr>
            <td>아이디</td>
            <td><input type="text" id="userid"></td>
        </tr>
 
        <tr>
            <td>비밀번호</td>
            <td><input type="password" id="passwd"></td>
        </tr>
 
 
 
        <tr>
            <td colspan="2" align="center"><input type="button" value="로그인"
                id="btnLogin"></td>
        </tr>
 
 
 
 
    </table>
    <div id="result">로그인 결과 출력 영역</div>
 
 
 
</body>
</html>
cs




2.컨트롤러



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package member;
 
import java.io.IOException;
 
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/member_servlet/*")
public class MemberController extends HttpServlet {
    private static final long serialVersionUID = 1L;
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("멤버서블릿 호출");
        String path = request.getContextPath();
        String url = request.getRequestURI().toString();
 
        MemberDAO dao = new MemberDAO();
 
        // url 분석
        // 로그인 이면
        if (url.indexOf("login.do"!= -1) {
 
            String userid = request.getParameter("userid");
            String passwd = request.getParameter("passwd");
            String name = dao.loginCheck(userid, passwd);
            String message = "";
 
            if (name == null) { // 로그인 실패
 
                message = "아이디 또는 비밀번호가 일치하지 않습니다.";
            } else { // 로그인 성공
 
                message = name + "님 환영합니다.";
            }
            // 데이터 저장
            request.setAttribute("message", message);
            // 포워딩
 
            String page = "/member/login_result.jsp";
 
            RequestDispatcher rd = request.getRequestDispatcher(page);
            rd.forward(request, response);
        }
 
    }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
 
        doGet(request, response);
    }
 
}
 
cs





3.다오



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package member;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
 
import config.DB;
 
public class MemberDAO {
 
    public String loginCheck(String userid, String passwd) {
 
        String name = null;
        Connection conn = null// db접속
        PreparedStatement pstmt = null// sql 실행
        ResultSet rs = null// select 결과 처리
 
        try {
 
            conn = DB.dbConn(); // db접속 성공
 
            String sql = "select name from member where userid=? and passwd=password(?)";
 
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, userid);
            pstmt.setString(2, passwd);
            rs = pstmt.executeQuery(); // rs에 실행결과 리턴
 
            if (rs.next()) { // 레코드가 존재하면
 
                name = rs.getString("name"); // 이름 저장
            }
 
        } catch (Exception e) {
 
            e.printStackTrace();
        } finally {
 
            try {
                if (pstmt != null) {
                    pstmt.close();
                }
 
            } catch (Exception e2) {
                e2.printStackTrace();
            }
 
            try {
                if (conn != null) {
                    conn.close();
                }
 
            } catch (Exception e2) {
                e2.printStackTrace();
            }
 
        }
 
        return name;
 
    }
 
}
 
cs



4.결과 페이지  AJAX


1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE  >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
${message}
 
</body>
</html>
cs




5.DTO


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package member;
 
public class MemberDTO {
 
    private String userid;
    private String passwd;
    private String name;
    private String email;
    private String hp;
    private String zipcode;
    private String address1;
    private String address2;
    private String join_date;
 
    public MemberDTO() {
        // TODO Auto-generated constructor stub
    }
 
 
 
    public MemberDTO(String userid, String passwd, String name, String email, String hp, String zipcode,
            String address1, String address2) {
        super();
        this.userid = userid;
        this.passwd = passwd;
        this.name = name;
        this.email = email;
        this.hp = hp;
        this.zipcode = zipcode;
        this.address1 = address1;
        this.address2 = address2;
    }
 
 
 
    public String getUserid() {
        return userid;
    }
 
    public void setUserid(String userid) {
        this.userid = userid;
    }
 
    public String getPasswd() {
        return passwd;
    }
 
    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getEmail() {
        return email;
    }
 
    public void setEmail(String email) {
        this.email = email;
    }
 
    public String getHp() {
        return hp;
    }
 
    public void setHp(String hp) {
        this.hp = hp;
    }
 
    public String getZipcode() {
        return zipcode;
    }
 
    public void setZipcode(String zipcode) {
        this.zipcode = zipcode;
    }
 
    public String getAddress1() {
        return address1;
    }
 
    public void setAddress1(String address1) {
        this.address1 = address1;
    }
 
    public String getAddress2() {
        return address2;
    }
 
    public void setAddress2(String address2) {
        this.address2 = address2;
    }
 
    public String getJoin_date() {
        return join_date;
    }
 
    public void setJoin_date(String join_date) {
        this.join_date = join_date;
    }
 
    @Override
    public String toString() {
        return "MemberDTO [userid=" + userid + ", passwd=" + passwd + ", name=" + name + ", email=" + email + ", hp="
                + hp + ", zipcode=" + zipcode + ", address1=" + address1 + ", address2=" + address2 + ", join_date="
                + join_date + "]";
    }
 
}
 
cs






6테이블 생성 및 삽입


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
-- 회원가입과 로그인
 
create table member(
userid varchar(20not null primary key,
passwd varchar(100not null,
name varchar(50not null,
email varchar(50),
hp varchar(50),
zipcode varchar(20),
address1 varchar(200),
address2 varchar(200),
join_date datetime default now()
);
 
 
-- 회원추가 쿼리
 
insert into member (userid,passwd,name)
values('kim1',password('1234'),'강영균');
 
-- 암호화
-- password('값') 암호화 되어 저장됨
 
--복호화
 
-- sql injection attack
 userid 에  ' or 1=1#을 입력
-- 선택
select * from member;
-- 삭제
delete from member;
--로그인 
select * from member
where userid='kim'
and passwd=password('1234');
cs


  1. JSP 동작 원리, 내부 객체

    Date2017.09.12 Views3579
    Read More
  2. request, response

    Date2017.09.12 Views3220
    Read More
  3. 지시자(Directive)

    Date2017.09.12 Views3123
    Read More
  4. 주석(comments)

    Date2017.09.12 Views3114
    Read More
  5. 파라미터를 배열 형식으로 받기

    Date2021.03.25 Views1429
    Read More
  6. MVC 패턴 & 도서 목록 컨트롤러에서 해당 URL 받아서 처리하기

    Date2019.01.09 Views1405
    Read More
  7. 로그인 & AJAX 비동기 방식으로 처리&암호화&정규표현식

    Date2019.01.09 Views1249
    Read More
  8. jsp 웹 멀티업로드 프로그램

    Date2019.01.08 Views1235
    Read More
  9. 수정 삭제

    Date2019.01.09 Views1075
    Read More
  10. 태그문자&공백문자&줄바꿈 문자 처리

    Date2019.01.09 Views1027
    Read More
  11. 한줄메모 삽입 & AJAX

    Date2019.01.09 Views975
    Read More
  12. 각종 체크 &우편번호

    Date2019.01.09 Views958
    Read More
  13. 한줄메모 목록 리스트 AJAX

    Date2019.01.09 Views928
    Read More
  14. 회원가입

    Date2019.01.09 Views918
    Read More
  15. DBCP 커넥션 풀

    Date2019.01.09 Views905
    Read More
  16. 아이디 체크

    Date2019.01.09 Views895
    Read More
  17. 페이지 화면 이동방식

    Date2019.01.09 Views893
    Read More
  18. Get 방식과 Post 방식

    Date2019.01.16 Views877
    Read More
  19. JSP - DBCP 커넥션 풀

    Date2021.03.27 Views833
    Read More
  20. filter 필터 &한글처리

    Date2019.01.09 Views829
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved