您的位置 首页 > 娱乐休闲

servlet之request,response以及转发,重定向和session

request和response

request:封装了http请求信息,通过这个对象去获取请求信息,他是ServletRequest的子接口

response:封装了相应信息

//获取姓名的值

//姓名:< input type=“text” name=“username” id=“username”>< br/>

//input属性name的值

String name=reque(“username”); 获取多个值getParameterValues

Sy(name);

()方法,把结果相应到浏览器

PrintWriter out=re();

out.write("<h 1 >"+name+"</ h1>");

转码

reque(“utf-8”);

re(“text/html;charset=utf-8”);

//请求转发:把请求转发给另一个servlet处理

String path="/testServlet";

reque(path).forward(request, response);

//请求重定向

re(“testServlet”);

1.请求转发和请求重定向

本质区别:请求转发只是发了一次请求,重定向发了两次请求

(1)请求转发:地址栏还是初次请求的地址栏

请求重定向:地址栏不是初次请求的地址栏,地址栏是最后一次相应的地址栏

(2)请求转发:在最终的servlet中,request对象和中转的request对象是同一个对象

请求重定向:最终的servlet中,request对象和中转的request对象不是同一个对象

(3)请求转发:‘/’代表当前web应用的根目录

请求重定向:‘/’代表当前web站点的根目录

(4)请求转发:只能转到当前web资源

请求重定向:可以重定向到外部资源

2.表单重复提交

(1)点击了浏览器的后退按钮,再点击提交

(2)在相应页面未完成响应时,重复点击提交按钮

(3)在表单请求servlet,而servlet又通过转发的方式相应到一个servlet处理,当我刷新时,地址栏还是原来请求的那个地址栏,这样就出现了重复提交。重定向不会出现重复提交

/***********************************************************************/

设置令牌

< body>

<%

String uuid=UUID.randomUUID().toString().replace("-","");

reque().setAttribute(“token”, uuid);

%>

< form action=“work” method=“post”>

< input type=“hidden” value="<%=uuid%>" name=“token”>

用户名:< input type=“text” name=“user” id=“username”>< br/>

密码:< input type=“text” name=“pwd” id=“pwd”>< br/>

< input type=“submit” value=“提交”>

< /form>

< /body>

浏览器需要对其发出的每个请求消息都进行标识

这个标识号就称之为会话ID(SessionID)

获取session

HttpSession session=reque();

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“html如何获取session值,html获取session的值,如何获取session的值,html怎么获取session的值”边界阅读