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>
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, 서버의 과부하 상태
위 사진에서, response.setStatus를 하는 이유는, 처리할 때 에러 Status가 아니라 정상적으로 처리된다는 Status 200으로 처리하기 위함이다.
밑에 사진을 보면 Error.jsp를 실행하여 에러가 나야 하지만 에러 처리를 했고 Status를 200으로 설정했기 때문에 정상으로 보임.
에러를 찾아보다가 아래 링크에 정리가 잘 되어 있어서 참고했음.
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
'배운 내용 정리 > WEB' 카테고리의 다른 글
[학습정리] 2020.01.20 - mvc1 서블릿 ver 게시판 (0) | 2020.01.20 |
---|---|
[학습정리] 2020.01.13 - Servlet, DBManager (0) | 2020.01.15 |
[학습정리] 2020.01.10 - cookie, 웹페이지 레이아웃 만들기, 첫번째 웹페이지 완료 (0) | 2020.01.11 |
[학습정리] 2020.01.09 - cookie, 회원가입 구현 (0) | 2020.01.10 |
[학습정리] 2020.01.08 - session, 페이지 이동, 회원가입 구현 (0) | 2020.01.09 |