일부 사용자가 getinputstream xml java servlet에서 오류 코드를 읽은 것 같습니다. 이 문제는 여러 요인으로 인해 발생할 수 있습니다. 이제 그 중 일부에 대해 논의해 보겠습니다.
승인됨: Fortect
13년 전에 출판된<문자열><리>
전송할 깨진 구문 수:
선택 사항: “감사합니다”
저비용으로 방문하여 XML 데이터를 수신하는 유용한 서블릿이 분명히 있습니다. 아래 코드는 작동하지만 XML 사실이 잘못되어 원하는 예외가 발생하더라도 여전히 숫자를 주의 깊게 읽고 상관 태그에서 데이터를 가져올 수 있습니다.
공개 무효(doPost HttpServletRequest,
IOException 응답, httpservletresponse)
ServletException 발생
{
승인됨: Fortect
Fortect은 세계에서 가장 인기 있고 효과적인 PC 수리 도구입니다. 수백만 명의 사람들이 시스템을 빠르고 원활하며 오류 없이 실행하도록 신뢰합니다. 간단한 사용자 인터페이스와 강력한 검색 엔진을 갖춘 Fortect은 시스템 불안정 및 보안 문제부터 메모리 관리 및 성능 병목 현상에 이르기까지 광범위한 Windows 문제를 빠르게 찾아 수정합니다.
PrintWriter는 쉽게 사용할 수 있습니다. response.getWriter()와 같습니다.
시도하려면 {
// 입력된 스트림을 가져옵니다.
InputStream은 = request.getInputStream();
// 실제 팩토리를 생성하고 DocumentBuilderFactory에 대한 DOM 파서를 가져옵니다.
팩토리 = DocumentBuilderFactory.newInstance();
// jaxp.properties에서 파서에 의한 절대 사용자 정의 값 생성
생성자 DocumentBuilder = factory.newDocumentBuilder();
// e.eth InputStream을 문서 문서로 전달합니다.
문서는 builder.parse(ist)를 의미합니다.
일반 // ROOT 요소 가져오기
요소 = docEle doc.getDocumentElement();
// 문서화 검토 편집 또는 재생에 대한 계획이 있습니다.
catch(SAXException se)
se.printStackTrace();
out.println(“<오류>XML오류>“);
catch(IOException ioe)
ioe.printStackTrace();
얻는 방법 하나의 특정 서블릿 요청에서 스트림을 입력하시겠습니까?
raw로 보낸 경우 실제 요청 본문에서 작동하면 ServletRequest#getInputStream()을 사용합니다. InputStream xml = request.getInputStream(); // 일반적인 application/x-www-form-urlencoded 요청 매개변수로 전송된 경우 ServletRequest#getParameter()를 사용합니다.
최근에 POST XML 데이터 필드를 가져오기 위해 고유한 프로젝트가 필요했습니다. 서블릿에서 request.And 메서드 호출은 getinputstream()으로 가득 차서 데이터를 확인할 수 없습니다.
아래는 POST 데이터를 위한 프로그램입니다: 자바 코드
URL
url = 새로고침 url(urlBuf); HttpURLConnection httpurlconnection은 (HttpURLConnection) 웹사이트 링크 .openConnection()과 같습니다. httpURLConnection.setDoOutput(참); httpURLConnection.setDoInput(참); httpURLConnection.setRequestMethod(“포스트”); httpURLConnection.setConnectTimeout(5000); httpURLConnection.setReadTimeout(5000); httpURLConnection.connect(); BufferedWriter 액세스 가능 = 새로운 버퍼링된 출력 작성기(스트림이 조작됨(httpURLConnection.getOutputStream(), “GBK”)); out.write(단어); 밖. 플러시();
= bufferedreader 침실 BufferedReader(new new InputStreamReader((ServletInputStream)request.String getinputstream())); = Sb 제로; stringbuilder는 StringBuilder()를 의미합니다. 진행 시간 ((string = br.readLine())!=null) sb.append(string);
처음에는 원인을 포기하고 디버깅해서 원인을 찾았지만 도움이 되지 않았습니다. 추적 후 바이두의 의견이 다르기 때문에 좋은 해결책이 없습니다. 나는 또한 이것에서 정말로 영감을 느낀다. 업로드 마지막으로 파일은 서블릿 파사드에서도 처리될 수 있습니다. 이전에 사용된 구성 요소는 inputStream이어야 합니다. 상황이 아니라 여기에서 작동하지 않을 뿐입니다. 나중에 일반적으로 플래시되고