رمز القمامة مشكلة شائعة نسبيا في J2EE. إذا واجهت مشكلة أو مشكلتين ، يمكنك استخدام سلسلة جديدة (request.getParameter (xxx) .getBytes ("ISO-8859-1") ، "UTF-8") لحلها. في حالة وجود العديد من الحالات ، من الأفضل استخدام مرشح.
هناك شيئان فقط يجب إيلاء الاهتمام به للمرشحات - الفصل و web.xml
1. النشر على web.xml كما يلي:
<Fileter> <!-اسم الفئة-> <filter-name> setCharSetEncodingFilter </filter-name> <!-مسار الفئة-> <-filter-class> setCharacter </filter-class> <Ing-param> <barm-name> الترميز </parm-name> <Filter-Name> setCharSetEncodingFilter </filter-name> <!-قم بتعيين جميع الملفات المراد اعتراضها عند مواجهة مرشحات-> <url-pattern>/*</url-pattern> </filter mapping> </fileder>
2. فئة المرشح
استيراد java.io.ioException ؛ استيراد javax.servlet.filter ؛ استيراد javax.servlet.filterchain ؛ استيراد javax.servlet.filterConfig ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.servletrequest ؛ استيراد javax.servlet.servletResponse ؛ الطبقة العامة setCharacter تنفذ filter {protect string الترميز = null ؛ FilterConfig FilterConfig المحمي = فارغ ؛ تجاهل Boolean المحمي = صحيح ؛ public void init (filterConfig arg0) يلقي servleTexception {this.encoding = arg0.getInitParameter ("الترميز") ؛ قيمة السلسلة = arg0.getInitParameter ("Imnore") ؛ if (value == null) {this.ignore = true ؛ } آخر إذا (value.equalsignoreCase ("true")) {this.ignore = true ؛ }} public void dofilter (servletrequest arg0 ، servletResponse arg1 ، filterchain arg2) يلقي ioException ، servletexception {if (تجاهل || (arg0.getCharCterEncoding () == null)) {string charging (anconencoding (arg0) ؛ إذا (الترميز! = null) arg0.SetchAracterEncoding (الترميز) ؛ } arg2.dofilter (arg0 ، arg1) ؛ } سلسلة خاصة SelectenCoding (servletRequest arg0) {return (this.encoding) ؛ } public void Dorner () {this.encoding = null ؛ this.filterConfig = null ؛ }} في ملف web.xml ، يتم استخدام بناء الجملة التالي لتحديد التعيين:
1. يتم استخدام تلك التي تبدأ بـ "/" وينتهي بـ "/*" لرسم خرائط المسار.
2. البادئة "*." يبدأ برسم خرائط ممتد.
3. استخدم "/" لتحديد رسم خرائط Servlet الافتراضي.
4. يتم استخدام الباقي لتحديد التعيينات التفصيلية. على سبيل المثال: /aa/bb/cc.action
ما سبق هو فكرة حل مشكلة رمز Java J2EE. سوف أشاركها معك. آمل أن تتمكن من حل مشاكل مماثلة بسلاسة عند مواجهتها.