최고의 JSP 클라이언트 요청 튜토리얼 2024년, 이 튜토리얼에서는 HttpServletRequest의 클래스,HTTP 헤더 예,를 배울 수 있습니다.
브라우저가 페이지를 요청할 때 HTTP 헤더 정보의 일부로서이 정보를 전송할 수 있으므로 일련의 정보가 웹 서버를 직접 판독 할 수없는 전송합니다. 당신은 더 많은 정보를 얻기 위해 HTTP 프로토콜을 확인할 수 있습니다.
다음 표는 종종이 정보를 볼 수 있습니다 네트워크 프로그래밍 후 브라우저 헤더의 중요한 내용 중 일부를 나열합니다 :
정보 | 기술 |
---|---|
수락 | 브라우저 또는 처리 할 수있는 다른 클라이언트의 MIME 유형을 지정합니다. 이 값은 일반적으로 이미지 / PNG 또는 이미지 / JPEG입니다 |
동의-캐릭터 세트 | 브라우저를 사용하는 문자 집합을 지정합니다. 예를 들면, ISO-8859-1 |
수락 - 인코딩 | 인코딩 유형을 지정합니다. 이 값은 일반적으로 gzip을하거나 압축된다 |
수락 - 언어 | 클라이언트의 언어를 지정, 서블릿은 서블릿이이 언어의 단어를 지원하는 경우, 헌법의 현재 언어로 결과 세트를 반환하는 우선 순위를 부여합니다. 예를 들어 엉, 엉 - 우리, RU 등 |
권한 부여 | 암호로 보호 된 웹 페이지를 다른 사용자 액세스를 확인 |
연결 | 그것은 클라이언트가 HTTP 영구 연결을 처리 할 수 있는지 여부를 나타냅니다. 영구적 인 접속 클라이언트를 허용하거나 브라우저 단일 요청으로 여러 파일을 가져온다. 연결 유지는 지속적인 연결을 가능하게 나타냅니다 |
콘텐츠 길이 | 만 POST 요청 데이터 POST 바이트의 수 |
쿠키 | 이전에 서버에 브라우저의 쿠키로 전송 돌려줍니다 |
주인 | 호스트 이름 및 포트 번호의 원래 URL 지적 |
경우 수정 한 이후 | 페이지가 지정된 날짜 클라이언트에서 수정 된 경우에만 표시는이 웹 사이트를 필요로한다. 서버가 더 업데이트 된 리소스가 없다고 클라이언트 304 야드 보낸다 |
만약-수정되지 않은-이후 | 수정-때문에 경우-반대로 만 문서가 지정된 날짜 이후에 수정되지 않았으며, 작업이 성공적으로 될 것입니다 |
리퍼러 | 참고로 표시된 페이지의 URL. 사용자가 페이지 1의 경우 예를 들어,이 페이지로의 링크가 다음 URL 페이지 1 브라우저에 포함되는 페이지는 헤더 요청이 |
사용자 에이전트 | 이것은 클라이언트가 전송 또는 다른 브라우저 요청을 구별하는 데 사용되는 브라우저의 종류가 서로 다른 콘텐츠를 반환 |
나오는 javax.servlet.http.HttpServletRequest 요청 객체는 클래스의 인스턴스이다. 클라이언트가 페이지를 요청할 때마다, JSP 엔진은 요청을 나타내는 새로운 객체를 생성한다.
요청 개체 등등 폼 데이터, 쿠키, HTTP 방법 및 포함하는 HTTP 헤더 정보를 얻는 방법의 시리즈를 제공한다.
다음은 JSP 프로그래밍 방법에 몇 가지 일반적인 가져 오기 HTTP 헤더를 소개합니다. 자세한 내용은 테이블 아래를 참조하십시오 :
아니오. | 방법 및 설명 |
---|---|
(1) | 쿠키 [] 대해 getCookies () 클라이언트의 쿠키의 배열을 돌려줍니다 |
이 | 열거 대해 getAttributeNames () 요청 개체 이름의 속성 컬렉션을 반환 |
3 | 열거 getHeaderNames () HTTP 헤더의 모든 이름의 컬렉션을 반환 |
4 | 열거 대해 getParameterNames () 모든 요청 파라미터들의 집합을 리턴 |
(5) | HttpSession에 대해 getSession () 반환하지 않으면를 작성, 해당 세션 객체를 요청 |
6 | HttpSession에 대해 getSession (부울 작성) 반환 매개 변수없이 경우 해당 세션 객체를 요청하고 사실 생성, 새로운 세션 객체를 반환 |
(7) | 로케일로 getLocale () 이 페이지 로케일 객체는 응답에 제공 될 수를 돌려줍니다 |
8 | 개체 대해 getAttribute (문자열 이름) 속성 값 이름의 이름을 반환하고, 어떤 경우는 null가없는 경우. |
9 | ServletInputStream의는 getInputStream () 입력 스트림 요청을 반환 |
(10) | 문자열 대해 getAuthType () 이러한 "BASIC"또는 "SSL"경우는 null 어떤 보호 조치 JSP와 서블릿을 보호하기 위해서 사용되는 인증 방식의 이름을 돌려줍니다 |
(11) | 문자열로 getCharacterEncoding () 요청 문자 인코딩 세트의 이름을 돌려줍니다 |
(12) | 캐릭터는, getContentType () 알 수없는 경우 MIME의 주요 요구의 유형을 돌려줍니다 |
(13) | 문자열 대해 getContextPath () 요청 URI에 지정된 컨텍스트 경로를 반환 |
(14) | 문자열 getHeader (캐릭터 이름) 메시지 헤더에 지정된 이름을 돌려줍니다 |
(15) | 문자열 getMethod 메소드 () 이러한 GET,, POST 또는 PUT과 같은 HTTP 요청 방법을 돌려줍니다 |
(16) | 문자열의 getParameter (문자열 이름) 하지가있는 경우 요청 매개 변수 이름 지정, 또는 null를 돌려줍니다 |
(17) | 문자열 대해 getPathInfo () 이 요청과 관련된 모든 추가 경로의 URL을 반환 |
(18) | 문자열주는 getProtocol () 이 요구에 의해 사용되는 이름과 프로토콜의 버전을 반환 |
(19) | 문자열 대해 getQueryString () 이는 질의 스트링 요청 URL에 포함 된 반환 |
(20) | 문자열 getRemoteAddr () 클라이언트의 IP 주소를 반환 |
(21) | 문자열 getRemoteHost () 클라이언트의 이름을 돌려줍니다 |
(22) | 문자열 대해 getRemoteUser () 사용자가 인증되지 않는 경우, 사용자 로그인 인증을 통해 클라이언트에 반환 또는 null |
(23) | 문자열 대해 getRequestURI () 요청 URI를 돌려줍니다 |
(24) | 문자열 getRequestedSessionId () 지정된 세션 ID 요청을 반환 |
(25) | 문자열 대해 getServletPath () 위로 서블릿 경로 요청 |
(26) | 문자열 []에 대해 getParameterValues (문자열 이름) 하지가 존재하는 경우 매개 변수는 모든 값의 이름, 또는 null를 지정 돌려줍니다 |
(27) | 부울 대해 isSecure () 요청은 HTTPS로, 채널을 암호화할지 어떨지를 돌려줍니다 |
(28) | INT 대해 getContentLength () 요청 본문에 포함 된 바이트 수를 돌려줍니다 알 수없는 경우 |
(29) | INT 대해 getIntHeader (문자열 이름) 리턴 값은 요청 헤더의 이름을 지정 |
(30) | INT 대해 getServerPort () 서버 포트 번호를 돌려줍니다 |
이 예에서, 우리는 HTTP 헤더를 읽어 getHeaderNames HttpServletRequest의 클래스 () 메소드를 사용합니다. 이 방법은 현재 HTTP 요청 헤더 정보의리스트를 돌려줍니다.
열거 객체를 획득 한 후, 표준 방법은 열거 객체를 통과 할, hasMoreElements () 메소드는 각 매개 변수의 이름을 얻기 위해 nextElement () 메소드를 사용을 중지시기를 결정합니다.
<%@ 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>本教程(w3write.com)</title> </head> <body> <h2>HTTP 头部请求实例</h2> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>Header Name</th><th>Header Value(s)</th> </tr> <% Enumeration headerNames = request.getHeaderNames(); while(headerNames.hasMoreElements()) { String paramName = (String)headerNames.nextElement(); out.print("<tr><td>" + paramName + "</td>\n"); String paramValue = request.getHeader(paramName); out.println("<td> " + paramValue + "</td></tr>\n"); } %> </table> </body> </html>
액세스 main.jsp는 다음과 같은 결과를 얻을 것이다 :
당신은 위의 코드에서 HttpServletRequest의 클래스의 다른 방법을 시도 할 수 있습니다.