-
JAVA WEB - 6Study 2023. 2. 15. 11:10
Model 2(MVC) 변환
/BoardDeleteAction 까지 모두 완료
AJAX(Asynchoronous Javascript And Xml)
1) 자바스크립트와 XML을 이용한 비동기적 통신
→ 웹 상의 비동기적 통신
2) 사용 예 - 네이버 검색어, 구글 지도, 댓글, 아이디 중복체크 등
* 비동기적인 요청 처리
- 클라이언트의 요청과 서버의 응답을 처리하는 별도의 객체(XMLHttpRequest; xhr)를 생성하여 화면 전체를 전환하지 않고 일부에만 응답 데이터를 표시한다.
* 동기적인 요청 처리
- 클라이언트가 요청(request)하면 서버가 응답(response)하면서 화면이 전환(refresh)되는 과정을 수행한다.
xhr.readyState
0: uninitialized
1: open()
- 요청 방식을 지정해준다.
2: send()
3: interactive
→ 데이터 일부를 receive
4: complete
→ 응답 완료
xhr.status
404: file not found
500: server intend error
200: OK
javascript
자바스크립트는 유연한 언어이기 때문에 변수에 함수 선언이 가능하다.
{} : 자바스크립트 객체
[] : 자바스크립트 배열
커먼스 코덱 라이브러리
: 비밀번호 암호화 라이브러리
Apache Commons – Apache Commons
Welcome to Apache Commons Apache Commons is an Apache project focused on all aspects of reusable Java components. The Apache Commons project is composed of three parts: The Commons Proper - A repository of reusable Java components. The Commons Sandbox - A
commons.apache.org
1) Apache Commons Proper > Codec > Releases > Codec 1.14 (archives) requires Java 7 선택 > commons-codec-1.2.zip 다운로드
2) commons-codec-1.2.zip 압축 해제 후 commons-codec-1.2.jar 파일을 WEB-INF\lib 폴더에 추가한다.
AJAX를 활용한 Model 2 게시판 만들기
회원 정보와 로그인 기능을 추가한 게시판
다음 쿼리 실행하여 게시물, 회원 정보 테이블 생성
/* Create Sequences */CREATE SEQUENCE seq_board;/* Create Tables */CREATE TABLE tbl_board(no number NOT NULL,title varchar2(100) NOT NULL,content varchar2(4000) NOT NULL,regdate date DEFAULT sysdate NOT NULL,readcount number DEFAULT 0 NOT NULL,id varchar2(30) NOT NULL,PRIMARY KEY (no));CREATE TABLE tbl_member(id varchar2(30) NOT NULL,password varchar2(120) NOT NULL,name varchar2(30) NOT NULL,birth date,phone varchar2(20),zipcode varchar2(6),address1 varchar2(120),address2 varchar2(60),PRIMARY KEY (id));/* Create Foreign Keys */ALTER TABLE tbl_boardADD FOREIGN KEY (id)REFERENCES tbl_member (id);cs 이전에 Model 2(MVC 패턴)으로 개발한 게시판에서
요청 내용 /BoardInsert.do 게시판 입력 폼을 출력 /BoardInsertActon.do 게시판 입력 폼에서 넘어온 갑을 테이블에 INSERT /BoardList.do 게시판 리스트 /BoardView.do 게시판 상세보기 /BoardUpdate.do 게시판 수정 폼에 게시물 내용을 출력 /BoardUpdateAction.do 게시판 수정 폼에서 넘어온 값을 테이블에 UPDATE /BoardDelete.do 게시물 입력 시 비밀번호 재입력 폼 출력 /BoardDeleteAction.do 게시물의 글번호와 비밀번호 일치 시 게시물 DELETE 다음 Controller를 추가
요청 내용 /Login.do 로그인 폼을 출력 /LoginAction.do id, password가 일치하면 로그인 성공, 그렇지 않으면 로그인 실패 /MemberRegister.do 회원가입 폼을 출력 /MemberRegisterAction.do 회원가입 폼에서 넘어온 회원정보를 테이블에 등록
Session
session은 jsp 내장객체이므로 따로 생성하지 않고 바로 사용 가능하다.
session은 사용자에 대한 정보를 접속한 기간동안 계속 유지한다.
- session은 브라우저 당 하나씩 존재하기 때문에 해당 탭이 닫혀도 브라우저가 종료되지 않았다면 값을 계속 가지고 있다.
보안 유지가 강력하다.
1) 값 저장
session.setAttribute(key, value);
2) 값 참조
session.getAttribute(key);
3) session 유지 시간
- 톰캣에서 deafult 30분으로 설정되어 있다.(톰캣 서버의 web.xml 파일에서 확인 가능)
session.getMaxInactiveInterval();
- 세션 유지 시간 확인
session.setMaxInactiveInterval(sec);
- 세션 유지 시간 변경(초 단위)
4) session 특정 항목 삭제
session.removeAttribute(item);
5) session 종료
session.invalidate();
로그인 시 값 넘어오는 것까지 확인, 로그인 시 회원 정보 확인 및 세션에 저장하는 건 내일 이어서...
'Study' 카테고리의 다른 글
비밀글 테스트 - 1 (0) 2024.01.30 JAVA WEB - 7 (0) 2023.02.16 JAVA WEB - 5 (0) 2023.02.14 JAVA WEB - 4 (0) 2023.02.13 JAVA WEP - 3 (0) 2023.02.10