jsp中文乱码,代码如下
reguser.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!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=gb2312">
<title>输入用户名</title>
</head>
<script type="text/javascript">
function checkuser(){
if(document.form.username.value == ""){ //如果username输入框内容为空
alert("请输入用户名"); //弹出提示对话框
document.form.username.focus(); //光标停留在username输入框中
}
Else //否则进行表单提交
document.form.submit();
}
</script>
<body >
<br>
<form name="form" action="weluser.jsp" method="get">
<table width="200" border="1" align="center">
<tr>
<td> 用户名:</td>
<td>
<input name="username" type="text" value="" size="10"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input name="提交" type="submit" onClick="checkuser()" value="提交" >
|<input name="重置" type="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>
weluser.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>欢迎您</title>
</head>
<body background="images/bg.gif">
<center>
<%
String username = request.getParameter("username"); //获取用户名信息
out.println("Welcome "+username+"!"); //输出欢迎该用户的提示信息
%>
</center>
</body>
</html>
答案:1. reguser.jsp中的表单用post方法提交。
2. weluser.jsp,在String username = request.getParameter("username"); 之前加一句:
request.setCharacterEncoding("GB2312") ;
注意:如果大量页面都存在同样的编码转换的问题,最好现在一个过滤器中统一处理。
上一个:jsp中 怎么清空 cookie ? 为什么我下面的代码没用? 那判断都进去了 (急)
下一个:你好,我编程的一个jsp页面的顶端代码是<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"