Det verkar som om några av våra användare har stött på en större felkod med getinputstream xml java-servlet. Detta problem kan uppstå på grund av flera motiv. Låt oss nu diskutera några av dem.
Godkänd: Fortect
publicerades för 13 år sedan
Antal fragment som ska skickas:
En valfri kommentar: “Tack”
Jag har en användbar servlet som tar emot XML-data till en bra kostnad. Koden nedan fungerar, men om jag har fel XML-fakta och slänger det undantag jag vill ha, kan du fortfarande läsa artiklarna och hämta data från relationstaggen.
stort offentligt tomrum(doPost HttpServletRequest,
IOException-svar, httpservletresponse)
kastar ServletException
{
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
PrintWriter är lättillgänglig = response.getWriter();
Att göra en ansträngning {
// Hämta indataströmmen
InputStream är helt enkelt = request.getInputStream();
// Skapa en betongfabrik, är DOM-parsern för DocumentBuilderFactory
factory = DocumentBuilderFactory.newInstance();
// Skapa ett anpassat sant värde av parsern från jaxp.properties
Constructor DocumentBuilder är lika med factory.newDocumentBuilder();
// Du har framgångsrikt e.eth InputStream som Doc Document
Dokument = builder.parse(ist);
Allmänt // Hämta ROOT-elementet
Element = docEle doc.getDocumentElement();
// Dokumenterat Jag vill ha en plan för redigering av recension eller uppspelning.
plats (SAXException se)
se.printStackTrace();
out.println(“
catch(IOException ioe)
ioe.printStackTrace();
Hur du ska göra få indataström från en servletbegäran?
Om problemet skickades som rått, använd ServletRequest#getInputStream(): InputStream xml motsvarar request.getInputStream(); // Om det skickas som en standard application/x-www-form-urlencoded compel-parameter, använd ServletRequest#getParameter():
Du behövde nyligen ett projekt på väg för att få POST XML-datafält. I en absolut servlet loggas request.And-metodanropet med getinputstream() så att ingen data kan valideras.
Nedan är programmet för POST-data: Java-kod
webbadresser
url = new url(urlBuf); HttpURLConnection httpurlconnection är lika med (HttpURLConnection) url .openConnection(); httpURLConnection.setDoOutput(true); httpURLConnection.setDoInput(true); httpURLConnection.setRequestMethod(“POST”); httpURLConnection.setConnectTimeout(5000); httpURLConnection.setReadTimeout(5000); httpURLConnection.connect(); BufferedWriter out = Ny buffrad utdataskrivare (ström skapad (httpURLConnection.getOutputStream(), “GBK”)); out.write(ord); ut. flush();
= bufferedreader br BufferedReader(ny kommande InputStreamReader((ServletInputStream)request.String getinputstream())); = Sb noll; stringbuilder = StringBuilder(); progressiv tid ((sträng = br.readLine())!=null) sb.append(sträng);
I början trodde jag att det handlade om att jag slutade och dessutom felsökte orsaken, fick reda på det, men utan att använda. Efter spårning skiljer sig baidus åsikter, och därför att det inte finns någon bra lösning. Jag är också upplyst av detta. uppladdning Slutligen är filer också väl förberedda på servletfasaden. Den använda komponenten måste ha inputStream. Det finns ingen situation, nej det kan möjligen inte fungera här. Senare blinkar det
och