第一:输入的用户名和密码都是正确的,但总是运行的是用户名失败
第二:用户名输入的是中文的话request.getparameter接受的是乱码
<!--登陆界面的处理用户名和密码(dljmcl)  --> 
<%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登录信息的验证</title>
</head>
<body>
  
   <%
      String yhm=request.getParameter("yhm");
      System.out.println("用户名"+yhm);
      String mm=request.getParameter("mm");
      //加载驱动
      try{
      Class.forName("oracle.jdbc.driver.OracleDriver");
      //得到连接
      Connection cnn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
      //创建Statement
      Statement stm=cnn.createStatement();
      //查询结果
       ResultSet rs=stm.executeQuery("select yhmm from yhxxb where yhm='"+yhm+"'");
if(rs.next()){
  if(rs.getString(1).equals(mm)){
System.out.println("chengong");
}else{
     System.out.println("失败");
    }
}else{
  System.out.println("用户名失败");
}
}catch(Exception e){
      e.printStackTrace();
      }
     
    %>
</body>
</html>jspgetParameter

解决方案 »

  1.   

    <%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=gb2312"
        pageEncoding="gb2312"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">一个页面,两种编码,不乱码才怪
      

  2.   

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    应该是这个编码定义引起的,建议页面编码都使用utf-8,毕竟项目都要与数据库打交道,utf-8对从是图层到模型层编码支持的都比较好,而且是很多框架的默认编码。
      

  3.   

    哈哈,没有getChineseParameter()
    就会乱码的String linkName = proxy.getChineseParameter("linkName");我们主管写的,就是防中文乱码的!