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

浙江怎样做网站网站开发工程师证书有用吗

浙江怎样做网站,网站开发工程师证书有用吗,专业制作网站的公司,猪仔wordpress转发和重定向 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.yayakq.cn/news/924386/

相关文章:

  • cdr做网站分辨率wordpress 文件权限设置方法
  • 晋江网站设计wordpress 网格主题
  • 怎样做网站视频网站空间购买费用
  • 定制网站开发与模板怎么在网页中加入图片
  • 青岛做网站电话icp网站 是什么意思
  • 转运网站开发京东网站建设流程图
  • 建好网站是不是每年都要交钱企业的网站设计能否以为导向
  • 爱站网主要功能镇江网站搭建
  • 大理做网站哪家好网站模板自建站
  • asp制作网站教程厚街镇网站仿做
  • 自己做的网站如何包装网站排名标准
  • 全球最大源码共享网站微商分销模式有哪些
  • 网站技术解决方案不包括怎么弄一个微信小程序
  • 深圳网站改版公司海外服务器租用多少钱一年
  • 网站建设亿玛酷正规如何建一个免费网站
  • 云南省住房和建设执业资格注册中心网站wordpress 文章导入
  • 网站怎么进行优化排名网站开发协助方案
  • 网站备案注意事项一个微信可以做两个网站支付宝吗
  • 怎么才能创建个人网站企业自建站案例
  • 网站项目开发流程加强图书馆网站建设
  • 网站开发_去哪里找页面wordpress 社交账号 文章评论 ds-thread
  • 做物流的可以在那些网站找客户端网站建设论文框架
  • 手机网站制作参考资料文献鄂州网站设计效果
  • 图片瀑布流网站模板中国小说网站策划与建设
  • 南宁手机网站建设公司电子商务网站建设的相关流程
  • 礼品行业网站建设婚纱网站建设微信群
  • 宜宾有什么大型网站建设公司wordpress迅雷下载地址
  • 做网站用微软雅黑有那种做拼贴的网站吗
  • 接设计网站商务型网站
  • 厦门外贸网站建设报价水网站源码