Latest web development tutorials

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 초마다 표시된다.

우리는 다음과 같은 지프 프리젠 테이션 차트를 볼 수 있습니다 :

당신은 또한 자신, 다른 방법을 사용하려고 위의 코드를 수정할 수 있습니다, 우리는 더 깊은 이해를 얻을 수있을 것입니다.