D:\eclipse-web-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Fileupload
String getParameter(String name);
String[] getParameterValues(String name);
File getFile(String name);
Striing getOriginalFileName(String name);
String getFileSystemName(String name);
String getContentType(String name);
클라이언트의 요청정보, 서버의 응답정보를 필터링할 때 사용하는 기술
클라이언트가 보낸 정보에 추가적으로 뭐 ㄹ더 적용 혹은 교체 혹은 중단하고 서블릿으로 보내주려는 기능
서블릿을 이용해서 필터를 구현해서 보조역할을 하는 서블릿같은 느낌으로 개발 -> 기본 구조가 서블릿을 닮아있음
클라이언트가 요청을 보내면 제일 처음 요청을 받아들이는건 Servlet/JSP Container
컨테이너가 요청을 확인하고 서블릿으로 보내줌
요청이 들어오면 컨테이너가 매핑되어있는 필터 혹은 서블릿으로 보내줌
필터 간 포워드하듯 필터링하기 가능
필터링이 끝나면 Servlet, JSP로 보내줌
응답도 필터를 거쳐거쳐 클라이언트에게 도달
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
전달 파라미터의 인코딩 설정(UTF-8)
./ ➡ http://localhost:8088/Apple/
./board/insert ➡ http://localhost:8088/Apple/board/insert
./insert ➡../../aaa ➡ http://localhost:8088/Apple/aaa
http://localhost:8088/index
http://localhost:8088/index.jsp
http://localhost:8088/index.html
** 서버 프로그램 구현 평가 4월 12일
문제해결 시나리오
포트폴리오
- Servlet/JSP를 이용한 MVC 웹개발 전부
- 코드 구현 / 분석
- Front 구현
서블릿/JSP ~4/28
프레임워크 ~5/22
프로젝트 ~6/20** 전원 주제 발표
- 메인 주제 선정
- 기능들 정리, 설명(메뉴 형식)
- 발표시간 3~5분
- PPT 준비 x
- 간단히 텍스트로 적어오기(다 같이 볼 수 있게)
-> 월요일에 발표하기** 주제 발표 후 전원 투표
- 다득표 아이디어 낸 사람이 조장
** 파이널 프로젝트
- 웹 어플리케이션 제적
- HTML/CSS/JS/JQuery/WEB API 기반의 클라이언트 개발(JSP 이용)
- Spring Framework 기반의 서버 프로그램 개발
- MyBatis Framework 기반의 DB 처리(JDBC 기반의 프레임워크)
- Oracle DB 사용
- Apache-Tomcat 서버 사용
** 프로젝트 주제
- 선정적x, 도박성x, 게임x(게임성o), 쇼핑몰x
- 단독 쇼핑몰 사이트x
- 기본 사이트에 추가적인 쇼핑시스템o
- 사이트의 결과물이 상품성o, 공익성o -> 큰 의미가 없는 것 같음
** 프로젝트에서 구현되는 기능
- 로그인(세션 기술, 회원관리) + 소셜로그인
- 게시판 + 댓글 / 정렬 공지사항 추천기능 사진첨부 등등
- 파일 업/다운로드
- DB 사용
- ajax 기술 활용
- 관리자 사이트 : 본 사이트와 이원화시키면 좋음 / UI는 너무 공들일 필요 없음(깔끔하게만 구성)
- 결제
- 예약, 장바구니
- 메일발송, SMS발송
- 회원의 등급관리
- WEB API 최대한 활용(우편번호, GPS, 공공데이터, 지도, 차트, ...)
통신 상황에 대한 상태정보를 저장하지 않는 프로토콜을 뜻함
서버-클라이언트 사이의 통신 이력(기록)을 프로토콜이 기억하지 않음
👉🏻 이전 통신과 다음 통신의 연결점이 없음
클라이언트의 통신 정보를 서버가 유지하기 위한 기술들의 조합
클라이언트에 웹 서버의 정보(데이터)를 저장하는 기술
name=value 쌍으로 이루어져 있음1. 클라이언트가 서버에 요청을 보낼 때 쿠키 정보를 포함
➡ 요청 메시지의 헤더 영역에 포함하여 전달
➡ Cookie 항목에 key=value 쌍으로 추가됨
➡ 쿠키가 없으면 보내지 않음
2. 서버는 클라이언트의 요청정보에서 쿠키 정보를 확인할 수 있음
➡ Servlet클래스의 HttpServletRequest 객체에서 확인 가능
3. 서버는 클라이언트로 응답을 보낼 때 쿠키를 저장하도록 추가할 수 있음
➡ 응답 메시지의 헤더 영역에 포함하여 전달
➡ Set-Cookie 항목을 이용
➡ HttpServletResponse객체를 이용하여 쿠키를 전달