全网整合营销服务商

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

免费咨询热线: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 


相关文章: 长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  建站之星微信建站一键生成小程序+多端营销系统  如何快速使用云服务器搭建个人网站?  建站之星多图banner生成与模板自定义指南  香港服务器部署网站为何提示未备案?  网站制作公司排行榜,抖音怎样做个人官方网站  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何通过商城自助建站源码实现零基础高效建站?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  高防服务器租用首荐平台,企业级优惠套餐快速部署  制作网站的模板软件,网站怎么建设?  如何在景安云服务器上绑定域名并配置虚拟主机?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何通过远程VPS快速搭建个人网站?  C#怎么使用委托和事件 C# delegate与event编程方法  Python lxml的etree和ElementTree有什么区别  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  如何在阿里云购买域名并搭建网站?  如何在橙子建站上传落地页?操作指南详解  建站之星如何快速解决建站难题?  网站制作壁纸教程视频,电脑壁纸网站?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  家具网站制作软件,家具厂怎么跑业务?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何在IIS中新建站点并配置端口与IP地址?  建站主机选择指南:服务器配置与SEO优化实战技巧  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何快速生成可下载的建站源码工具?  建站之星后台密码如何安全设置与找回?  常州企业网站制作公司,全国继续教育网怎么登录?  小型网站制作HTML,*游戏网站怎么搭建?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  北京专业网站制作设计师招聘,北京白云观官方网站?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  内部网站制作流程,如何建立公司内部网站?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何零基础在云服务器搭建WordPress站点?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  电商网站制作公司有哪些,1688网是什么意思?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  实例解析Array和String方法  广德云建站网站建设方案与建站流程优化指南  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何在橙子建站中快速调整背景颜色?  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何用PHP快速搭建CMS系统? 

您的项目需求

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