📚Study Note/JSP Servlet (8) 썸네일형 리스트형 [ JSP ] 페이징처리의 한 방법 (그나마 간단하다고는 하지만 처음엔 쉽게 들어오지 않는) 번호 이름 제목 내용 조회수 1 오징어 사탕 사탕은 츄파츕스 30 2 고등어 딸기 딸기가 제철인가? 79 3 문어 핸드폰 공시지원가는 얼마인가 130 처음으로 이전페이지 1 2 3 4 5 6 다음페이지 끝으로 이렇게 게시물이 올라가있는 게시판이 있고 이것들을 페이징처리를 하는 방법이다. 현재 가지고 있는 정보는 1. 한 페이지에 나오는 게시물 번호수 (ex 페이지 당 10개의 게시물) 2. 총 번호수 (총 게시물 수) 3. 현재 내가 선택한 페이지 (내가 보겠다고 선택한 임의의 8 페이지) 4. 총 페이지 수 (총 게시물 수가 60개고 10개씩 보여준다고 하면 10페이지) 5. 해당페이지를 누르면 이동할 페이지 url 총 두 개의 메소드로 구성이 되어 있는 데 첫 번째 메소드는 총 몇 페이지로 이루어져 .. [ JSP & Servlet ] JSP 액션태그 │ <jsp:useBean> │ <jsp:setProperty> 첫 번째 페이지에서 두 피연산자와 연산자를 받아 결과값을 두 번째 페이지에 출력하기 위해서는 우선 Calc 라는 클래스를 만들어뒀는데 주요 속성들이 private 으로 선언되어 있고 getter 와 setter 를 generate 했으며 result() 라는 Calc 클래스의 메소드는 연산 결과 값을 String 으로 반환해준다. ( 예를 들어 "2 + 2 = 4") 이전까지는 이전 페이지로부터 getParameter() 로 값을 받아 그것을 Calc 객체를 생성해서 setter 로 각 변수값을 설정해준 뒤 연산한 결과값을 받았다면 이 액션태그를 통해서 ob 라는 Calc 객체가 생성이 되고 (scope="page" 이 부분?) 위 액션태그를 통해서는 ob 객체의 속성들을 이전 페이지의 name 속성값들.. [ JSP&Servlet] 쿠키 Cookie 설정 및 삭제 ▨ set cookie 스크립릿 영역에서 쿠키 객체를 생성해주고, 쿠키의 유지 기간? 유효 기간? 을 설정해준 뒤 response 객체에 쿠키를 추가한다. Cookie c = new Cookie("cookie_name", "cookie_value"); c.setMaxAge(10); (쿠키는 10초 후 만료) response.addCookie(c); ▨ get cookie 앞선 페이지에서 버튼을 누르면 이동하게 되는 페이지 이곳에서는 request.getCookies(); 를 통해 쿠키 타입의 배열을 반환받는다. 메소드 이름에서도 알 수 있듯이 cookies 이다. 향상된 for 문을 통해서 쿠키 타입 배열에서 쿠키 객체를 하나씩 꺼내어(객체명 c로 한다하면) c.getName() c.getValue() .. [ JSP ] 세션Session 을 활용한 페이지 간 데이터 이동 │ session.setAttribute() │ session.getAttribute() input 태그의 id 속성을 활용하여 이전 페이지로부터 request.getParameter(id); 하는 것은 스코프가 짧아 페이지 간 이동이 잦다면 불편하다. 따라서 세션을 활용한다면 브라우저가 종료되기 이전까지는 데이터가 유지되어 데이터 이동이 용이해진다. ▧ 페이지 1 코드 button 의 onclick 속성에 자바스크립트 함수를 호출하도록 하여 함수 sendIt() 에서는 이름과 생일 입력 칸에 입력된 내용이 없으면 return, 정상적으로 값이 입력이 되었다면 form 을 submit 하도록 하였다. (여기서 form 의 id 속성으로 getElementById 한 것이 아니라 document.forms[0] 으로 0번째 form 의 정보를 불러왔다는 것이 기존과는 다른 방식이다. ) ▧ 페.. [ JSP & SERVLET] 포워딩(Forwarding) 과 리다이렉트(Redirect) │ jsp의 두 가지 페이지 전환 기능의 차이 ● 포워딩(forwarding) 요청을 포워딩할 때 해당 요청은 서버의 다른 자원에 전달된다. 이 때에는 다른 자원에서 이 요청을 처리할 것을 클라이언트에게 알리지 않는다. 이와 같은 방식의 처리는 웹 컨테이너 안에서만 일어나고 클라이언트는 이와 같이 처리되고 있다는 것을 알 수 없게 된다. 포워딩은 리다이렉트와 달리 객체를 요청에 담고 해당 요청을 사용할 다음 자원에 전송한다. 따라서 클라이언트는 포워딩이 발생한 사실을 알지 못하는 것이다. 포워딩은 클라이언트와 통신 없이 서버에서만 처리되기 때문에 리다이렉트보다 나은 성능을 갖는다고 할 수 있다. 최초 호출한 url 만 보인다 . 동일 웹 컨테이너에 있는 페이지만 접근 가능하다 클라이언트가 최초 요청한 정보는 다음 url에서도 유효 ● 리다이렉트(Re.. [ JSP ] 달력을 출력하는 JSP 페이지 │ select box 선택 시 │ 단독페이지 코드는 약간 길지만 아주 쉽.. 차근차근 시작해봅시다 우선 submit 버튼이 없이 select box 를 선택하면 바로 데이터를 전송해서 달력을 그려야 하므로 onchange = "함수명(this.form)" 을 통해 스크립트 함수에 form 객체를 매개변수로 넘겨서 그것을 submit() 해줄 것이다. 이렇게 스크립트 함수 submit(obj) 를 통해서 form 객체를 넘겨주게 된다. 위에서 action 속성을 따로 주지 않았기 때문에 넘겨주게 되면 받게 되는 주체는 자기 자신이다. 자신이 던지고 자신이 받는 격? 따라서 스크립트릿 영역에서 name 속성을 통해서 select box 에서 선택한 내용을 받을 수 있다. 우선 페이지가 로드됐을 때 보여지는 첫 번째 달력을 그리기 위해서는 현재의 날짜를.. [ JSP ] 데이터전송(html → jsp) │ onsubmit │ onchange 회원가입 버튼을 클릭하면 필수로 입력해야 하는 아이디, 패스워드, 이름, 전화번호가 입력되어 있는지 검사를 하고 만약 그렇지 않다면 submit을 하지 않도록 해야 한다. 즉, 다음 페이지로 데이터가 넘어가지 않도록 해줘야 한다. 이것은 onsubmit = "return 함수명()" 으로 가능하다. 만약 submit 이벤트가 발생하게 되면 함수를 호출하게 되는데 이 함수의 return 값이 true 이면 그대로 진행, false 를 return 하게 된다면 진행이 멈추게 된다. return false; 는 현재 페이지에 그대로 남아있음 return true; 는 요청 페이지로 제어권 이전 아이디 아이디를 입력하세요 패스워드 패스워드를 입력하세요 이름 이름을 입력하세요 전화번호 전화번호를 입력하세요 성별 .. [ JSP ] get 방식과 post 방식 비교 ■■■ Get vs Post ■■■ ■ GET 방식 ■ POST 방식 ■ GET 방식 예) https://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=104&oid=001&aid=0012383345 ?(question) 마크 전까지는 요청하는 페이지이고 mode=LSD&mid=sh~~ 이부분 부터는 전송 데이터이다. - get 방식은 엽서를 보내는 방식과 유사한 전송 / 요청 방식 - 주소 + 데이터(모두 노출) - 전송할 데이터를 문자열 형태(Query String)로 URL 뒤에 인수로 붙여서 전송하는 방식이다. - URL 뒤에 인수로 붙어있는 내용을 누구나 볼 수 있고 이로 인해 보안성이 취약하다고 볼 수 있다. - 또한, get 방식은 보낼 수 있는 .. 이전 1 다음