java_web:表单提交方式get与post的区别
程序员文章站
2022-04-14 11:21:57
...
例:现有1个jsp页面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”%>
密码:
年龄:
爱好:
足球, 篮球, 兵乓球
</form>
Show.jsp
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
//设置编码格式
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;");
}
%>