超连接的href、表单的action 重定向
如果以/开始,必须加上布署名 /webtest/all
获得真实路径getrealPath,内部转发
如果以/开始,应该书写相对于web应用程序的路径,不加部署名
Get.parametr 只能得到第一个表单名对应的表单值。
Get.parameterValues 得到一个表单名对应的所有的值 ,返回字符串数组。
1.单选框必须加value,提交表单时,提交的是选中单选框的value
2.在option中必须加value 提交表单时,提交的选中项的value
3.checkbox也要加value 且遍历是还要判断是否为空。
请求转发:在服务器内部做资源调配,客户端只发出一次请求
Request请求对象中也提供了setAttribute和getAttribute方法,不过在请求对象中封装的对象,作用范围只在一次去范围内
在servlet转发页面有两种方式:重定向和内部转发,区别是
1、重定向由response发出,而内部转发由requestDispatcher发出
2、重定向,客户端发出两次请求,而内部转发,客户端值发出一次请求。所有内部转发可以共享request请求对象中封装数据,而重定向不行。
3、内部转发只能转发服务器内部的资源,但是重定向可以在第二次请求时,转向别的服务器。
状态跟踪:http协议是一种无状态的协议,当请求和响应完成后,会断开连接,以释放服务器的内存资源。使用服务器无法保存客户端的状态,服务器会认为没错请求的客户端都是新用户,但是很多的时候,我们需要得到客户端的状态完成一些的。这时就需要状态跟踪
状态跟踪有四种
1、隐藏表单
2、Cookie
3、Session
4、URL重写
Cookie工作流程
客户端访问服务器,服务器调用response。Addcookie()方法。产生响应时,会产生set-cookie响应头,将coookie文本保存起来。当客户端再其次请求服务器时,会产生cookie请求头,将之前服务器发送的cookie信息,再次发给服务器。服务器就可以根据cookie信息跟踪客户端的状态