转发和重定向
来源:互联网 发布:中文翻译泰文软件 编辑:程序博客网 时间:2024/06/03 21:18
转发和重定向
转发的语法:
//java代码request.getRequestDispatcher("url").forward(request,response);//jsp标签<jsp:forward page="url"></jsp:forward>
重定向的语法
//java代码 response.sendRedirect("url");
转发(forward)
- 执行forward后依然是上一次请求
- forward的目标页面,可以访问请求原请求的请求参数,因为是一次请求,所有的请求参数,request范围的属性全部存在(request域对象的属性对象全部存在)。
- 地址栏里请求的URL不会改变
转发的工作方式:
实例:
1. 登录页面(login.jsp)
<form action="doLogin.jsp" method="post"> 账户: <input type="text" name="user"><p></p> 密码:<input type="text" name="pwd"><br> <input type="submit"> </form>
- 验证数据页面(doLogin.jsp),当数据验证成功后转发
<body> <% String user = request.getParameter("user"); String psw = request.getParameter("pwd"); if(user!=null){ request.setAttribute("user",user); request.setAttribute("psw",psw);// response.sendRedirect("sucessLogin.jsp"); // request.getRequestDispatcher("sucessLogin.jsp").forward(request,response); %> <jsp:forward page="sucessLogin.jsp"></jsp:forward> <% }else{ request.setAttribute("mess","登录异常!"); request.getRequestDispatcher("errorTest.jsp").forward(request,response); } %></body>
- 数据验证成功后
当数据验证成功时,或者失败时url还停留在doLogin.jsp页面,url没有改变
重定向(redirect)
- 执行redirect后生成第二次请求
- redirect的目标页面,不能访问原请求参数,因为是第二次请求,所有的请求参数,request范围的属性全部丢失。
- 地址栏请求的URL改变
转发的工作方式:
实例:
当使用重定向时,可以看到url改变,和request域对象里面的数据丢失。
重定向转发的区别
注意: 重定向是客户端的行为,转发是服务器的行为
阅读全文
0 0
- 转发和重定向
- 转发和重定向
- 转发和重定向
- 重定向和转发
- 转发和重定向
- 转发和重定向
- 重定向和转发
- 转发和重定向
- 转发和重定向
- 转发和重定向
- 重定向和转发
- 重定向 和转发
- 转发和重定向
- 转发和重定向
- 转发和重定向
- 转发和重定向
- 重定向和转发
- 转发和重定向
- 【3分钟带你学】JS闭包
- Centos下安装nc
- webpack的安装与环境配置
- class template类模板笔记----C++学习之路
- python-Day01,基本语法
- 转发和重定向
- U3D Shader Vertex Path光源存储信息和自定义shader实现
- 贪心算法-4.1活动安排问题
- 树莓派的硬件信息了解与思考
- Qt 中Treewidget添加右键菜单
- 在Windows的CMD中如何设置支持UTF-8编码
- ftp服务
- JAVA基础复习十七-Set集合及其子类
- 2017.11.08工作日记