JSP 서버 응답
응답 응답은 주로 클라이언트로 전달하는 후 처리 JSP 컨테이너의 결과이다. 귀하는 쿠키, 클라이언트 HTTP 헤더 정보 등의 상태 변수와 전송 데이터에 의해 HTTP 응답을 설정할 수있다.
전형적인 반응은 다음과 같다 :
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (空行) <!doctype ...> <html> <head>...</head> <body> ... </body> </html>
상태 라인은 OK와 같은 상태 코드에 대응하는 짧은 메시지가 같은 HTTP와 HTTP 버전 정보 / 1.1, 상태 코드, 예컨대 (200)를 포함한다.
다음 표는 응답 헤더 HTTP1.1 당신은 자주 표시됩니다 프로그래밍 네트워크의 가장 유용한 부분을 요약
응답 헤더 | 기술 |
---|---|
허용 | 서버가 지원되도록 지정 요청 메소드 (POST 등 GET) |
캐시 제어 | 응답 문서 보안 상황을 캐시 할 수 지정합니다. 값은 일반적으로 등, 공공 개인 또는 노 캐시 및입니다. 공공 캐시 할 수있는 문서, 개인 문서는 단일 사용자 서비스 만 전용 캐시를 사용하는 것이 의미 있다는 것을 의미한다. 노 캐시는 문서가 캐시되지 않음을 의미합니다. |
연결 | 지속적인 HTTP 연결을 사용할지 여부를 명령 브라우저. 종가 명령 브라우저는 지속적인 HTTP 연결을 사용하여 연결 유지 수단을 영구 연결을 사용하지 않습니다. |
내용 - 처리 | 브라우저가 디스크에 저장된 특정 이름에 응답하도록 사용자에게 요구하자 |
콘텐츠 인코딩 | 송신 부호화 규칙에 지정된 페이지 |
내용 - 언어 | 언어 기술 문서 등 사용중인 엉, 엉 - 우리 ,, 루 등 |
콘텐츠 길이 | 이 응답의 바이트 수를 나타낸다. 만 브라우저에 지속적인 도움을 사용하는 경우 (연결 유지) HTTP 연결 |
콘텐츠 유형 | 문서 MIME 타입의 사용을 도시 |
만료 | 때 만료 지정 캐시에서 제거 |
- 마지막으로 수정 | 문서에 지정된 마지막으로 수정되었습니다. 클라이언트는 문서를 캐시하고, 만약 수정 한 이후 후속 요청에 요청 헤더를 제공 할 수 있습니다 |
위치 | 삼백초에서 모든 주소에 응답 상태 코드를 포함, 브라우저가 자동으로 다시 연결 한 다음 새 문서를 검색합니다 |
새로 고침 | 브라우저가 페이지 업데이트를 요청하는 빈도를 나타냅니다. |
다시 시도-후 | 그리고 503 (서비스를 사용할 수 없음)의 요청이 응답을 얻을 것이다 시간을 사용자에게 함께 사용 |
설정 - 쿠키 | 대응 쿠키는 현재 페이지를 표시 |
HttpServletResponse를 클래스
의 javax.servlet.http.HttpServletResponse 응답 객체 클래스의 인스턴스이다. 서버가 요청 개체를 만듭니다 마찬가지로 클라이언트 응답을 생성합니다.
응답 객체는 인터페이스의 HTTP 헤더 정보를 생성하는 프로세스를 정의한다. 이 오브젝트를 이용함으로써, 개발자 등 새로운 쿠키 나 타임 스탬프뿐만 아니라 HTTP 상태 코드 등을 추가 할 수있다.
다음 표는 HttpServletResponse를 클래스에 의해 제공되는 HTTP 응답 헤더 방법을 설정하는 데 사용 :
SN | 방법 및 설명 |
---|---|
(1) | 문자열 대해 encodeRedirectURL (문자열 URL) 대해 sendRedirect ()에 URL 방법을 인코딩하는 데 사용 |
이 | 문자열 대해 encodeURL (문자열 URL) 세션 ID를 포함하는 URL 인코딩 반환 URL |
3 | 부울 대해 containsHeader (문자열 이름) 만약 지정된 응답 헤더를 돌려줍니다이 |
4 | 부울로 isCommitted () 응답이 클라이언트에 제출되었는지 여부를 반환 |
(5) | 무효 대해 addCookie (쿠키 쿠키) 응답에 지정된 쿠키를 추가합니다 |
6 | 무효 addDateHeader (문자열 이름, 긴 날짜 ) 응답 헤더와 날짜에 지정된 이름 추가 |
(7) | 무효 addHeader (문자열 이름, 문자열 값 ) 응답 헤더와 값 지정된 이름 추가 |
8 | 무효 addIntHeader (문자열 이름, int 값 ) 지정된 이름의 응답 헤더 및 int 값을 추가 |
9 | ()로 flushBuffer 무효화 클라이언트에 기록 캐시의 모든 내용 |
(10) | 무효 재설정 () 상태 코드 및 응답 헤더 다양한에게 포함한 모든 캐시에게 어떤 데이터를 삭제 |
(11) | ()로 resetBuffer 무효화 응답 헤더 및 상태 코드를 포함하지 않는 클리어 기본 데이터 캐시 |
(12) | 무효 대해 sendError (INT 사우스 캐롤라이나) 클라이언트 에러 응답을 보내, 지정된 상태 코드를 사용하고 캐시를 삭제 |
(13) | 무효 대해 sendError (INT 사우스 캐롤라이나, 문자열 MSG ) 지정된 상태 코드 및 에러 메시지를 사용하여 클라이언트에 대한 응답으로 전송되고 |
(14) | 무효 대해 sendRedirect (문자열 위치) 클라이언트 임시 간접 응답에 보내진 특정 URL을 사용하여 |
(15) | 무효로 setBufferSize (INT 크기) 응답 본체의 버퍼 크기를 설정 |
(16) | 무효 setCharacterEncoding (문자열 문자 집합) 같은 응답 코드 세트 (MIME 문자 집합)를 지정 UTF-8 |
(17) | 무효로 setContentLength (INT는 len) 콘텐츠의 길이에 응답하여 HTTP 서블릿을 지정 방법은 HTTP 콘텐츠 길이 헤더를 설정하는데 사용 |
(18) | 무효로 setContentType (문자열 타입) 응답이 아직 제출되지 않았 으면 다음, 응답의 콘텐츠 유형을 설정 |
(19) | 무효 setDateHeader (문자열 이름, 긴 날짜 ) 지정된 이름과 응답 헤더 이름과 내용의 값을 설정 |
(20) | 무효 setHeader (문자열 이름, 문자열 값 ) 지정된 이름과 응답 헤더 이름과 내용의 값을 설정 |
(21) | 무효 setIntHeader (문자열 이름, int 값 ) 지정된 이름과 응답 헤더 이름과 내용의 값을 설정 |
(22) | 무효로 setLocale (로케일 LOC) 로케일 설정 응답하여, 상기 응답은 아직 전송되지 않은 경우, 다음 |
(23) | 무효 대해 setStatus (INT 사우스 캐롤라이나) 응답 상태 코드를 설정 |
HTTP 응답 헤더 프로그램 예
다음의 예는 디지털 시계를 시뮬레이션 할 수 setIntHeader () 메소드와 setRefreshHeader () 메서드를 사용하여
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h2>自动刷新实例</h2> <% // 设置每隔5秒自动刷新 response.setIntHeader("Refresh", 5); // 获取当前时间 Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = hour+":"+ minute +":"+ second +" "+ am_pm; out.println("当前时间: " + CT + "\n"); %> </body> </html>
다음 브라우저를 통해 액세스, 위의 코드 main.jsp를 저장합니다. 현재의 시간에 5 초마다 표시된다.
우리는 다음과 같은 지프 프리젠 테이션 차트를 볼 수 있습니다 :
당신은 또한 자신, 다른 방법을 사용하려고 위의 코드를 수정할 수 있습니다, 우리는 더 깊은 이해를 얻을 수있을 것입니다.