[TIL] 15일차

myminimin·2023년 8월 9일
0

TIL

목록 보기
15/44
post-thumbnail

  1. LeetCode
  2. 어제 모델 1 방식으로 사용한 게시판에 파일 업로드한 것 정리해보기
  3. 오늘 모델 2 (MVC) 방식으로 web project에서 파일 업로드 추가해보기







어제 빠른 복습

화면폼 -> 데이터베이스 테이블 -> DTO/DAO -> 연동하여 업로드 테스트

<form method="post" enctype="multipart/form-data" action="경로">
  <input type="file" name="input이름"> </form>

cos.jar를 이용해 MultipartRequest 메서드를 사용해서 객체 생성 후 폼값 처리 (매개값 4개 받는다)

파일명은 원본 파일명과 세이브 파일명(년월일시분초) 으로 나눈다. 동일파일명이 있을 경우 덮어쓰기 되기 때문에!

StringBuffer 공부하기

우리가 코드를 짜는 도중에 업로드 테스트를 했을 때 파일은 .metadate / ~temp0~ / MustHaveJSP / Uploads 에 저장이 되어서 복사본이 돌아가는 것임!


오늘 빠른 메모

서블릿(Servlet)
MVC 패턴을 적용(요즘 자바는 무조건 MVC 이용)

서블릿 컨테이너(톰캣)
Web Application Server : WAS

서블릿은 MV'C' 패턴에서 컨트롤러 역할을 한다!
결과값을 출력하는건 View다

jsp에서는 클라이언트 요청을 jsp가 직접 받아 처리하지만(1번 방식), 서블릿은 요청명을 기준으로 이를 처리할 서블릿을 선택하게 된다(2번 방식).

요청명과 서블릿을 연결해주는 작업을 매핑이라고 한다

	1. web.xml에 기술 (톰캣이 관리)
	2. @WebServlet 애너테이션을 사용하여 코드에 직접 명시하는 방법
	매핑을 하면 좋은 점이 파일명을 보여주지 않아서 보안에 좋음.

어노테이션을 통한 매핑은 web.xml에 비해 편하고 자주 사용하지만 단점이 있다. 만약 모델이 변경됐을 경우 주소가 바뀔 수 있는데 web.xml 같은 경우에는 ctrl+f 후 검색해서 찾으면 되는데 어노테이션은 하나하나 다 들어가서 직접 찾아야 한다는 점이 있다. (그렇기 때문에 문서화를 잘 해줘야 한다.)

0개의 댓글