본문 바로가기

JSP19

Lecture 55 - JSP(13) annotation, filter, 한글 encoding, decoding, 로그인 검사 필터, ServletContextListener, MVC 패턴 서블릿 사용시 web.xml을 사용하는데 여기에 다 써놓는게 힘들어서 나온게 annotation이다. web.xml generate 체크 안하고 생성 @WebServlet({"/servlet01"}) public class ServletEx01 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doProcess(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws Servle.. 2019. 6. 3.
Lecture 54 - JSP(12) 세션, SSO, 로그인, 로그아웃, 서블릿, get, post, 동이름입력받아주소출력 클라이언트와의 대화 2 : 세션 서버세션을 사용하면 클라이언트의 상태를 저장할 수 있다. 쿠키와의 차이점은 세션은 웹 브라우저가 아니라 서버에 값을 저장한다는 점이다. 서버는 세션을 사용해서 클라이언트 상태를 유지할 수 있기 때문에, 로그인한 사용자 정보를 유지하기 위한 목적으로 세션을 사용한다. 세션 사용하기 : session 기본 객체 웹 브라우저에 정보를 보관할 때 쿠키를 사용한다면, 세션은 웹 컨테이너에 정보를 보관할 때 사용한다. 세션은 오직 서버에만 생성된다. 웹 컨테이너는 기본적으로 한 웹 브라우저마다 한 세션을 생성한다. 위 그림과 같이 JSP1과 JSP2가 세션을 사용한다고 한 경우 웹 브라우저 1이 JSP1과 JSP2를 실행하면, 웹 브라우저 1과 관련된 세션 1을 사용한다. 웹 브라우.. 2019. 5. 31.
Lecture 53 - JSP(11) 페이지 모듈화, 요청 흐름 제어, Include, Cookie, Login, Logout 페이지 모듈화와 요청 흐름 제어 보통 하나의 웹 사이트를 구성하는 페이지 들은 동일한 상단 메뉴, 죄측 메뉴 그리고 하단 푸터를 갖는다. 이런 공통 구성 요소를 위한 묘드를 모든 JSP 페이지마다 작성한다면 코드 중복이 발생하게 된다. 게다가 공통 구성 요소의 일부를 수정하려면 모든 JSP 페이지를 수정해야 하는 부담도 있다. 이런 화면 구성 요소의 묘드 중복 문제를 없앨 때 사용할수 있는 것이 바로 (jsp: include) 액션 태그이다. (jsp: include) 액션 태그는 위치한 부분에 지정한 페이지를 포함한다. 순서 1. main.jsp가 웹 브라우저의 요청을 받는다. 2. [출력내용 A]를 출력 버퍼에 저장한다. 3. 가 실행되면 요청 흐름을 sub.jsp로 이동한다. 4. [출력내용 B]를.. 2019. 5. 30.
Lecture 52 - JSP(10) Model1 기반 게시판 파일 업로드 기능 구현 파일 업로드 기능 구현하기 http://www.servlets.com/cos/ UploadEx01.form 파일 파일 UploadEx01.form_ok upload 폴더에 파일전송한 lecense.txt가 전송되었다. 제한 용량이 2MB이므로 용량이 허용하는 파일을 전송해야 한다. 중복된 파일이 전송되면 new DefaultFileRenamePolicy()에 의해서 파일이름 뒤에 숫자가 순차적으로 붙는 알고리즘이 내장되어 있다. 2MB를 초과한 데이터를 전송시 위와 같이 에러가 난다. 위와 같이 설정하면 upload에 파일이 들어오면 알아서 새로고침 됨 UploadEx01.form_ok - 파일 저장되는 프로세스 out.println(multi.getFilesystemName("upload") + " ".. 2019. 5. 29.
Lecture 51 - JSP(9) 검색기능 추가한 Model1 기반 게시판 검색기능을 더한 게시판을 Model1으로 해서 구현하고 여기에 view1안에는 이전글, 다음글 기능을 추가하는 게시판을 만들었다. ModelEx01.search1.BoardDAO package search1; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; //.. 2019. 5. 28.
Lecture 50 - JSP(8) 모델1 기반 게시판 BoardTO, BoardDAO, 답글쓰기 model1 BoardTO BoardDAO paging model1 List 페이지 표현을 위한 TO BoardListTo BoardTO BoardDAO ModelEx01.paging1.BoardDAO package paging1; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.D.. 2019. 5. 27.
Lecture 49 - JSP(7) 페이지 수를 나타내는 Model1 기반 게시판 페이지 수를 나타내고 누르면 이동하는 구문 추가하기 우선 데이터를 200개 추가하기 BoardEx01.paging1.board_write2_ok 게시판 HOME > 게시판 > 게시판 글쓴이 제목 비밀번호 내용 이메일 @ ※ 개인정보 수집 및 이용에 관한 안내 1. 수집 개인정보 항목 : 회사명, 담당자명, 메일 주소, 전화번호, 홈페이지 주소, 팩스번호, 주소 2. 개인정보의 수집 및 이용목적 : 제휴신청에 따른 본인확인 및 원활한 의사소통 경로 확보 3. 개인정보의 이용기간 : 모든 검토가 완료된 후 3개월간 이용자의 조회를 위하여 보관하며, 이후 해당정보를 지체 없이 파기합니다. 4. 그 밖의 사항은 개인정보취급방침을 준수합니다. 개인정보 수집 및 이용에 대해 동의합니다. 목록 등록 BoardEx01.. 2019. 5. 24.
Lecture 48 - JSP(6) 필수요소이해, 리다이렉트, Session, Application, Buffer, pageContext, Model1기법 게시판 java - web jsp - html - java - class servlet - java - class 분업화 JSP - 필수 요소 이해 지금까지 JSP 소스 코드를 여럿 작성하여 실행했다. 웹 브라우저에 주소를 입력하면 JSP가 실행되는 것처럼 보였지만, 실제로 JSP를 실행하는 과정은 매우 복잡하다. 웹 브라우저에 JSP 페이지에 해당하는 URL을 입력하면, 톰캣 서버는 아래 그림과 같은 과정을 거쳐 JSP 페이지를 실행한다. WAS는 JSP 페이지에 대한 요청이 들어오면 다음과 같은 처리를 한다. · JSP에 해당하는 서블릿이 존재하지 않을 경우 (과정 1. 1) - JSP 페이지로부터 자바 코드를 생성한다.(과정 1. 2) - 자바 코드를 컴파일해서 서블릿 클래스를 생성한다. (과정1. 3) .. 2019. 5. 23.