Maison  >  Article  >  Java  >  Que faire si les objets Java sont tronqués

Que faire si les objets Java sont tronqués

coldplay.xixi
coldplay.xixioriginal
2020-08-17 11:41:102060parcourir

Solutions aux objets Java tronqués : 1. Lors du téléchargement de fichiers tronqués, l'en-tête de réponse de téléchargement et le nom de fichier doivent être codés avec URLEncoding pour la transmission HTTP ; 2. Pour les fichiers tronqués entre Java et la base de données, utilisez directement Unicode et To ; interagir avec la base de données, vous pouvez le spécifier dans l'URL du pilote.

Que faire si les objets Java sont tronqués

Solution au code tronqué des objets Java :

Code tronqué entre les paramètres jsp et page

Spécifiez de force la méthode d'encodage de la requête :

request.setCharacterEncoding("UTF-8");

Si la sortie jsp vers la page est tronquée :

response.setCharacterEncoding("UTF-8");

Ou configurez le filtre de filtre de servlet dans web.xml (uniquement valide pour le mode POST, invalide pour le mode GET) :

<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>net.vschool.web.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

Modifier le fichier de configuration Tomact, server.xml

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false"  URIEncoding="UTF-8">

Traitement de l'URL :

<a href="TestAction.do?name=<%=java.net.URLEncoder.encode("你好","UTF-8")%>" ></a>

Code tronqué du téléchargement du fichier :

La clé est l'en-tête de réponse lors du téléchargement ; le nom du fichier doit être codé avec URLEncoding pour la transmission HTTP.

response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(fileName,"utf-8"));

Obtenir la méthode tronquée :

String args = new String(strCn.getBytes("ISO-8859-1"),"UTF-8");

Méthode de publication tronquée :

Juste request.setCharacterEncoding(&quot;UTF-8&quot;);.

Caractères tronqués entre Java et la base de données

Utilisez directement Unicode pour interagir avec la base de données, qui peut être spécifié dans l'URL du pilote, tel que le pilote MySQL :

 jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf-8

Recommandations d'apprentissage associées : Tutoriel de base Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn