1. RequestDispatcher:

브라우저의 URL을 변경(안 함)객체가 유지됨

사용방법)

RequestDispatcher dispatcher = request.getRequestDispatcher("처리해줄 경로");

dispatcher.forward(request, response); //request response를 넘겨줌

(dispatcher라는 지역변수를 굳이 사용하지 않아도 됨)

 

request.getRequestDispathcer("가야하는 경로").forward(request, response);

 

2. 영역:

 jsp 내장객체들 session, request, page, application 들은 해당 객체의 정의된 유효 범위 안에서 서로 공유할 수 있는 데이터들의 공간을 확인해 보려고 함

영역

영역객체

속성 유효 범위

page

pageContext

해당 페이지 안에서만

request

request

클라이언트의 요청이 처리되는 동안 유효

session

session

브라우저가 종료되기 전까지

application

application

웹 애플리케이션이 실행되고 있는 동안 유효

 

영역의 크기

사용예시)

페이지1에서 버튼을 누르면 페이지2에서 값을 가져오는데,

session, application만 유지되고 request, page는 null 값이 된다.

 

3. 예외 페이지

web.xml파일을 이용한 예외처리

1) 404 에러 - 페이지 없을 때

2) 500 에러 - 자바코드 에러

 

사용방법)

404에러 발생 시 error404.jsp 페이지로 이동

500에러 발생 시 error500.jsp 페이지로 이동

web.xml 파일에 아래 내용 삽입

<error-page>

           <error-code>404</error-code>

           <location>/jsp_error404.jsp</location>  

</error-page>

<error-page>

           <error-code>500</error-code>

           <location>/jsp_ error500.jsp</location>

</error-page>

location 내 파일 위치 의미

ERROR 종류

1**. 정보전달용: 임시응답을 나타냄

  100: 계속 작업함

2**. 성공: 요청을 받아들임

  200: 성공

  201: created, post 명령 실행 및 성공

3**. 경로변경: 클라이언트 브라우저는 요청을 처리하기 위해 좀 더 조치를 취해야 함

  300: multiple choice, 최근에 변경된 데이터를 요청

  304: not modified, 웹 페이지에서 요청만 하고 자신의 브라우저의 캐시를 수장이 안됨

4**. 클라이언트 오류: 오류발생하고 클라이언트에 문제가 있음

  400: bad reqeust 클라이언트의 잘못된 요청으로 처리 불가능

  404: not found 파일 못 찾음

5**. 서버오류서버 오류: servelt, jsp의 요청을 서버가 처리하지 못함

  500: internal server error, 내부 서버 오류 (잘못된 스크립트 실행 시)

  콘솔창에는 아래처럼 error 확인가능하다

  java.lang.ArithmeticException: / by zero

  502: bad gateway, 서버의 과부하 상태

error 처리 페이지 설정내용

위 사진에서, response.setStatus를 하는 이유는, 처리할 때 에러 Status가 아니라 정상적으로 처리된다는 Status 200으로 처리하기 위함이다.

밑에 사진을 보면 Error.jsp를 실행하여 에러가 나야 하지만 에러 처리를 했고 Status를 200으로 설정했기 때문에 정상으로 보임.

setStatus 확인위치

에러를 찾아보다가 아래 링크에 정리가 잘 되어 있어서 참고했음.

https://ooz.co.kr/260

 

4. 로그인 구현

mvc1 버전으로 구현을 진행하였고, 지금까지 배웠던 내용은 다 구현했으나, 아직 100% 완성하지는 않았다.

내일 cookies 사용법 학습 후 완성 버전을 만들 예정이다.

 

mvc1 버전은 회사에서 많이 사용하지 않지만, logic을 이해하는데 큰 도움이 된다고 선생님께서 말씀하셨다.

자바만 진행했을 때도 mvc를 나누는 연습을 하였고, 자바 포트폴리오를 하면서 mvc의 중요성을 직접 깨달았다.

정리가 잘 되고, 수정도 손쉽게 할 수 있다.

 

오늘 구현한 내용은 아래와 같다.

1. Model

DB: backend3

Table: mvcmember1

          

내용

필드명

자료형

번호

mno

int

필수 입력, 숫자 자동 증가, 기본키

아이디

mid

varchar(20)

필수입력

이름

mname

varchar(200)

필수입력

비밀번호

mpass

varchar(20)

필수입력

이메일

memail

varchar(200)

필수입력

가입날짜

mdate

timestamp

필수입력, 기본값 CURRENT_TIMESTAMP

ip

mip

varchar(20)

필수입력

 

2. View

 2-1. header/footer 분리

 2-2. error page 설정 (404, 500)

 2-3. 

약관동의           join_agree.jsp

회원가입 페이지  join.jsp

회원가입확인      join_com.jsp

로그인             login.jsp

 --이상 유효성 검사 포함 (빈칸, 비밀번호 확인)--

3. Controller

로그인 처리       login_controller.jsp

+ Recent posts