일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맥북백틱
- 디지털하나로입학식
- s3
- 스나이퍼팩토리
- 디지털취업
- `
- 배포
- DIGITALHANARO
- 디지털교육
- 맥북백틱입력
- kdt
- 버전생성프로세스
- 부트캠프
- 프론트엔드개발자양성과정
- 유데미
- 하나은행
- 프로젝트캠프
- udemy
- 개발자교육과정
- 백틱
- 미래내일일경험
- 웅진씽크빅
- github
- Next.js
- 취준생
- 디지털하나로
- 프론트엔드배포
- 네이버로그인창만들기
- 깃허브 레포지토리와 로컬 코드 연결하기
- Today
- Total
Land of Joe
jsp 백엔드 개발 정리 본문
[ 로그인 ]
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<!-- 라이브러리 import -->
<%@ page import="java.sql.DriverManager" %> <!-- 데이터베이스 탐색 라이브러리 -->
<%@ page import="java.sql.Connection" %> <!-- 데이터베이스 연결 라이브러리 -->
<%@ page import="java.sql.PreparedStatement" %> <!-- 데이터베이스 SQL 전송 라이브러리 -->
<%@ page import="java.sql.ResultSet" %> <!-- 데이터베이스에서 값 받아오기 라이브러리 -->
<%
request.setCharacterEncoding("utf-8");
String idValue = request.getParameter("id_value");
String pwValue = request.getParameter("pw_value");
Class.forName("com.mysql.jdbc.Driver");
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost/stageus", "JKE", "1234");
String sql = "SELECT * FROM account WHERE id = ? AND password = ?";
PreparedStatement query = connect.prepareStatement(sql);
query.setString(1, idValue);
query.setString(2, pwValue);
ResultSet result = query.executeQuery();
if (result.next()) {
session.setAttribute("idx", result.getString(1));
session.setAttribute("id", result.getString(2));
session.setAttribute("name", result.getString(3));
session.setAttribute("password", result.getString(4));
session.setAttribute("email", result.getString(5));
session.setAttribute("birthday", result.getString(6));
session.setAttribute("phoneNumber", result.getString(7));
response.sendRedirect("../index.jsp");
}
%>
String sql = "SELECT * FROM account WHERE id = ? AND password = ?"
>> account 테이블에서 id가 ?이고, password가 ?인 행을 가져온다는 의미의 sql을 만들었다.
PreparedStatement query = connect.prepareStatement(sql);
>> sql을 전송하는 query를 만들었다.
query.setString(1, idValue);
query.setString(2, pwValue);
>> 그때 첫 번째 ?는 idValue이고, 두 번째 ?는 pwValue야.
ResultSet result = query.executeQuery();
>> result라는 테이블은 위에서 만든 query에서 값을 받아온 거야.
result.next();
>> result 테이블의 한 줄을 읽는다.
>> 즉, 로그인 페이지에서 입력한 idValue가 id column에 있고, pwValue가 password column에 있는 행이 존재한다.
if (result.next()) {
>> result 테이블을 읽을 수 있다면
session.setAttribute("idx", result.getString(1));
>> result 테이블의 첫 번째 열을 "idx"라는 이름으로 세션에 저장한다.
session.setAttribute("id", result.getString(2));
>> result 테이블의 두 번째 열을 "id"라는 이름으로 세션에 저장한다.
session.setAttribute("name", result.getString(3));
session.setAttribute("password", result.getString(4));
session.setAttribute("email", result.getString(5));
session.setAttribute("birthday", result.getString(6));
session.setAttribute("phoneNumber", result.getString(7));
response.sendRedirect("../index.jsp");
>> "../index.jsp" 이 링크로 넘어간다.
[ 회원가입 ]
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<!-- jsp에서 라이브러리 import -->
<%@ page import="java.sql.DriverManager" %> <!-- 데이터베이스 탐색 라이브러리 -->
<%@ page import="java.sql.Connection" %> <!-- 데이터베이스 연결 라이브러리 -->
<%@ page import="java.sql.PreparedStatement" %> <!-- 데이터베이스 SQL 전송 라이브러리 -->
<%
request.setCharacterEncoding("utf-8");
String idValue = request.getParameter("id_value");
String pwValue = request.getParameter("pw_value");
String nameValue = request.getParameter("name_value");
String emailValue = request.getParameter("email_value");
String birthdayValue = request.getParameter("birthday_value");
String phoneNumberValue = request.getParameter("phoneNumber_value");
Class.forName("com.mysql.jdbc.Driver");
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost/stageus","JKE","1234");
String sql = "INSERT INTO account (id, password, name, email, birthday, phone_number) VALUES (?, ?, ?, ?, ?, ?)";
PreparedStatement query = connect.prepareStatement(sql);
query.setString(1, idValue);
query.setString(2, pwValue);
query.setString(3, nameValue);
query.setString(4, emailValue);
query.setString(5, birthdayValue);
query.setString(6, telValue);
// query 전송
query.executeUpdate();
%>