jsp提交乱码
首先,是servlet的运行配置。
Servlet的运行环境需要什么呢?
首先我们讨论要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat。
然后把这个压缩包解压到:
D:\apache-tomcat-6.0.18
然后再配置Servlet的运行环境的环境变量;添加三个系统变量:
JAVA_HOME: C:\jdk1.6.0_20\ TOMCAT_HOME: D:\apache-tomcat-6.0.18 CLASSPATH: %JAVA_HOME%\lib;%TOMCAT_HOME%\lib
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("﹤h﹤tml﹥﹤head﹥﹤title﹥"); out.println("This is my first Servlet"); out.println("﹤/title﹥﹤/head﹥﹤body﹥"); out.println("﹤h1﹥Hello,World!﹤/h1﹥"); out.println("﹤/body﹥﹤/html﹥"); } }
﹤servlet﹥ ﹤servlet-name﹥HelloWorld﹤/servlet-name﹥ ﹤servlet-class﹥HelloWorld﹤/servlet-class﹥ ﹤/servlet﹥ ﹤servlet-mapping﹥ ﹤servlet-name﹥HelloWorld﹤/servlet-name﹥ ﹤url-pattern﹥/servlet/helloworld﹤/url-pattern﹥ ﹤/servlet-mapping﹥
RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords)
keywords=new String(request.getParameter("keywords").getBytes("iso8859_1"));
<Connectordebug="0"acceptCount="100"connectionTimeout="20000"disableUploadTimeout="true"port="80"redirectPort="8443"enableLookups="false"minSpareThreads="25"maxSpareThreads="75"maxThreads="150"maxPostSize="0"URIEncoding="GBK"></Connector>
import java.io.IOException;import javax.servlet.*;public class SetCharacterEncodingFilter implements Filter {private String encoding = null;private FilterConfig filterConfig = null;public void init(FilterConfig filterConfig) throws ServletException {this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (request.getCharacterEncoding() == null) { String encoding = getEncoding(); if (encoding != null) request.setCharacterEncoding(encoding); } chain.doFilter(request, response);}public void destroy() { this.encoding = null; this.filterConfig = null;}public String getEncoding() {return encoding;}}
<filter> <filter-name>SetCharacterEncodingFilter</filter-name> <filter-class>filter.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>SetCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
String s=request.getParameter("author"); String author=new String(s.getBytes("ISO8859_1"),"gb2312");
String s=rs.getString("author"); Stringauthor=new String(s.getBytes("GB2312"),"ISO8859_1");
Var str = encodeURI(s);接收时String str = java.net.URLDecoder.decode(s,”utf-8”);
传:=new String("参数1".getBytes("GBK"), "ISO8859-1")%>取:=new String(request.getParameter("param1").getBytes("ISO8859-1"), "GBK")