全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

servlet重定向详解(八)

本文实例为大家分享了servlet重定向的具体内容,供大家参考,具体内容如下

1.重定向是什么?

这里说的重定向是由http协议规定的一种机制。其工作流程如下所述。

(1)客户端发起http请求,访问服务器端组件。

(2)服务器端返回一个状态代码为302的响应结果。该代码的意思是让浏览器再访问另一个组件,响应结果中包含着访问新组件的url地址。新的访问组件可能在同一个应用中也可能不在同一个应用中。

(3)当浏览器接受到这种结果,会自动访问新的url.

(4)浏览器端接受新的url返回结果。

2.实现

重定向通过Servlet API 中HttpServletReponse接口提供的 sendRedirect(String location)方法完成。

3.重定向特点

3.1 servlet源组件的响应结果不会返回到客户端。

3.2  servlet源组件和目标组件不会共享同一个ServletRequest对象。

3.3 如果源组件在进行重定向前提前提交响应结果,会报异常。

3.4 重定向的地址不必是同一个服务器的应用。

4.案例

Check1Servlet 第一次请求的类

package com.learn;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by Administrator on 2017/09/28.
 */
public class Check1Servlet extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  String userName = req.getParameter("name");
  String message = "";

  if(userName == null){
   message = "please input your name";
  } else {
   message = userName;
  }
  req.setAttribute("mess",message);

  PrintWriter out = resp.getWriter();
  out.print("before redirect ");
  System.out.println("before redirect");

  resp.sendRedirect("out1?mess="+message);
  out.print("after redirect");
  System.out.println("after redirect");

  out.close();
 }
}

Out1Servlet 重定向的类

package com.learn;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by Administrator on 2017/09/28.
 */
public class Out1Servlet extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  String mess = (String) req.getAttribute("mess");
  System.out.println("请求范围内的数据:"+mess);

  mess = req.getParameter("mess");
  System.out.println("请求参数中的:"+mess);

  PrintWriter out = resp.getWriter();
  out.write(mess);
  out.close();



 }
}

控制台输出结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# servlet  # 重定向  # servlet配置方法及其生命周期详解  # Servlet生命周期与工作原理详解  # 基于servlet的执行原理与生命周期(全面解析)  # 带你快速上手Servlet  # Servlet方法生命周期及执行原理详解  # 会报  # 具体内容  # 客户端  # 是由  # 中也  # 大家分享  # 所述  # 含着  # 大家多多  # 工作流程  # 在同一个  # nbsp  # sendRedirect  # HttpServletReponse  # location  # String  # br  # Check1Servlet  # class 


相关文章: 香港服务器网站卡顿?如何解决网络延迟与负载问题?  平台云上自助建站如何快速打造专业网站?  c# 服务器GC和工作站GC的区别和设置  建站之星微信建站一键生成小程序+多端营销系统  导航网站建站方案与优化指南:一站式高效搭建技巧解析  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何通过可视化优化提升建站效果?  宝塔新建站点为何无法访问?如何排查?  详解jQuery中基本的动画方法  如何在云主机上快速搭建网站?  如何通过VPS建站实现广告与增值服务盈利?  建站之星2.7模板快速切换与批量管理功能操作指南  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  如何用y主机助手快速搭建网站?  建站上传速度慢?如何优化加速网站加载效率?  重庆市网站制作公司,重庆招聘网站哪个好?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  建站之星图片链接生成指南:自助建站与智能设计教程  建站主机无法访问?如何排查域名与服务器问题  如何快速查询网站的真实建站时间?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  浅析上传头像示例及其注意事项  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  实现虚拟支付需哪些建站技术支撑?  用v-html解决Vue.js渲染中html标签不被解析的问题  建站之星后台管理系统如何操作?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何零成本快速生成个人自助网站?  如何快速建站并高效导出源代码?  高防服务器租用首荐平台,企业级优惠套餐快速部署  佛山网站制作系统,佛山企业变更地址网上办理步骤?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在阿里云虚拟服务器快速搭建网站?  建站之星如何保障用户数据免受黑客入侵?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何正确下载安装西数主机建站助手?  北京制作网站的公司,北京铁路集团官方网站?  太平洋网站制作公司,网络用语太平洋是什么意思?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  音响网站制作视频教程,隆霸音响官方网站?  网站制作知乎推荐,想做自己的网站用什么工具比较好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。