3.4.1 登录页面——提交登录数据

表单(form元素)是唯一一个可以提交数据到服务器的HTML元素。 按提交按钮的时候,form元素内部所有的输入、单选、多选、下拉框、多行文本框等,都会按照“名字——值”这样的对打包数据,然后带着这些参数根据指定的网址,发起一个http请求。 而form的action属性,就是用来设置提交后要访问的网址。

<form method="post" action="validateLogin.jsp">
账号
<input type="text" class="inputText" name="username" width="120px"><br/>
密码
<input type="password" class="inputText" name="password" width="120px"><br/>
<input value="登陆" type="submit" class="submit"></form>
上面的登陆页面,点击提交后,账号以"username:账号值"这样成对保存,密码以"password:密码"成对保存保存,然后发送到目标网址。取数据的时候,根据名字就可以得到了。那么username和password又是哪里指定呢?input的name属性指定。 这里的validateLogin.jsp就是提交后要访问的网址。还有一个重要的属性method,这是指定数据打包的方式,例子里是post,还有一种是get,这两种有什么区别呢? 区别在于: 使用get方式打包数据,所有数据都将出现在url里,例如这是一个get方式提交数据的的网址:https://www.codessp.com.cn/main.jsp?c=1&cip=1010 网址从问号开始,就是打包的数据,这里有两个数据,一个名字是c,值是1,一个名字是cip,值是1010,所有参数以&分隔 使用post方式打包,所有数据都不会出现在url。

get
post
发送方式
所有数据都出现在url后面
所有数据url不可见,跟随http请求发送
安全
发送的数据能在url看见,不安全
发送数据看不见,例如登录的时候,使用post,目标网址不会显示账号和密码
网址共享
此类url包含了所有信息,别人点击后也能访问一样的网址
url没有包含信息,点击后还要提交数据才有信息
限制
不能发送大型文件,事实上jsp容器(tomcat)对url的长度有限制
可以提交较大的文件