<context-param>
을 설정하기context-param : 서버 내에서 사용되는 키-값
<context-param> <param-name>file-upload</param-name> <!-- 서버가 실행되면 프로젝트의 변화에 즉각적으로 반응. 서버가 돌아가는 경로 --> <param-value>C:\Users\admin\Web_Codes\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web07_JSP\images</param-value> </context-param> <context-param> <param-name>file-relative</param-name> <!-- 실제 경로 --> <param-value>C:\Users\admin\Web_Codes\Web07_JSP\src\main\webapp\images</param-value> </context-param>
commons-fileupload-x.x.jar을 다운로드 및 WEB-INF/lib 폴더에 저장한다
commons-io-x.x.jar을 다운로드 및 WEB-INF/lib 폴더에 저장한다
C:\tmp 폴더 생성
<filter>
<filter-name>TestFilter</filter-name>
<!-- 필터 클래스 경로 -->
<filter-class>edu.web.jsp02.TestFilter</filter-class>
</filter>
<filter-mapping>
<!-- filter의 filter-name과 일치해야함 -->
<filter-name>TestFilter</filter-name>
<!-- 필터 연결 할 jsp 경로. 여러 곳 추가 가능 -->
<url-pattern>/10_filter/filterTest.jsp</url-pattern>
</filter-mapping>
url-pattern에서 <url-pattern>/*</url-pattern>
속 *
은 모든 하위경로를 의미. 현재 프로젝트에 존재하는 모든 파일에 필터가 적용됨
Servlet의
HttpServletRequest/Response
와 Filter의ServletRequest/Response
는 상속관계다.
ServletRequest가 HttpServletRequest의 부모클래스
url로 서버사이드(내 경우 servlet)에 접근할 경우 doGet()이 호출된다. 서버사이드는 웬만하면 get방식으로 접근해선 안됩니다. post를 권장!!
doGet()이 호출된다면(url로 접근할 경우) 보안을 위해 경로 변경하기
response.sendRedirect("정상접근 경로");
연결을 주고받는 메소드(doGet,doPost)는 연결이 끊겨 오류가 발생할 확률이 많아서 에러처리해야함
throws는 함수 자체를 예외처리.
try-catch는 코드를 예외처리.
함수에 throws ServletException, IOException
예외처리해주기
사이트 이용시 볼 수 있는 이미지들은 서버에 올라와있어야 사이트 이용자들이 볼 수 있음. jsp에 파일형태로 가지고 있는게 아니라 서버에 저장된 이미지 경로를 가지고 링크해서 보여주는 것이다.
로그찍는건 데이터가 제대로 넘겨졌는지 확인할 때 사용하기
폼에서 서버/클라이언트 데이터 흐름
1) 폼에서 입력된 정보를 jsp(클라이언트A)에서 servlet(서버)로 보냄
2) 서버는 받은 정보를 DB에 저장
3) DB에 저장을 성공하면 반환되는 result를 바탕으로 새로운 jsp B에 정보를 띄움.
A->서버, 서버->B로 보낼 때 VO를 사용한다.
서버->DB에 보낼 때 DAOImple를 사용한다.