서버에서 정보를 가져올때 Get요청
서버에 정보를 보낼때 Post응답
setAttribute는 응답을 보낼때 까지 살아있다
html을 하나씩 쓰기가 불편하니 jsp에 쓰게만드는
ListController
예제)
forward : 전달하다
결과)
InsertController
예제)
doGet
doPost
jsp
/member/insert.do
insert Controller실행 -> list Controller실행 -> list.jsp
list.do가 있기때문에 list.do로 브라우져를 바꿔주는 코드
redirect를 하면 서버가 찾지않고 insert.do를 바로 response(응답)을 한다
그리고 자동으로 서버에 list.do를 달라고 request(요청)을하면
서버가 다시 response해준다
그래서 redirect를 하면 두번 request하고 두번 response를 해준다
filter를 이용해서 한번에 변환을 해준다
예제)
결과)
예습)
Redirect : 두번 요청한다 서버단에서 강제적으로 바꾼다
doget : 요청을 했을때 정보들을 가져오는 것
dopost : 회원가입 할때 정보를 보내주기위한 방식
수정하기
예제)
doGet
doPost
list.jsp
UpdateForm
request Line
header
empty LIne
body
body가 너무 많아지니깐 body자체를 나눠서 구분한다
body를 나눠서 header, body로 나눠서 여러개로 구분한다
upload.jsp
이것은 무조건 작성해야한다
그렇지 않으면 파일이 보내지지 않는다
multipart를 사용해야 여러개의 body를 사용할 수 있다
결과)
쉽게 만드는 방법
(multipart 알고리즘 사용)
상수 정의)
byte를 megabyte로 만들어 준다
메모리 임계크기를 설정해준 이유
받아오는 파일의 크기가 임계크기보다 클때 메모리상에서 디스크로 파일을 넘겨준다
파일 한개당 최대 크기
코드)
한번찍어봄
복습)
url을 요청했을때 Controller가 먼저 받는다 => Service => view(jsp)화면 jsp사용이유
동적으로 처리하기 위해서. request에 잠깐 저장해서 사용한다
실행을 시켰을때만 저장 : request
사용자별로 저장 : Session
전역변수처럼 저장 : ServletContext
파일 업로드 하기위한 방법
apache common 기능에서 제공하는 파일 업로드 방법
method = post
enctype="multipart/form-data"
꼭! 사용하기
setRepository : 파일을 임시로 저장하는 장소
getRealPath() : 밑에 separator 어떤 운영체제가 와도 상관없이 처리
폼 데이터인 경우
폼필드의 값이 한글인 경우에는 해당 문자열을 적절히 변환해주어야 한다.
서블릿3 부터 지원하는 Part 인터페이스를 이용한 파일 업로드
예제)
doPost
part
EmptyLine---------------------------------
EmptyLine---------------------------------
substring 은 주소값을 잘라내는 것처럼 파일 이름을 꺼내오는 작업이다
Servlet3.0이상 버전만 사용가능