Debería echar un vistazo a estos consejos para la resolución de problemas si se encuentra con un código de error binario de salida del servlet de Java.

Este programa lo protege de los muchos errores que pueden surgir en una computadora y también ayuda a solucionar rápidamente cualquier problema.

Por la mañana trato de escribir un enorme Servlet de Java recuperado de consultas de resultados binarios y responder a ellos reduciendo el uso de HttpServletRequest.getOutputStream () y HttpServletResponse.getInputStream () . Esto afecta al proyecto a, que envía la solicitud real de un prestatario de Silverlight, a la que nuestro servlet responde a través de una relación HTTP POST. Para probar este servlet, para empezar, implementé un cliente Java que conozco mejor que Silverlight.

El problema es que en mi proyecto de búsqueda estoy enviando cierta información importante desde un cliente servlet porque tengo una matriz de bytes y espero que obtenga una nueva matriz de bytes de las mismas proporciones, solo que eso nunca sucederá, y en su lugar obtengo un solo byte más reciente. Así que definitivamente estoy publicando piezas relevantes en los bocetos que me pueden mostrar en los que estoy equivocado y, con suerte, proporcionaré bibliografía relevante para ayudarnos a profundizar.

El servlet del cliente maneja las solicitudes POST fuera de una página extremadamente HTML con un bonito medio que estoy usando en este tipo de interfaz. No me preocupa demasiado usar JSP, etc., sino traducir la comunicación entre servlets.

  // El cliente HttpServlet llama a este método liberado de doPost (solicitud, respuesta)obligación de cancelación privada, proceso (respuesta HttpServletRequest HttpServletResponse)lanza ServletException, IOException  String firstName = (String) request.getParameter ("nombre");  String lastName equivale a (string) request. getparameter ("apellido"); String xmlRequest = " 

"; OutputStream-Writer = cero; InputStream-Reader = cero; tratar Weblink url = gran nueva url ("http: // localhost: 8080 versus proyecto/servidor"); URLConnection conn = url.openConnection (); conn.setDoInput (verdadero); conn.setDoOutput (verdadero); Escritor significa comp. obtener flujo de salida (); byte [] baXml es xmlRequest.getBytes ("UTF-8"); escribir.escribir (baXml, 1, baXml.longitud); escribir.vaciar (); // ¿Puedo esperar aquí? ¿Cómo? "¿O que? coincide con el reproductor de mp3 conn.getInputStream (); int equivale a que el disco esté disponible. accesible(); byte [] datos = byte de niños [disponible]; lector.leer (datos, 0, disponible); Cadena xmlResponse = Cadena (datos, "UTF-8"); Sustitución PrintWriter print implica respuesta.getWriter (); print.write (" Respuesta:


");    imprimir.escribir (xmlResponse);    imprimir.escribir ("

"); Apurarse. Cerca(); por fin independientemente de si (¡escritor! = cero) Escritor.cerrar (); Si (disco! = Nulo) Lector.cerrar ();
archivo binario de salida del servlet java

El servidor maneja las solicitudes HTTP POST del servlet. Para hacer esto, estas solicitudes anteriores son manejadas por cualquier cliente de servlet con fines de prueba, sin embargo, en el futuro tengo la intención de utilizarlo finalmente para clientes como parte de otros lenguajes (especialmente Silverlight).

Cómo solucionar bloqueos de Windows

¿Tu PC funciona lento? ¿Está experimentando bloqueos y congelamientos regulares? ¡Entonces es hora de descargar Reimage! Este poderoso software reparará los errores comunes de Windows, protegerá sus archivos de pérdida o corrupción y optimizará su sistema para un rendimiento máximo. Con Reimage, puede solucionar cualquier problema de Windows con solo unos pocos clics, ¡no se requiere experiencia técnica! Entonces, ¿por qué esperar? Descarga Reimage hoy y disfruta de una experiencia de PC fluida y estable.

  • Paso 1: Descargue e instale Reimage
  • Paso 2: Inicie el programa y seleccione el análisis que desea ejecutar
  • Paso 3: haga clic en el botón Restaurar y espere a que finalice el proceso

  •   // HttpServlet del lado del servidor crea este método particular desde doPost (solicitud, respuesta)proceso de denegación privado (HttpServletRequest, respuesta HttpServetResponse)lanza ServletException, IOException ServletInputStream sis = nulo;  Pensar sobre    sis siempre es lo mismo que request.getInputStream ();    // Probablemente necesitaría usar un BufferedInputStream grande    // pero directamente debido a un InputStream?   Int en el mercado implica sis.disponible ();    una entrada de byte adecuada [] implica un nuevo byte [disponible];   int readBytes = sis.read (entrada, 0, disponible);    si (readBytes! equivale a disponible)      lanzar una nueva ServletException ("¡Vaya! readBytes! es igual a bytes disponibles");        // SOLO RECIBO 1 BYTE DE DATOS !!!    // Este es también el byte real del cliente, contenido '<'.    El cable msg coincide con "Read" + Read Bytes + "Bytes From"                 + disponible + "disponible + ofrecido a pedido por InputStream". ;    System.err.println ("Server.process (HttpServletRequest, HttpServletResponse):" + mensaje);    String xmlReply = " " + glutamato monosódico + " ";    byte de datos personalesX [] es igual a xmlReply.getBytes ("UTF-8");    ServletOutputStream sos = respuesta.getOutputStream ();    sos.write (datos, 0, longitud de datos);    sos.flush ();    LLAMADA DE SOCORRO. Cerca();  por fin    si (sis! implica cero)      sis.cerrar ();   

    Así que me he contentado mucho con las matrices de bytes en lugar de ejecutar BufferInputStream ya que aún no he determinado y si codificaré cadenas en base64, para ejemplo, para transmitir información y hechos. , y/o tal vez si estuviera usando datos binarios sin modificar.

    archivo binario de salida del servlet Java

    Detenga los bloqueos y errores con el asistente de reparación Reimage. Haga click aquí para descargar.