gpt4 book ai didi

servlet重定向详解(八)

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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 第一次请求的类 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 重定向的类 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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重定向详解(八)

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

原文链接:http://www.cnblogs.com/wwyx-xi/p/7608670.html 。

最后此篇关于servlet重定向详解(八)的文章就讲到这里了,如果你想了解更多关于servlet重定向详解(八)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com