servlet (16) 썸네일형 리스트형 페이지 이동 1.데이터를 포함하지 않는 경우 :jsp ,서블릿 모두 response.sendRedirect("예시.jsp"); 2.데이터를 포함하는 경우 - JSP로 구현할 경우 - 서블릿으로 구현할 경우 예시(..){ request.setAttritude("예시1",m); RequestDispatcher dispatcher = request.getRequestDispatcher("예시2.jsp"); dispatcher.forward(request,response); } HttpServletRequest HTTP프로토콜의 request정보를 서블릿에 전달하기 위한 목적 사용하는 클래스 : 헤더 정보, 파라미터, 쿠키 , URL,URI등의 정보를 읽어들이는 메서드 주요 메서드 : 1. getParameter(name) : name 속성으로 전달된 파라미터 값 2. getParameterValues(name) : 동일한 name 속성으로 전달된 모든 파라미터 값 3. getRequestURL() : http://~~~ 4. getRequestURI() : /예시/예시.JSP등 getParameter <-- 값을 가져올때 POST방식의 인코딩과 디코딩 POST : 데이터 영역에 파라미터를 전송하는방식 POST방식 인코딩 방법 : form태그가 해당 페이지의 charset으로 인코딩 POST방식 디코딩 방법 : 데이터가 담긴 request객체에 setCharacterEncoding메소드 사용 인코딩(Encoding) : 문자를 코드로 변환 인코딩 : 페이지에 charset 을 따름 캐시 삭제 만약 post방식이 아닌 get방식으로만 나온다면 계정에 대한 캐시를 삭제 해야하는데 점3개 눌러서 -> 설정 누른후 service() init(): 서블릿이 처음으로 요청되어 객체가 생성될 때 호출되는 메서드 service(): 클라이언트가 요청이 있을 때마다 호출되는 메서드 destroy(): 서블릿 서비스의 종료 및 재시작 그리고 서블릿 코드가 수정이 될 때 호출되는 메서드 doGet(): 클라이언트 요청할 때 form의 method가 get방식일 때 호출되는 메서드 doPost(): 클라이언트 요청할 때 form의 method가 post방식일 때 호출되는 메서드 HttpServlet 클래스의 service 메소드 1.HTTP 프로토콜을 사용해서 넘어온 자료들을, doGet 메소드나 doPost 메소드를 호출하게 된다. 2.클라이언트로부터 넘겨진 자료의 method 를 보고 GET 메소드이면, doGet 메소드를, POST 이면, .. 데이터 전송 방식 - HTTP Method 쿼리스트링 : URL의 뒤에 입력 데이터를 함께 제공하는 가장 단순한 데이터 전달 방법 http://~~~/path?querystring 위와 같이 쿼리 스트링은 URL에서 ? 다음에 오는 내용 request,response 📌브라우저 => 서버 (Request) - 요청에는 Get 방식, Post 방식 2가지가 있다. - Post 방식의 경우, 이클립스로 서블릿을 개발하면서 JAVA 메소드로 인코딩을 할 수 있는데, request.setCharacterEncoding("UTF-8"); 로 간단히 인코딩 방식을 설정할 수 있다. - GET 방식으로 전달된 문자열들은 URI에 포함되어 전달되기 때문에 URI에 대해 인코딩 처리 작업을 해야한다. 서버마다 기본적으로 URI 인코딩 문자코드가 정해져 있는데, GET 방식으로 보내진 한글은 톰캣이 기본적으로 UTF-8이 적용되어 있어서 자동으로 처리를 해주기 때문에 글자가 깨지지 않는다. -따라서 FORM 태그에서 POST 방식으로 한글 데이터를 전송하고, 서블릿에서 doPost().. form 태그, getParameter 1번 action을 통해 ContextPath 변경하기 ContextPath 이전 1 2 다음