jsp 에서 HttpClient 의 POST 방법 실례 상세 설명

2381 단어 jspHttpClientPOST
jsp 에서 HttpClient 의 POST 방법 실례 상세 설명
POST 방법 은 요청 에 첨부 된 실 체 를 받 아들 이 고 요청 대기 열(Request-Line)에서 URI 가 지정 한 자원 의 추가 하위 항목 으로 요청 하 는 목적 서버 에 요청 하 는 데 사 용 됩 니 다.POST 는 통 일 된 방법 으로 다음 과 같은 기능 을 수행 하도록 설계 되 었 다.
기 존 자원 에 대한 주석
전자 게시판,뉴스 팀,메 일 링 리스트 또는 유사 토론 팀 에 메 시 지 를 보 냅 니 다.
폼 의 결 과 를 데이터 처리 과정 에 제출 할 경우 데이터 블록 을 제출 합 니 다.
추가 작업 을 통 해 데이터 베 이 스 를 확장 합 니 다.
HttpClient 의 PostMethod 를 호출 하 는 것 은 GetMethod 와 유사 합 니 다.PostMethod 를 설정 하 는 인 스 턴 스 가 GetMethod 와 다 르 기 때문에 나머지 절 차 는 많 지 않 습 니 다.
PostMethod 를 구성 하기 전의 절 차 는 모두 같 습 니 다.GetMethod 와 마찬가지 로 PostMethod 를 구성 하 는 데 도 URI 인자 가 필요 합 니 다.이 예 에서 로그 인 한 주 소 는?http://www.newsmth.NET/bbslogin2.PHP。PostMethod 의 인 스 턴 스 를 만 든 후에 method 인 스 턴 스 에 폼 의 값 을 채 워 야 합 니 다.BBS 로그 인 폼 에는 두 개의 도 메 인 이 필요 합 니 다.첫 번 째 는 사용자 이름(도 메 인 이름 id)이 고 두 번 째 는 비밀번호(도 메 인 이름 passwd)입 니 다.폼 의 도 메 인 은 클래스 NameValuePair 로 표시 합 니 다.이러한 구조 함수 의 첫 번 째 매개 변 수 는 도 메 인 이름 이 고 두 번 째 매개 변 수 는 도 메 인 값 입 니 다.폼 의 모든 값 을 PostMethod 에 설정 하 는 방법 setRequestBody.또한 BBS 로그 인 에 성공 하면 다른 페이지 로 전환 되 지만 HttpClient 는 포스트 서비스 에 대한 요청,예 를 들 어 POST 와 PUT 등 자동 리 트 윗 을 지원 하지 않 기 때문에 스스로 페이지 전환 을 처리 해 야 합 니 다.구체 적 인 페이지 스 티 어 링 처 리 는 아래 의'자동 스 티 어 링'부분 을 참조 하 시기 바 랍 니 다.코드 는 다음 과 같 습 니 다:

String url = "http://www.newsmth.net/bbslogin2.php"; 
PostMethod postMethod = new PostMethod(url); 
//           
NameValuePair[] data = { new NameValuePair("id", "youUserName"), 
new NameValuePair("passwd", "yourPwd") }; 
//        postMethod  
postMethod.setRequestBody(data); 
//   postMethod 
int statusCode = httpClient.executeMethod(postMethod); 
// HttpClient             , POST PUT          
// 301  302 
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY ||  
statusCode == HttpStatus.SC_MOVED_TEMPORARILY) { 
  //            
  Header locationHeader = postMethod.getResponseHeader("location"); 
  String location = null; 
  if (locationHeader != null) { 
   location = locationHeader.getValue(); 
   System.out.println("The page was redirected to:" + location); 
  } else { 
   System.err.println("Location field value is null."); 
  } 
  return; 
} 
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기