code:
login.javaimport java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class login extends HttpServlet { public void destroy() {
this.destroy(); // Just puts "destroy" string in log
// Put your code here
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { //request.setCharacterEncoding("GB2312");
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>登陆页面</TITLE></HEAD>");
out.println("<BODY><center>");
out.println("<hr color=\"green\">");
out.println("<h1>登陆</h1>");
out.println("<form action=\"show\" method=\"post\" name=\"form1\"" +
">");
out.println("<p>用户:<input type=\"text\" name=\"name\">");
out.println("<p>密码:<input type=\"password\" name=\"pass\">");
out.println("<p><input type=\"submit\" value=\"登陆\">");
out.println("</from>");
out.println("</center><BODY>");
out.println("</BODY>");
out.println("</HTML>");
out.flush();
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { this.doGet(request, response); }
}传递参数到show.javashow.javaimport java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class show extends HttpServlet {

public void destroy() {
this.destroy(); // Just puts "destroy" string in log
// Put your code here
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { //request.setCharacterEncoding("GB2312");
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
//String name=request.getParameter("username");
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");
String pass=new String(request.getParameter("pass").getBytes("ISO-8859-1"),"GB2312");
out.println("<HTML>");
out.println("  <HEAD><TITLE>欢迎</TITLE></HEAD>");
out.println("  <BODY>");
out.println("<h2>你好啊,"+name+"</h2>");
out.println("<h2>你的密码是:"+pass+"</h2>");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { this.doGet(request, response); }
}头疼啊,求高手

解决方案 »

  1.   

    用过滤器过滤一下
    tomcat最好也配置一下
      

  2.   

    我又试了一下,可以了,没错误。
    servlet小登陆
    那就当此贴是个纪念吧
      

  3.   

    很佩服你在servlet里面写HTML代码
      

  4.   

    你这代码随环境不同运行结果可能还会有问题。提供两个建议给你:
    1 生成HTML文件的时候尽量指定页面字符集,如下:
    out.println("<HTML>");
    out.println("<HEAD><TITLE>登陆页面</TITLE><meta http-equiv=\"Content-Type\" content=\"text/html; charset=GB2312\"></HEAD>");2 接收参数的时候尽量使用
    request.setCharacterEncoding("GB2312");
    String name=request.getParameter("name");
    这种方式设定字符集,不要像你
    String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");
    这样强转
      

  5.   

    String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");用起来很好啊!!没出现过错误