当前位置: 首页 > news >正文

网站建设与管理总结百度免费推广

网站建设与管理总结,百度免费推广,平面设计空间构成图片,微信分销平台哪家好转发和重定向 1.0 面试提问 定义不同跳转的方式不同数据共享不同最终的URL地址不同代码实现不同 1. 转发 1.1 概念 转发实际上在服务器端进行页面的跳转操作,请求转发:一种在服务器内部的资源的跳转的方式。 访问A,A请求转发了B&#xff0c…

转发和重定向

1.0 面试提问

  1. 定义不同
  2. 跳转的方式不同
  3. 数据共享不同
  4. 最终的URL地址不同
  5. 代码实现不同

1. 转发

1.1 概念

转发实际上在服务器端进行页面的跳转操作,请求转发:一种在服务器内部的资源的跳转的方式。

访问A,A请求转发了B,访问A的同时就也访问到了B。
带参数跳到指定的页面,比如request。
访问A,进入A的网址,然后在A里面请求转发B,就是带着A的请求到了B。

1.2 特点

  1. 转发操作用户只请求了一次
  2. 转发操作用户请求的URL不发生改变
  3. 转发操作只能够转发服务器内部的资源.
  4. 转发操作过程中,任何一个步骤都可以获取用户的请求参数,获取之前其他操作添加的数据内容, 即请求域中的数据不会丢失。
  5. 转发操作是服务器行为。

1.3 方法(通过HttpServletRequest)

方法含义
获取参数
String getParameter(String name);通过名称获取用户请求参数对应的数据
Map(String,String[]) getParameterMap();直接获取用户请求参数对应的map双边队列
String[] getParameterValues(String names);通过名称获取对应的Value值
获取属性存储的数据
void setAttribute(String name,Object obj);request 对象添加属性的操作,
要求提供属性名称和对应的属性值
,属性名称是String 类型,值为Object 什么类型都可以
Object getAttribute(String name);根据属性的名称获取对应的属性值,返回是Object。可使用强转。
void removeAttribute(String name);删除属性的操作,根据属性名称删除属性信息,属性名称+属性值都删除

区分:

​ Parameter : 用户提交的数据,通过表单,ajax,等方式获取,数据形式是键值对的形式。Servlet获取的数据类型是String类型。

​ Attribute属性:服务器在转发的过程中的操作,方便后续资源的使用,在Attribute 属性中添加属性数据,类似于Map 类型。name = value 模式,value 类型不会限制。

1.4 Request域对象特征

域对象: 表示的是一定范围内的有效的对象

有效范围: 对于HttpServletRequest 对象是整个转发路径中的所有的相关的资源范围内有效。

1.5 实例

  1. 首先: Servlet 接收用户的请求,转发到中间的Servlet。
  2. 中间的Servlet 接收其他的Servlet转发访问,同时添加访问的内容,转发到最终的处理需求的Servlet。
  3. 最终的Servlet 完成针对于用户的响应的请求之后,同时用户的请求的数据和中间的Servlet添加属性数据。

在这里插入图片描述

@WebServlet("/test1")
public class ADispatchServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 解决Servlet中的乱码的问题req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");System.out.println("首先收到指定的请求操作");System.out.println("请求中的参数1是"+ req.getParameter("user1"));System.out.println("请求中的参数2是"+ req.getParameter("user2"));/*** 执行转发的操作通过request 对象进行调用指定的方法,然后通过forword转发到目标的资源中,提供请求对象和响应对象*/req.getRequestDispatcher("test2").forward(req, resp);}
}@WebServlet("/test2")
public class BDispatchServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {/*当前 Servlet 对应的请求和响应不是 Tomcat 服务器用户请求创建和绑定的而是上一个资源,在转发过程中, 提交给当前 Servlet 程序运行所需的请求和响应对象*/System.out.println("收到test1 中的转发");System.out.println("所需要的参数一"+req.getParameter("user1"));System.out.println("所需要的参数二"+req.getParameter("user2"));// 给当前的request对象添加属性值,进行传递操作req.setAttribute("none","张三,李四");req.getRequestDispatcher("test3").forward(req, resp);}
}@WebServlet("/test3")
public class CDispatchServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("重定向");System.out.println("获取请求中的1参数;"+req.getParameter("user1"));System.out.println("获取请求中的2参数;"+req.getParameter("user2"));System.out.println("获取上一级建立的属性的参数");System.out.println(req.getAttribute("none"));resp.getWriter().append((String)req.getAttribute("none"));}
}

1.6 总结

1. 得到转发器: RequestDispatcher request.getRequestDispatcher("/跳转的地址")  参数是要跳转的地址
2. 实现转发操作转发器对象.forward(request,response)表示的含义是  将请求和响应提交过去,保证转发过去的页面也能够有同样的request 和 response。

总结

​ 实现:request.getRequestDispatcher(“/跳转的地址”).forward(request,response);

2. 重定向

2.1 概念

重定向就是通过各种方法将各种网络请求重新定个方向转到其他的位置。也就是说在网页上设置一个约束条件,如果满足条件,就会自动跳转到其他的网页上。例如:网页重定向、域名重定向、路由的选择的变化也是重定向.

2.2 特点

  1. 用户请求多次(两次两次以上)
  2. URL会改变
  3. 浏览器行为
  4. 操作后用户无法获取请求资源和中间资源
  5. 可以定向至服务器内部资源,也能够访问服务器外部资源

2.3 核心

核心变量:

HttpServletResponse 对象

核心方法:

SendRedirect(String location) 完成对应的重定向的操作

response.sendRedirect("跳转的地址")

2.4 网页定向

在我们创建网站的时候,时常能够遇到网页需要重定向的情况

  1. 网站的调整,改变网页的目录结构
  2. 网页被移动到一个新的地址
  3. 网页拓展名称改变。
  4. 注册了多个域名的网站,也需要通过重定向让访问这个域名的用户自动跳转到主站点。

在这里插入图片描述

3. 使用区分总结

如果需要保存数据域中的数据,则需要进行转发的实现操作,否则需要使用重定向。

如果之后需要访问数据库,增删改的操作,需要使用重定向的操作,查询的时候使用转发。

区别转发forward()重定向sendRedirect()
根目录包含项目的访问地址没有项目的访问地址
地址栏不会发生改变会发生变化
哪里跳转服务端进行的跳转浏览器进行的跳转
请求域中的数据不会丢失会丢失
http://www.tj-hxxt.cn/news/128723.html

相关文章:

  • 建设工程合同司法解释seo研究中心官网
  • 家里公网宽带做网站要备案么如何在百度推广自己的产品
  • 日照东港建设局网站中国网络优化公司排名
  • 安徽省住房建设厅网站百度排行榜明星
  • 遂宁网站开发seo按照搜索引擎的什么对网站
  • 雷山网站建设东莞网站建设优化诊断
  • 同一个域名可以做几个网站吗seo网页优化平台
  • 郑州国际装备制造业会展网站的建设2021小说排行榜百度风云榜
  • wordpress 最好的编辑器开封网站优化公司
  • 凡科网站怎么做授权查询近三年成功的营销案例
  • 代运营公司收费好看的seo网站
  • 专注做一家男生最爱的网站数据分析网
  • 全世界做会展介绍的网站排名营销一体化平台
  • 宁波高端网站制作公司网店推广的作用是什么
  • 面包屑网站导航怎么做麒麟seo
  • wordpress图片 转移oss孔宇seo
  • 网站开发和后期维护费用seo页面优化技术
  • 做网站的公司倒闭了凡科建站app
  • 云南网站建设的价值重庆seo按天收费
  • 最好的wordpress 网站品牌网络推广外包
  • .cn域名注册官方网站如何推广网站方法
  • 北京网站建设小公司有哪些百度企业官网认证
  • 手机网站无法访问的解决方法关键帧
  • 中学建设校园网站方案百度网盘网页版入口
  • 优才网站建设seo文章优化技巧
  • 上海网站开发建设服务百度知道提问首页
  • 学做网站什么语言合适百度公司在哪
  • 西部数码网站管理助手 mysql保存路径关键词如何确定
  • wordpress oss 插件百度推广怎么优化排名
  • 电商网站建设步骤关键词优化排名用哪些软件比较好