日期:2014-05-18  浏览次数:20741 次

初学jsp遇到了一个问题
我先写了一个html页面:
 <html>
  <head>
  <title>Our Form</title>
  </head>
  <body>
  <h3>Our Form</h3>
  <form name="ourform" method="GET" action="index.jsp">
  <table>
    <tr>
      <td>姓名:</td>
      <td><input type=text name="Name"></td>
    </tr>
    <tr>
      <td>性别:</td>
      <td>
  <input type="radio" name="Sex" value="男">男
  <input type="radio" name="Sex" value="女">女
      </td>
    </tr>
  </table>
<input type=submit>
  </form>
  </body>
  </html>

然后再写了个jsp页面index.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%
  request.setCharacterEncoding("GBK");
  String name=request.getParameter("Name");
  String sex=request.getParameter("Sex");
%>
<h2>我的姓名:</h2>
<%=name%>
<h2>我的姓别:</h2>
<%=sex%>

填写了html页面的内容,按提交按钮后,结果有乱码:
我的姓名:
?? 
我的姓别:
??

请问是怎么回事???

------解决方案--------------------
这个是我写的注册页面代码,你拿去参考下吧
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>注册</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
<!--
.STYLE1 {font-size: larger}
-->
</style>
</head>
<script language="javascript">
function check()
{
fr=document.form1;
if(fr.username.value=="")
{
alert("用户ID不能为空");
fr.username.focus();
return;
}
if((fr.password.value=="")&&(fr.confirmpassword.value==""))
{
alert("密码不能为空!");
fr.password.focus();
return;
}
if(fr.password.value!=fr.confirmpassword.value)
{
alert("两次输入的密码不一致,请重新输入!");
fr.password.focus();
return;
}
if(fr.nickname.value=="")
{
alert("昵称不能为空!");
fr.nickname.focus();
return;
}
if(fr.email.value=="")
{
alert("邮箱不能为空!");
fr.email.focus();
return;
}
if(fr.email.value!="")
{
if(!isEmail(fr.email.value))
{
alert("请输入正确的信箱名称!如 lj@yahoo.com.cn ");
fr.email.focus();
return;
}
}
fr.submit();
}
function isEmail(theStr)
{
var atindex=theStr.indexOf('@');
var dotindex=theStr.indexOf('.',atindex);
var flag=true;
thesub=theStr.substring(0,dotindex+1);
if((atindex<1)||(atindex!=theStr.lastIndexOf('@'))||(dotindex<atindex+2)||(theStr.length<=thesub.length))
{
flag=false;
}
else
{
flag=true;
}
return(flag);
}
</script>
<body class="sub">
<form name="form1" method="post" action=&quo