Tomcat5 Chinese problem solving

xiaoxiao2021-04-05  273

Author: mineral from: Jdon

In Tomcat5, the method of previous processing Tomcat4 cannot be applied to handle the request to be submitted directly through the URL. The Internet is found to find the most perfect solution. Don't be converted every place, and regardless of GET, and POST normal. Write a document, posted it, I hope that people who have the same problem are no longer like me :-)

Problem Description:

  1 Form submitted data, using the string returned by Request.GetParameter ("xxx") is garbled or? ?

                       = = 10, if the GET request is garbled when the server is REQUEST. GetParameter ("name"); Press Tomcat4 to set Filter No use or use Request.SetCharacterencoding ("GBK");

Reason:

  1 Tomcat's J2EE implementation processes the form of POST mode to process parameters to process the default ISO-8859-1.

 2 Tomcat uses the request for Query-String in the Query-String process to process the POST method. (Different from Tomcat4, set the setcharacterenceeEncoding ("GBK").

Solution:

First all JSP files are plus:

1 Implement a filter. Set the processing character set to GBK. (There is a complete example in Tomcat's WebApps / Servlet-Examples directory. Please refer to Web.xml and SetcharacterencodingFilter.)

1) Just copy the% Tomcat installation directory% / WebApps / servlets-example / web -incodingfilter.class file to copy your webApp Directory / Filters, if there is no Filters directory, create one.

2) Join the following lines in your web.xml:

Set Character Encoding

filters.setCharacterencodingfilter

Encoding

GBK

Set Character Encoding

/ *

3) complete.

2 Get method solution

1) Open Tomcat's server.xml file, find blocks, join the following line: uriencoding = "GBK"

The complete should be as follows:

Enablelookups = "false" redirectport = "8443" acceptcount = "100" debug = "0" connectionTIMEOUT = "20000"

DisableUploadTimeout = "True"

Uriencoding = "gbk" />

2) Restart Tomcat, everything OK.

  Executive JSP page page test is successful

<% @ Page contenttype = "text / html; charSet = GB2312"%>

<% @ Page Import = "java.util. *"%>

<%

String Q = Request.getParameter ("Q");

Q = Q == NULL? "No value": q;

%>

News list Show </ Title></p> <p><Meta http-equiv = content-type content = "text / html; charSet = GB2312"></p> <p><Meta http-equiv = prgma content = no-cache></p> <p><Body> you submitted: <% = q%> <br></p> <p><Form action = "tcnchar.jsp" Method = "post"></p> <p>Enter Chinese: <input type = "text" Name = "q"> <input type = "submit" value = "OK"> <br></p> <p><a href="tcnchar.jsp?q= 中国"> By Get method submitted </A></p> <p></ Form></p> <p></ Body></p> <p></ Html></p> <p>  test results If you enter a text box or point chain, you will display: You submitted "China", explained success !!!!!</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-132132.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="132132" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.040</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'hVNiMTbwuSt3BgdN3Y30uXRJ35_2BbNk8XDSNYAU_2BcO2SZqj2C15C1IMORlWKQTGTp68_2BjEzfuD_2BqxTX3nuf3zog_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>