Red de conocimiento informático - Conocimiento informático - Cómo resolver el problema de los caracteres confusos en aplicaciones WEB Java

Cómo resolver el problema de los caracteres confusos en aplicaciones WEB Java

Por otro lado, en un servidor de aplicaciones WEB Java, las solicitudes HTTP pueden ser manejadas por clases de Servlet o páginas JSP. Los datos de la solicitud provienen de HttpServletRequest y los datos de respuesta se envían a HttpServletResponse. Todo el proceso de una solicitud HTTP consta de cuatro pasos: el cliente envía la solicitud, el servidor procesa la solicitud, el servidor devuelve datos de respuesta y el cliente procesa los datos de respuesta. Cuando los datos se transmiten en estos cuatro enlaces importantes, se codificarán o decodificarán de acuerdo con el método de codificación especificado. Si no se maneja adecuadamente, aparecerán caracteres confusos.

Procesamiento del cliente

Cuando el cliente envía una solicitud HTTP, se enviarán al servidor datos en el siguiente formato:

línea de solicitud lt

ltTitleltCRLF[lt;Request bodyltCRLF]

Acerca del formato de la solicitud HTTP, puede obtener más información sobre el protocolo HTTP y el formulario HTML (hable sobre la diferencia entre GET y POST).

Aquí, tanto la línea de solicitud como el cuerpo de la solicitud deben codificarse en consecuencia.

Procesamiento de codificación de líneas de solicitud

La parte de la URL en la línea de solicitud debe codificarse en el formato application/x-www-form-URL. El juego de caracteres utilizado en la codificación es el juego de caracteres utilizado cuando la página web actual se muestra en el navegador.

Hay dos clases en el JDK que manejan datos de tipo aplicación/x-www-form-urlencoded, son URLEncoder y URLDecoder. Cuando los datos de una página web deben codificarse manualmente, se puede utilizar la clase URLEncoder para completar el trabajo de codificación. Las ubicaciones donde se debe realizar el procesamiento manual de codificación de URL incluyen:

Atributos de etiqueta Href en enlace();

Formularios enviados por correo (

Etiquetas de acción en propiedad) .

Por ejemplo, no se deben generar enlaces como este en la página web:

lt! -Error de ortografía-

lta href="/hello/checkUser.html? Opt=Autenticación de usuario chino"

La escritura correcta es: