본문 바로가기

웹 프로그래밍/JSP

(24)
[JSP] 개발자 모드에서 네트워크 상태 보는 방법(parameter 정보, request 방식 등)
[JSP] 파라미터란? (+ request 객체에 대한 생각) forwardTest id : forwardSet 결과 화면 user ${ param.id } 님 환영합니다. ${ id } 님 환영합니다. admin 관리자님 환영합니다. '?' 뒤가 파라미터다. request 영역이라고 부르는 것은 사실상 서블릿 파일 내에 있는 request 객체를 말하는 것이다. (그냥 javax.servlet.http.HttpServletRequest 타입의 변수 아닌가?) ==> request.getDispatcherType() 등으로 메소드를 호출하는 것 보니 객체가 맞는 것 같다. ==> 그런데, new 하지 않았는데 언제 생성된 것인가? ==> 매개변수로 받는 것을 보니, 클라이언트에서 생성하여 보내는 것임.
[JSP] 세션 두 가지 방법으로 세선 타임아웃 설정 가능 세션 객체는 별도로 생성할 필요 없다. 웹브라우저가 하나라도 열려있으면 세션이 유지된다. 띄워져 있는 브라우저를 다 종료해야 세션이 종료된다. 네이버 로그인했다가, 해당 창을 닫아도 다른 창이 열려있으면 로그인이 유지되는 원리가 이와 같다. 세션 ID(JSESSIONID) : 세션의 유효기간 설정 2초) session.setMaxInactiveInterval(2); int interval2 = session.getMaxInactiveInterval(); %> 세션 ID(JSESSIONID) : 기존 유효시간: 초 변경 유효시간: 초
[JSP] forward, sendRedirect / 쿠키 복습 forward - 요청받은 대상과 응답하는 대상이 다르다. 그러나 url은 최초 요청받은 jsp 경로다. - 클라이언트에서 온 값을 응답하는 대상으로 전달하려면 두 가지 방법이 있다. - request 공유영역에 등록 - param으로 전달 가능 sendRedirect - 클라이언트의 요청을 서버가 응답하고, 응답할 때 값을 같이 보낸다. 클라이언트는 다시 재요청을 한다. - get 방식이기 때문에, url?name=value 식으로 전달해야 한다. ---> 파라미터임. 쿠키 - 클라이언트에 저장된 - 최대 20개 (사이트당) - 파일 4K가 한계 - 모든 사이트의 쿠키가 300개 넘으면 랜덤으로 삭제됨 - 문자열로만 저장 가능 - 세미콜론, 콤마 등 불가능. 영문만 가능(한글은 인코더, 디코더 활용하면..
[JSP] 스크립트릿, JS 는 순서대로 실행된다. (절차지향적으로)
[JSP] EL을 script 내에서 사용하려면, 쿼테이션으로 감싸야 한다
[JSP] 쿠키와 세션 쿠키 - 클라이언트에 저장됨 - 예) 오늘 하루 팝업창을 띄우지 않습니다. - 쿠키 먹을 때 부스러기 흘리듯이 쿠키를 남기기 때문에 ㅋㅋ - 쿠키는 보안에 취약하다. 그래서 중요 정보는 쿠키로 만들면 안 된다. - '오늘 하루동안 보지 않기' 등 단순한 기능만 쿠키로 만든다. 세션 - 서버에 저장됨 - 브라우저를 종료할 때까지 저장 됨
[JSP] 페이지 이동 기술(forward, response.sendRedirect) forward forwardTest.jsp id : forwardSet.jsp 결과 화면 ${ param.id }님 환영합니다. admin.jsp 관리자님 환영합니다. forwardSet.jsp에서 forward 했기 때문에, 결과 화면가 나타나지 않는다. response.sendRedirect 스크립트릿 내에서만 쓸 수 있음. (forward와 같은 기능) 그러나 다른 점이 있다. 요청-응답 사이클이 2번 일어나고, redirect 받은 jsp는 request 영역에 접근할 수 없다. ==> 'test.jsp'와 'for.jsp'는 별개의 reqeust - response이기 때문에, request 공유영역에 접근할 수 없다. ==> 따라서, sendredirect를 사용하면서 변수를 공유하고자 한다면..