목록서버프로그래밍 JSP (7)
The Debugging Chronicles : "코드의 미학"
모든 자바 클래스는 POJO인데대표적인 not POJO 가 서블릿이다.그중 특수한 형태의 서블릿이 있는데 서블릿을 상속받은 1) 리스너와 2) 필터이다. 리스너는 모니터링, 감지를 (어떤 순간에 동작된다) 필더는 모든 특정 요청에 대해 항상 수행되는 서블릿이다. 필터에는 3가지 종류가 있다보안 / 인가,허가,인증,권한확인 / 인코딩 보안은 우리가 건들릴 수 없다.인코딩은 자동으로 수행된다실습은 인가, 허가, 인증, 권한확인으로 한다. 그럼 필터를 만들어보자 기본 생성자destory 항상 수행되는 dofilterchain.dofilter는 다음 필터를 호출하는 역할아니면 원래하던 메서드를 마저 수행한다. 필터 동작 원리는v -> logout.do-----> main.do ---->v나 로그 아웃 할래..
1. 기능 추가 1) 회사 내에서 필요에 의해 2) 클라이언트가 요구2. M V C 별로 유의할 점 C -> V -> M[C]v에서 온 요청을 올바른 M(DAO)로 보내준다"하나의 Action은 : 하나의 기능이다." 고민해할점."V에서 온 요청"이 기능인가 페이지 이동인가?사용자가 글 작성 버튼을 누르면, - V >> C >> V글 작성 페이지로 이동함 글 내용을 작성하고 글 작성 버튼을 누르면, - V >> C >> C >> VBoardoDAO의 Insert를 수행하고,메인 페이지로 이동한다. 총 3개의 C가 필요하다 controllr.page에 InsertBoardPageAciton을 만들어 준다 Controller.board에 InsertBoardAction 을 ..
1. 특수한 형태의 서블릿 클래스 extends 서블릿 서블릿의 하위(자식) 클래스2. 서블릿 == not POJO 기능이 있어서 무거운 JAVA 클래스3. 특수한 기능을 수행할 수 있는 not POJO클래스 => 초기 샘플 데이터를 웹 크롤링을 활용하여 셋팅 리스너 == 모니터링 , 감시한다는 뜻 샘플 데이터를 웹 서버가 구동(실행)되면, 최초에 한번 DB에 저장시켜줘! 샘플 데이터 받아려면 DAO필요boardDAO는 결합도를 낮추기 위해서 BoardDTO 가 필요하다 몇번 나오는지 확인하는 로그 찍어 보기 web.xml를 보면web.xml에 이 코드가 있어야만 listener를 인지한다. 아니면 어노테이션으..
.XML 설정 파일 -톰캣에서 WEB_INF 하위에 .xml 파일이 있다면, 설정할 때 그 xml 파일을 참고 하도록 코딩 되어 있다.- 스키마 (골격, 설정)이 필요한데 web.xml 의 경우 루트 엘리먼트(==가장 최상위에 존재하는 태그)가 이다- 자바 최상위 에러 객체 : Throwable xml파일 상단 고정 코드사항
[예제]d.jsp 페이지에서 이름을 입력하여 e.jsp 페이지로 이동합니다.e.jsp 페이지에는 상품들이 select 박스에 제공되어있습니다.1상품을 5개정도 제공해주세요.[장바구니에 추가] 버튼을 눌러서 해당상품을 추가합니다.[ 계산하기 ] 버튼을 눌러서 지금까지 장바구니에 담았던 상품들을 모두 출력합니다.f.jsp 페이지에서 장바구니에 select 에서 선택한 상품을 추가해주세요.g.jsp 페이지에서 장바구니에 저장했던 상품들을 출력해주세요. d.jsp 이름 e.jsp 복숭아 사과 샤인머스캣 계산하기 f.jsp cart = (ArrayList)session.getAttribute("cart"); // 페이지가 처음 로딩 될때, cart의 값이 아예 아무것도 없을 때 ..
Request vs Session vs Application 3개의 내장객체들은 scope(유효기간)에 차이점이 있다! 1. Request Request의 scope == 1 요청 (동안 살아 있을 수 있다)=> 새로운 요청을 수행하면 기존의 정보들이 사라짐 .getParameter();ex)리다이렉트는 새로운 요청 .sendRedirect(); 하니까 기존의 apple 값이 사라져버렸다 요청을 할때 마다 (버튼을 누를때마다) 데이터가 사라져버리면 안됨!! 2. SessionSession 의 scope == 1브라우져=> 기존의 창을 닫으면 기존의 정보들이 사라짐 +시간이 정해져있음 - > 기존의 창이 유지되더라도, 일정 시간이 지나면 기존의 정보들이 사라짐 .getAttribute();.set..
"+n1+ "/" +n2+" = "+res+""); %> 위의 코드를 실행하면 다음과 같은 에러가 난다. 에러는 500대 에러이다원인은 백, 서버 or DB, java, c or M에서 문제가 있을음 알 수 있다. 자바로 코드를 입력한 구간 중 라인 넘버 14행을 확인해보면int res = n1/ n2;에서 문제가 나고 있다. 자세히 확인해 보면 0으로 나누었기 때문에 나는 에러라는 내용을 확인해 볼 수 있다. 해결방안 1)n2 를 0이 아닌 다른 정수로 설정2) try-catch로 예외처리3) 에러 페이지로 이동 처리를 한다.예를 들어 네이버웹툰페이지를 보면 유료 회차를 요청하면,메인 목록으로 이동시킨다. 혹은 없는 회차를 요청하면,(이전에는 최신 회차로 이동시켰음)메인목록으로 이동시킴 웹에서 ..