3Q

解决方案 »

  1.   

    <form name="theForm" action="" method="post" onClick="fsubmit()">
      <input type="radio" name="page">JSP页面<p>
      <input type="radio" name="page">Servlet页面<p>
      请输入测试内容:<input type="text" name="content"><p>
      <input type="submit" value="提交">
     </form>过滤器package org.sunxin.lesson.jsp.ch21;import java.io.IOException;
    import javax.servlet.*; public class SetCharacterEncodingFilter implements Filter {    protected String encoding = null;
        protected FilterConfig filterConfig = null;
        protected boolean ignore = true;    public void destroy() {        this.encoding = null;
            this.filterConfig = null;    }    public void doFilter(ServletRequest request, ServletResponse response,
                             FilterChain chain)
     throws IOException, ServletException {        // Conditionally select and set the character encoding to be used
            if (ignore || (request.getCharacterEncoding() == null)) {
                String encoding = selectEncoding(request);
                if (encoding != null)
                    request.setCharacterEncoding(encoding);
            }
            response.setCharacterEncoding("text/html;charset=+encoding");        chain.doFilter(request, response);    }
        public void init(FilterConfig filterConfig) throws ServletException {     this.filterConfig = filterConfig;
            this.encoding = filterConfig.getInitParameter("encoding");
            String value = filterConfig.getInitParameter("ignore");
            if (value == null)
                this.ignore = true;
            else if (value.equalsIgnoreCase("true"))
                this.ignore = true;
            else if (value.equalsIgnoreCase("yes"))
                this.ignore = true;
            else
                this.ignore = false;    }    protected String selectEncoding(ServletRequest request) {        return (this.encoding);    }
    } <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
     xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>org.sunxin.lesson.jsp.ch21.TestServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/test</url-pattern>
      </servlet-mapping>
      <filter>
       <filter-name>SetCharacterEncodingFilter</filter-name>
       <filter-class>org.sunxin.lesson.jsp.ch21.SetCharacterEncodingFilter</filter-class>
       <init-param>
        <param-name>encoding</param-name>
        <param-value>GBK</param-value>
       </init-param>
       <init-param>
        <param-name>ignore</param-name>
        <param-value>true</param-value>
       </init-param>
      </filter>
      
      <filter-mapping>
       <filter-name>SetCharacterEncodingFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
    </web-app>