내장객체
REQUEST, RESPONSE 내장되어 있어서 선언 없이도 사용이 가능하다.
파라미터
-client 가 서버로 요청하면서 보낸 문자열
-예시
로그인시 : 사용자 id, password
글 작성시 : 글 제목, 글 내용
-조회시 필요한 값들 ( 게시판 구분, 게시판 페이지 번호(페이징 처리 - 페이지 , 페이지사이즈 라는 바인드 변수가 필요))
-클라이언트가 어떤 웹브라우저(chrome, safari 등등 )로 접속했는지 알려면 그때마다
User-Agent header 를 검색해야 함 → 언제든 변경 가능성 있다.
jsp 로 엑셀파일 만들기.
-엑셀에 대한 content 타입 설정 :
jsp 파일을 생성하고 : header 부분 설정 :
<%@ page language="java" contentType="application/vnd.ms-excel; charset=UTF-8" pageEncoding="UTF-8"%>
-요청과 응답 주체 비교
요청접수 요청 생성 : 비고
servlet(요청 접수 요청생성 모두함) : response.sendRedirect
servlet jsp : Model2 request.getRequestDispatcher().forward()
jsp (요청접수, 요청생성 모두함 : Model 1
-우리 프로젝트때 : model 2
model2 로 실행하면
jsp 를 바로 실행되면 오류 : servlet 에서 데이터요청을 받지 않은채로 jsp 로 넘어가면 오류 → servlet 으로 경로를 설정해주어야 한다. servlet → jsp
request dispatch / redirect : →
client 클라이언트 최초 요청 —> UserListServlet → Request Dispatch 서버내에서 요청 위임 → userList.jsp
—> 다시 클라이언트 입장에서는 최초 요청에 대한 응답
다시 f5 를 누르면 UserListServlet 으로감 ( 비록 데이터보여준건 userList.jsp 였지만 )
Request Dispatch redirect
요청이 두번간다
클라이언트 —-→ 클라이언트 최초 요청
클라이언트 ←—- redirect 클라이언트에게 다른주소로 재 요청 하라고 응답
클라이언트 -—> 정보를 바탕으로 재요청
←—- redirect 된 리소스에서 응답생성
redirect
요청한 리소스의 주소가 변경 되었음을 클라이언트에게 알려줌
서버의 상태가 변경됨
예시 : 게시글 작성
: 게시글을 작성 → 게시글작성하고 리스트로 감
만약 f5 를 누르면 → 다시 게시글이 작성됨...? 문제.
그래서 redirect 사용해서 → redirect 클라이언트에게 다른 주소로 재요청하라고 응답 하는 부분이 생성. → 다시 게시글이 작성되지 않도록 함
서버변경 or 데이터에 변환되는 작업 → 보통 redirect 로 생성
댓글
댓글 쓰기