简单使用jsp内置对象request

index.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!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=utf-8">
<title>学生毕业登记信息系统</title>
</head>
<body>
<form action="show.jsp">
<div id="one" style=" position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%,-50%);
        -moz-transform: translate(-50%,-50%);
        -o-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%); ">
<div id="two" style=" position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%,-50%);
        -moz-transform: translate(-50%,-50%);
        -o-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);  ">
<p style="font-size: 30px">学生毕业登记信息统计:</p>
<ul style="list-style: none;line-height: 30px">
<li>输入学生姓名:<input type="text" name="name"></br></li>
<li>输入学生密码:<input type="password" name="password"><br></li>
<li>选择性别:<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女</li>
<li>选择个人专业:<select name="question">
<option value="物联网工程">物联网工程</option>
<option value="数字媒体与技术">数字媒体与技术</option>
<option value="电子商务">电子商务</option>
<option value="嵌入式开发">嵌入式开发</option></select>
</li>
<li>请输入所在班级:<input type="text" name="class"><br></li>
<li>请选择个人必修课程:
<div style="width:500px">
<table width="454" height="142" border="0">
<tr>
<td width="145" height="28"><input type="checkbox" name="subject" value="Java软件编程">Java软件编程</td>
<td width="129"><input type="checkbox" name="subject" value="C++编程">C++编程</td>
<td width="158"><input type="checkbox" name="subject" value="C#编程">C#编程</td>
</tr>
<tr>
<td height="28"><input type="checkbox" name="subject" value="计算机信息管理">计算机信息管理</td>
<td><input type="checkbox" name="subject" value="数据结构">数据结构</td>
<td><input type="checkbox" name="subject" value="软件编程">软件编程</td>
</tr>
<tr>
<td height="28"><input type="checkbox" name="subject" value="PHP编程">PHP编程</td>
<td><input type="checkbox" value="SQL Server数据库">SQL Server数据库</td>
<td><input type="checkbox" value="Oracle数据尔康">Oracle数据库</td>
</tr>
</table>
</div>
</li>
<li style="padding-left: 100px">
<input type="submit" value="提交" style="width:80px">
<input type="reset" value="重置" style="width:80px">
</ul>
</div>
</div>
</form>
</body>
</html>

show.jsp:

<%@ page language="java"  import="java.util.*"  contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!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=utf-8">
<title>查看学生信息</title>
</head>
<body>
<div id="one">
<div id="two">
<p style="font-size: 30px">学生毕业登记信息查看</p>
<%
	request.setCharacterEncoding("utf-8");
%>
<form>
<ul style="list-style: none;line-height: 30px">
<li>学生姓名:<%=new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生密码:<%=new String(request.getParameter("password").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生性别:<%=new String(request.getParameter("sex").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生专业:<%=new String(request.getParameter("question").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生班级:<%=new String(request.getParameter("class").getBytes("ISO-8859-1"),"utf-8") %></li>

<li>个人必修课程:<div style="width:500px"><% String[] subject = request.getParameterValues("subject");for(int i=0;i<subject.length;i++){%><%=new String(subject[i].getBytes("ISO-8859-1"),"utf-8")%><%} %></div></li></ul></form></div></div></body></html>

其中乱码问题干扰了我两天,

<li>学生姓名:<%=new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生密码:<%=new String(request.getParameter("password").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生性别:<%=new String(request.getParameter("sex").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生专业:<%=new String(request.getParameter("question").getBytes("ISO-8859-1"),"utf-8") %></li>
<li>学生班级:<%=new String(request.getParameter("class").getBytes("ISO-8859-1"),"utf-8") %></li>
之前写的一直是String(request.getParameter("name").getBytes("utf-8"),"utf-8),得到获取表单的数据一直是中文乱码,就很奇怪,看形式获取到的应该是ISO-8859-1,可是我在index.jsp页面设置的编码是utf-8,所以得出结果,在获取表单的时候编码是ISO-8859-1,在getBytes()参数依旧是ISO-8859-1,这里是值得注意的一点。

猜你喜欢

转载自blog.csdn.net/qq_40609754/article/details/80593669