request.getparameter的错误?
第一:输入的用户名和密码都是正确的,但总是运行的是用户名失败
第二:用户名输入的是中文的话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>
jsp
getParameter
------解决方案--------------------<%@ 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">
一个页面,两种编码,不乱码才怪
------解决方案--------------------<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
应该是这个编码定义引起的,建议页面编码都使用utf-8,毕竟项目都要与数据库打交道,utf-8对从是图层到模型层编码支持的都比较好,而且是很多框架的默认编码。
------解决方案--------------------哈哈,没有getChineseParameter()
就会乱码的
String linkName = proxy.getChineseParameter("linkName");
我们主管写的,就是防中文乱码的!
------解决方案--------------------过滤器解决所有的乱码问题...