我用的是myeclise5.5+tomcat5.0
一个servlet实例程序的组成如下:
html文件:<meta http-equiv="content-type" content="text/html; charset=GBK">
...
<body>
This is my HTML page. <br>
<form action="./FormServlet" method="Get">
Get:<input name="username">
<input type="submit">
</form>
</body>
....
servlet文件:FormServlet。java:public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" 您输入的用户名是:\n");
String username=request.getParameter("username");
username=new String(username.getBytes("ISO8859-1"),"GBK");
out.print(username);
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}server.xml:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="GBK"
/>
IE里面运行结果总是这样的乱码:您输入的用户名是: ???
谢谢指导!!
一个servlet实例程序的组成如下:
html文件:<meta http-equiv="content-type" content="text/html; charset=GBK">
...
<body>
This is my HTML page. <br>
<form action="./FormServlet" method="Get">
Get:<input name="username">
<input type="submit">
</form>
</body>
....
servlet文件:FormServlet。java:public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" 您输入的用户名是:\n");
String username=request.getParameter("username");
username=new String(username.getBytes("ISO8859-1"),"GBK");
out.print(username);
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}server.xml:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="GBK"
/>
IE里面运行结果总是这样的乱码:您输入的用户名是: ???
谢谢指导!!
解决方案 »
- jsp中struts2.x如何在action跳转之后的用户界面取值的相关问题想请教大神
- 请教,线上服务器频繁session丢失
- 想得到一个图片的缩略图,该如何处理
- java中byte[]与String互换的方法!!!急...
- java.net.SocketException: Connection reset
- 怎么在页面点击删除弹出确认删除对话框,成功跳转(怎么指定路径)
- 急求JSP中相对路径问题
- List 问题,请回答,马上给分
- 新手求教ava.lang.NoClassDefFoundError的问题
- javamail发送邮件的问题
- 登陆框如何实现AJAX局部刷新?
- eclipse下运行servlet
1. <filter>
2. <filter-name>EncodingFilter</filter-name>
3. <filter-class>com.kenshin.base.SysFilter</filter-class>
4. <init-param>
5. <param-name>encoding</param-name>
6. <param-value>UTF-8</param-value>
7. </init-param>
8. <init-param>
9. <param-name>enable</param-name>
10. <param-value>true</param-value>
11. </init-param>
12. </filter>
13. <filter-mapping>
14. <filter-name>EncodingFilter</filter-name>
15. <url-pattern>*.do</url-pattern>
16. </filter-mapping> 1. package com.kenshin.base;
2.
3. import java.io.IOException;
4.
5. import javax.servlet.Filter;
6. import javax.servlet.FilterChain;
7. import javax.servlet.FilterConfig;
8. import javax.servlet.ServletException;
9. import javax.servlet.ServletRequest;
10. import javax.servlet.ServletResponse;
11.
12. import org.apache.commons.logging.Log;
13. import org.apache.commons.logging.LogFactory;
14. import org.hibernate.Session;
15. import org.hibernate.SessionFactory;
16. import org.hibernate.Transaction;
17.
18. public class SysFilter implements Filter {
19. protected String sEncodingName;
20.
21. protected FilterConfig sysFilter;
22.
23. protected boolean bEnable;
24.
25. protected Log logger = LogFactory.getLog(SysFilter.class);
26.
27. public void destroy() {
28.
29. }
30.
31. public void doFilter(ServletRequest arg0, ServletResponse arg1,
32. FilterChain arg2) throws IOException, ServletException {
33. // TODO Auto-generated method stub
34. if (this.bEnable) {
35. try {
36. arg0.setCharacterEncoding(this.sEncodingName);
37. arg1.setContentType("text/html;charset=" + this.sEncodingName);
38. arg1.setCharacterEncoding(this.sEncodingName);
39. arg2.doFilter(arg0, arg1);
40.
41. } catch (Exception e) {
42. logger.info("出错了");
43. }
44. // session.close();
45. } else {
46. arg2.doFilter(arg0, arg1);
47. }
48. }
49.
50. public void init(FilterConfig arg0) throws ServletException {
51. // TODO Auto-generated method stub
52. this.sysFilter = arg0;
53. this.loadFilterSetting();
54. }
55.
56. private void loadFilterSetting() {
57. this.sEncodingName = this.sysFilter.getInitParameter("encoding");
58. logger.info("encoding:" + sEncodingName);
59. String sEnable = this.sysFilter.getInitParameter("enable");
60. if (sEnable != null && sEnable.equalsIgnoreCase("true")) {
61. this.bEnable = true;
62. } else {
63. this.bEnable = false;
64. }
65. }
66.
67.
68. }