[ITWILL : JSP]JDBC활용 - TIMESTAMP주의점, JDBC에서 데이터처리
ITWILL학원 : 20강 JSP기초 BY 정규태강사
JDBC
- JDBC활용 - import쓰는 이유, form페이지로 받은 데이터를 DB에 insert하는 방법
- JDBC활용 - JAVA에서 DB 정보 지우기 2가지방법
- JDBC활용 - DB에서 고객정보를 불러와서 HTML테이블에 담기
- JDBC활용 - TIMESTAMP주의점, JDBC에서 데이터처리
- JDBC활용 - 회원정보수정페이지만들기
- JDBC활용 - 회원목록출력하는데 관리자는 빼고 출력하기, 자바 에러 두종류
1. MySQL Workbench에서 Timestamp 추가시 주의점
MySQL Workbench에서 row추가시 Timestamp 데이터타입을 쓰고싶다면 TIMESTAMP
라고 직접 작성하거나 드롭다운리스트에서 TIMESTAMP()
을 찾은 뒤 꼭 괄호를 삭제하고 TIMESTAMP
로 apply해야 에러가 발생하지 않는다.
타임스탬프는 사용자가 입력하는 데이터가 아니라 컴퓨터시간에서 가져오는 데이터이다.
따라서 JDBC의 3단계인 sql구문 & DB저장에서 객체생성을 통해 진행할 수 있다.
아래 코드는 JDBC에서 itwill_member테이블에 사용자가 입력한 id, pw와 컴퓨터현재시간을 차례대로 sql구문에 넣는 코드이다.
1 | //3. sql구문 & DB저장 진행시 |
2. JDBC에서 데이터처리
JDBC 3단계인 SQL작성 & pstmt 객체생성 & 데이터처리를 중점으로 로그인페이지를 작성해보자.
- 아이디 일치 + 비번일치 => 로그인, main페이지이동, id값 세션객체 생성
- 아이디 일치 + 비번불일치 => 에러(“비밀번호오류”), 뒤로가기
- 아이디 불일치 => 에러(“비회원입니다”), 뒤로가기
1 | //3-3. 데이터처리 |
2-1. 페이지이동시 js코드보다 java코드가 좋은 이유
다른 페이지로 이동시 왜 js코드보다 java코드가 더 좋을까?
해당파일의 확장자는 jsp이다. jsp파일이라서 자바코드의 처리가 우선순위에 있다.
js코드인 경우, java로 된 코드가 다 실행되고 난 뒤에 실행이 된다.
이때 이후에 나오는 java코드에 문제가 생기면 js코드가 실행안될 수 있기때문에 아예 java코드를 쓰는것이
실행순서상 좋다.
- js코드를 이용한 페이지이동
1 | <script type="text/javascript"> |
- java코드를 이용한 페이지이동
1 | response.sendRedirect("main.jsp"); |
2-2. 페이지새로고침 3가지의 차이점.
history.back();
: 작성한 아이디나 데이터가 살아있다location.href="loginForm.jsp";
: 작성한 아이디나 데이터가 없다location.reload();
: 새로고침으로 alert창이 반복된다