서블릿 (servlet) -세션 관리 (session vs cookie)
·
Programming Language/SERVLET
📌 등장배경 http 프로토콜의 connectionLESS, stateLESS 특징으로서 각 페이지마다 이전 페이지에서 했던 데이터 및 기능들을 현재 페이지에서 알 수가 없다. ⇒ 알 수 있도록 처리 (세션관리) 1️⃣ HttpSession 이용 서버에 데이터를 저장 ⇒ setAttribute(key, Object) HttpSession API 애용 Http의 특성 1. HTTP는 무상태(Stateless) 프로토콜이다. 2. 클라이언트와 서버가 요청과 응답을 주고 받으면 연결이 끊어진다. 3. 클라이언트가 다시 요청하면 서버는 이전 요청을 기억하지 못한다. 4. 클라이언트와 서버는 서로 상태를 유지하지 않는다. session의 특성 1. 클라이언트가 처음 서버에 연결을 하면 어떤 하나의 session ..
서블릿 (servlet) - 파일 업로드
·
Programming Language/SERVLET
1️⃣ 파일 업로드 기능을 가진 jar(라이브러리) 활용 ⇒ 가장 안정적이고 많이 사용된 라이브러리는 apache에서 제공된 commons 파일 업로드를 사용한다. ⇒ 아파치 사이트에서 jar 다운로드 http://jakarta.apche.org https://commons.apache.org/ 에서 2개의 jar 다운로드 Fileupload:commons-fileupload-1.4.jar IO: commons-io-2.13.0.jar 2️⃣ 웹 프로젝트에 jar 등록 WEB-INF | lib 폴더에 복사한다. 3️⃣ 파일업로드 jsp 작성 (uploadForm.jsp) 반드시 다음과 같이 설정해야 된다. 4️⃣ 서블릿 작성 ( UploadServlet.java ) 가. https://commons.ap..
서블릿 (servlet) - 요청 위임(forward, redirect)
·
Programming Language/SERVLET
📌 개요 클라이언트의 요청을 받은 서블릿에서 다른 컴포넌트( 서블릿, JSP, html)로 요청을 위임할 수 있는 방법이다. 직접 요청 받은 서블릿에서 모든 작업을 처리하지 않고 위임한 컴포넌트에서도 특정 작업을 처리하여 모듈화가 가능하다. 📌 위임방법 2가지 1️⃣ HttpServletRequest 객체를 이용한 forward 방법. 맨 처음 요청 받은 서블릿에서 생성된 HttpServletRequest 객체를 재사용하여 위임 하는 방법으로 포워드(forward)라고 부른다. 하나의 HttpServletRequest 를 사용하기 때문에 forward 되었을 때 URL이 변경이 안된다. RequestDistatcher dis = request.getRequestDispatcher(target); dis...
서블릿 (servlet) - DB연동 (실습2 수정,삭제)
·
Programming Language/SERVLET
📝 목록 중 내가 보고싶은 것만 선택 ✅ 내가 원하는 것을 클릭하면 그것이 나오는 서블릿 하나 만들어준다. (DeptRetrieveServlet) ✅ 결과 📝 삭제 결과 📝 수정 ✅ 부서위치 수정까지 추가 ✅ 수정 누르면 수정 후의 목록으로 submit 되도록 해준다. ✅ 다시 해보면 부서번호를 모르기 때문에 안된다. ✅ hidden으로 부서번호까지 넘겨주기 ✅ // 서비스연동 // 응답처리 ✅ 결과
서블릿 (servlet) - DB연동 (실습1 등록)
·
Programming Language/SERVLET
📝 실습1 등록 ✅ JSP 파일 생성 ✅ DeptWriteServlet 생성 ✅ 결과
서블릿 (servlet) - DB연동
·
Programming Language/SERVLET
✅ import 하기 📌 main 아키텍쳐 main클래스 ———> 서비스 ———> DAO ———> 오라클 2개의 jar를 build path 2개의 xml 파일 작성 ( com.config 패키지 ) Configuration.xml DeptMapper.xml com.dto.DeptDTO 작성 com.dao.DeptDAO 작성 com.service.DeptService com.service.DepServiceImpl 작성 DeptMain 작성 (main 메서드) 📌 web 아키텍쳐 서블릿 ———> 서비스 ———> DAO ———> 오라클 2개의 jar를 WEB-INF/lib 복사 하면 자동으로 build path 됨 2개의 xml 파일 작성 ( com.config 패키지 ) Configuration.xml ..
서블릿 (servlet) - Filter API 활용
·
Programming Language/SERVLET
📌 용도 서블릿 호출전 (요청필터) 또는 호출후(응답필터)에 특별한 작업이 가능 요청필터는 일반적으로 POST의 한글처리가 대표적인 작업이고 응답필터는 특별히 없는데 압축, 암호화 작업이 가능하다. 📌구현방법 package 지정 필수 implements Filter 및 메서드 재정의 doFilter(ServletRequest request, ServletResponse response, FilterChain chain) { //요청필터 작업 chain.doFilter(request, response); //응답필터 작업 } 필터 맵핑 (web.xml 설정) 📝필터 맵핑 ( web.xml 설정 ) 📝 /* 📌 구현 방법 📌 POST의 한글 처리
서블릿 (servlet) - Scope
·
Programming Language/SERVLET
Scope ( 범위, lifecycle ) 1️⃣ 개요 임의의 데이터를 특정 객체에 저장할 수 있다. 객체가 3가지 형태가 있고 lifecycle가 다르다. ★★ 2️⃣ 종류 3가지 ✅ HttpServletRequest ( request scope 라고 부른다. ) // Attributes are reset between requests // request.getParameter(key) 구별해야 된다. -저장방법: request.setAttribute(String key, Object value); -조회: request.getAttribute(key); 형변환 필요 -삭제: request.removeAttribute(key); ✅ HttpSession ( session scope 라고 부른다. ) H..
서블릿 (servlet) - ServletConfig vs ServletContext
·
Programming Language/SERVLET
📌 javax.servlet.ServletConfig 서블릿 계층구조에서 본 것처럼 서블릿에 1:1 대응됨 ( 서블릿당 하나씩 생성 ) 다른 서블릿에서는 사용 불가 기능? a. 초기화 파라미터 조회 ( key/value 쌍 ) String s = getInitParameter(String name); 사용 ★ ⇒ web.xml에 서블릿을 맵핑할 때 key/value 쌍으로 값을 저장하고 필요 시 사용 ⇒ key/value 쌍을 자바에 저장하면 수정 시 재컴파일이 필요함 ⇒ 대표적인 예) 파일경로 ⇒ 스프링 프레임워크 사용한다 A dir_path c:\temp x y B b. ServletConext 반환 ServletContext ctx = getServletContext(); 📌 javax.servle..
서블릿 (servlet) - 서블릿의 핵심 기능
·
Programming Language/SERVLET
🎯 서블릿의 핵심 기능(교안 p.40) 1️⃣ 요청처리 기능 html의 사용자 입력 태그에 값을 지정하고 submit 버튼을 선택하면 서버에 파라미터가 전달된다. 요청받은 서블릿은 HttpServletRequest 객체의 메서드를 사용하여 요청 파라미터 값을 얻을 수 있다. 📌 실행순서 1. 사용자 입력 태그를 가진 html (jsp) 작성 - loginForm.jsp - New jsp file 생성 코드 작성 2. 사용자 입력 값을 얻기 위한 서블릿 작성 - LoginServlet ( 서블릿맵핑: /login ) - method=”get” ⇒ doGet 으로 처리 - method=”post” ⇒ doPost 으로 처리 만약 일치하지 않으면 405 에러가 발생됨 2️⃣ 응답처리 기능 - html 작성해서..
xoo | 수진