应用实例:将Register.jsp页面中的表单数据传递到Show.jsp页面显示
其默认的表单提交方式为:method="get"
除此之外,地址栏请求方式与超链接请求方式也默认为:method="get"
get与post的区别:
get方式会在地址栏显示请求信息,但是地址栏能容纳的信息有限,约为4-5kb,若请求数据过大则容易出错,而post不会。
故使用post方式可以保证信息的安全。
get方式下的地址栏信息
可以发现,在地址栏泄露的一些表单信息,如:姓名,密码,年龄等
post方式下的地址栏信息
与get方式相比,在地址栏显示的只有跳转的目的jsp页面Show.jsp
Regist.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Show.jsp" method="post">
用户名:<input type="text" name="uname" ><br>
密码:<input type="password" name="upwd"><br>
年龄:<input type="text" name="uage"><br>
爱好:<br>
<input type="checkbox" name="uhobbies" value="足球">足球,
<input type="checkbox" name="uhobbies" value="篮球">篮球,
<input type="checkbox" name="uhobbies" value="乒乓球">兵乓球<br>
<input type="submit" value="注册">
</form>
</body>
</html>
Show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//数据传输方法get和post的区别
//设置编码格式
request.setCharacterEncoding("UTF-8");
//获取注册页面的表单值
String name = request.getParameter("uname");
int age = Integer.parseInt(request.getParameter("uage"));
String pwd = request.getParameter("upwd");
String[] hobbies = request.getParameterValues("uhobbies");
%>
注册成功,信息如下:<br>
姓名:<%=name %>
年龄:<%=age %>
密码:<%=pwd %>
爱好:<br>
<%
if(hobbies!=null)
for(String hobby : hobbies){
out.print(hobby+"&nbps;");
}
%>
</body>
</html>