package com.haiersoft.ph01.servlet;import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet("/number")
public class ServletNuber1 extends HttpServlet {
int number = 0;
private static final long serialVersionUID = 1L;
public ServletNuber1() {
super();
} protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset = GBK");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>"); synchronized (this) {
number++;
out.println("<hl>你是 " + number + "个访问该页面!<hl>");
}
out.println("<body>");
out.println("<html>");
}
}以上是代码结果显示是 ?? 1??????? 刷新的时候1会不停争长这是正确的。但是中文就是没有显示出来,已经安装了中文插件了。下面有很多红色提示:
六月 25, 2012 12:25:44 上午 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\jdk\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/jdk/bin/../jre/bin/client;D:/jdk/bin/../jre/bin;D:/jdk/bin/../jre/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\jdk\bin;D:\eclipse iDE for javaee\eclipse-jee-indigo-SR1-win32\eclipse;;.
六月 25, 2012 12:25:44 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ph01' did not find a matching property.
六月 25, 2012 12:25:44 上午 org.apache.coyote.AbstractProtocolHandler init
信息: Initializing ProtocolHandler ["http-bio-8080"]
六月 25, 2012 12:25:44 上午 org.apache.coyote.AbstractProtocolHandler init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
六月 25, 2012 12:25:44 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 476 ms
六月 25, 2012 12:25:44 上午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
六月 25, 2012 12:25:44 上午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.12
六月 25, 2012 12:25:45 上午 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["http-bio-8080"]
六月 25, 2012 12:25:45 上午 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
六月 25, 2012 12:25:45 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 362 ms

解决方案 »

  1.   

    out.println("<hl>你是 " + number + "个访问该页面!<hl>");
    }
    out.println("<body>");
    out.println("<html>");这个地方 应该是结束符吧
    out.println("</body>");
    out.println("</html>");
      

  2.   

    你的过滤器servlet中应该有request.setCharacterEncoding()吧,不然如何过滤呢?
      

  3.   

    protected void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset = GBK");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>");
    out.println("<%request.setCharacterEncoding(\"GBK\") %>") ; //
    out.println("<%response.setCharacterEncoding(\"GBK\") %>") ; //synchronized (this) {
    number++;
    out.println("<hl>你是 " + number + "个访问该页面!<hl>");
    }
    out.println("</body>");//body结束
    out.println("</html>");//html结束
    }
    }
      

  4.   

    用printout.print()
    out.flash();
    out.close();