jsp转发与重定向的区别

四、SVN客户端tortoiseSVN的基本功能介绍 档案浏览器(Repo-browser) 鼠标右键–>tortoiseSVN->版本库浏览器 输入版本库URL地址,进入如菜单界面 版本库浏览器支持SVN及http两种最常用的通信协议 SVN服务器访问方式 方法 模式 访问方法 File:// 直接版本库访问(本地磁盘) http:// 通过配置subversion的WEB服务器的WEBDAV协议 http... 阅读详情

    转发对象可以为jsp,也可以为Servlet,下图中所标注的不完整

 转发:


转发过程:

客户浏览器发送http请求---web服务器接受此请求后调用内部的一个方法在容器内部完成请求处理和转发动作----将目标资源发送给客户.它只能在同一个web应用中使用,可以共享request范围内的数据


重定向:

重定向过程:

客户浏览器发送http请求---web服务器接收后响应要求客户浏览器发送一个新的http请求----客户端浏览器接受此响应后在发送一个新的http请求到服务器----服务器根据此请求寻找资源并发送给客户。它可以重定向到任意URL,不能共享request范围内的数据。

通过上面的原理就能看出两者本质上是非常有区别的,转发是和服务器有一次交互,服务器对请求在内部进行了“传递”,而重定向是和服务器有两次交互(甚至更多),服务器首先通过对请求的处理之后要求客户端在发送一个请求,之后完成“转向”。

 

最后总结一下两者的不同点:

 

转发:

     1.  不会改变浏览器的地址栏

     2.  共享一个请求

     3.  只能在同一个web应用中使用

重定向:

     1.  浏览器中地址栏改变

     2.  不共享请求

     3.  可以重定向到任意的URL

作者:  陈建秋  来源:http://www.2cto.com/kf/201202/118255.html

相关知识文章推荐:http://blog.youkuaiyun.com/cyhjrx/article/details/3938252


 

季节性注意力的时间序列预测模型 SAITS 进行数据补齐 完整代码数据 阅读详情

相关推荐

图像相似度的评价指标 : FID(Fréchet Inception Distance)

FID(Fréchet Inception Distance) 是用来计算真实图像与生成图像的特征向量间距离的一种度量。如果FID值越小,则相似程度越高。最好情况即是FID=0,两个图像相同。 实际计算: 参考链接:https://machinelearningmastery.com/how-to-implement-the-frechet-inception-distance-fid-from-scratch/ # example of calculating the frechet inceptio

weixin_43723625的博客 1万+

jsp中重定向和转发的区别:

jsp中重定向和转发的区别:

We get old too soon and wise too late 3750

永磁同步电机定子槽型设计实战:从梨形槽到矩形槽的NVH优化之路

本文深入探讨了永磁同步电机定子槽型设计在NVH优化中的关键作用,对比了梨形槽与矩形槽的性能差异。通过Ansys Maxwell仿真和实际案例,揭示了矩形槽在提升槽满率、降低电磁噪声方面的优势,并总结了五大设计黄金法则,为电机设计工程师提供了实用指导。

weixin_28740299的博客 493

JSP重定向和转发简述以及两者区别

定义: 转发(forward)和重定向(redirect) 代表了两种请求转发方式:直接转发和间接转发 直接转发: 客户端和浏览器只发出一次请求,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。 间接转发: 实际上是两次请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。 区别: 一:重定向发生了两次请求,转发只有一次。 二:重定向之后浏览器的地址栏会发生改变,转发不

程序员贺加贝的博客 4074

南京邮电大学《数学实验》模块二(函数的迭代)参考答案

【代码】南京邮电大学《数学实验》模块二(函数的迭代)参考答案。

qq_1293730064的博客 3万+

YOLOv11多模态融合实战:基于YOLOFuse的RGB与红外线(IR)协同检测技术解析

本文深入解析了YOLOv11多模态融合技术,重点介绍基于YOLOFuse框架的RGB与红外线(IR)协同检测方法。通过动态权重分配、跨模态特征对齐等创新设计,实现在低光照等复杂环境下的高精度目标检测,mAP提升高达37%。文章包含实战案例、训练技巧和部署方案,为计算机视觉开发者提供完整的多模态融合解决方案。

weixin_29038345的博客 290

JSP中重定向与转发的区别

转发request.getRequestDispatcher().forward(request,response) 重定向 response.sendRedirect() 1.重定向访问服务器两次,转发只访问服务器一次。 2.转发页面的URL不会改变,而重定向地址会改变。 3.转发只能转发到自己的web应用内,重定向可以重定义到任意资源路径。 可以这么理解: 转发相当于,张三向你借钱,但是你兜里没钱,所以你去找李四借到钱之后借给张三。对于张三而言并不知道你的钱是...

weixin_55076626的博客 1696

【现代电路理论】【2】考尔法设计无源单口网络

夏 弥:其实你在冰面上看到鱼浮上来 明年冬天如果你还在那里,那鱼还是会上来换气 那时候你就可以带一把冰镐 把冰面砸开把鱼捞上来熬汤

痛苦的时候装出幸福相,这不是那么难做到的事 2886

JSP转发和重定向的区别

好长时间不看,又把基础只是给忘了。今天好好的再看看。呵呵呵......温故而知新啊!!!  1.RequestDispatcher.forward()――转发    是在服务器端起作用,当使用forward()时, Servlet engine传递HTTP请求从当前的Servlet orJSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.j

CYHJRX的专栏 1万+

Unreal5 从入门到精通之 如何实现 离线语音识别

本文介绍了如何使用离线语音识别插件 Offline Speech Recognition 进行本地语音转文本处理。该插件支持离线运行,用户可以通过下载并运行语言服务器(如 Vosk)来处理语音数据。文章详细说明了如何设置语言服务器、下载语言模型,并在虚幻引擎(UE)项目中配置麦克风和语音捕获。此外,还介绍了如何将 SoundWave 作为输入,以及如何通过节点将语音数据发送到语言服务器进行处理。最后,提供了相关文档链接以供进一步参考。

TxNet 904

泛微OA自定义post接口和路径(无侵入)

泛微OA自定义post接口和路径(无侵入)

技术分享 3868

servlet和jsp的转发与重定向代码以及区别

servlet和jsp的转发与重定向代码以及区别

nqmysb的博客 5871

YOLOv8首创原创改进:即插即用|创新的轻量化非对称多级压缩LADH检测头

总结而言,本文介绍了一种名为轻量化非对称多级压缩LADH检测头的原创改进,该改进可与YOLOv8无缝适配,并显著提升了检测器的性能。在本文中,我们介绍了一种原创改进的检测头,名为轻量化非对称多级压缩LADH检测头,它可与YOLOv8无缝适配,显著提升了检测器的性能。此外,我们引入了多级压缩的概念,通过在不同的检测层级上应用不同程度的压缩,进一步提升了检测头的轻量化特性。具体而言,我们采用了逐级减少卷积核数量和通道数量的策略,以降低模型的参数量和计算复杂度,同时保持较高的检测精度。

IbcVue的博客 2180

jsp重定向与转发的理解和区别

回顾第一篇博客,最近学了jsp:java server page ,  java服务器页面技术.  在服务器运行jsp,把html返回给浏览器页面,优势jsp可以写java代码。 然而,http协议是一种无状态的协议,浏览器断开与服务器的请求后再请求时不会有浏览器客户端的信息。通过jsp的重定向和转发可以解决http的无状态问题。   首先对前天晚上自己回答不出这个问题作检讨。正题: 重定

chen757576314的专栏 8133

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jsp中转发与重定向的区别

转发(request) 重定向(response) //获取RequestDispatcher对象 RequestDispatcher rd= request.getRequestDisapatcher(String path); //调用forward方法实现转发 rd.forward(servletRequest,servletResponse);   ...

qq_43984255的博客 768

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

JSP中转发与重定向的原理以及它们之间的区别

在这里跟大家交流分享点通俗易懂的,不装高尚大,不卖弄。只希望大家都能看懂,多交流。他们的关系很近所以一起理清,避免混淆。 JSP:动态网页技术标准 JSP原理:当Web服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面翻译成可识别的Java源代码(java源文件),然后再将Java源代码编译生成二进制字节码文件(实际上就是0101数字),然后执行字节码文件

hnczlzj的博客 1313

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JSP重定向与请求转发的区别

重定向 重定向(Redirect):客户端浏览器向Web应用服务器端发送一个请求,Web服务器端使用HttpServletResponse的sendRedirect()方法将结果(结果中头信息内HTTP状态码为302,Location响应报头域中保存响应回来的地址)返回客户端浏览器;客户端浏览器收到服务器端结果后解析其头部信息,然后自动按照头部指定地址以GET方式再次向Web应用服务器端发请求,此时地址栏URL发生变化,服务器端接收到新的请求再将结果返回至客户端浏览器,客户端浏览器解释执行返回结果并将执行结

qq_46384325的博客 347

重定向/转发、jsp传递信息、getAttribute与getParameter区别

管理系统疑问总结 一、jsp之间的重定向/转发 1.重定向 重定向: 客户端自己改变 改变地址栏地址 无法传递值,至今没有发现如何传递 response.sendRedirect("regRequest.jsp"); //或者 String site = "http://www.runoob.com" ; response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); 2.转发 转发:

qq_43039472的博客 405

jsp中请求转发与重定向的区别

请求转发是服务器内部做的操作,而重定向是服务器返回重定向指令后,浏览器发起的再一次访问. 1.请求转发是request对象的方法 request.getRequestDispatcher(url).forward(request,response); 2.重定向是response对象的方法 response.sendRedirect(url); 特点比较 1.转发的时候,url地址不会改变;重定向...

qq_42992573的博客 328

JSP重定向与转发区别

原理: 客户端发送请求,Servlet1做出处理。Servlet1调用sendReadirect()方法,将请求转发给Servlet2来处理请求,为客户端服务。 Servlet2对客户端浏览器做出响应。 请求转发允许把请求转发给同一应用程序中的其他Web组件。这种技术通常用于Web应用控制层的Servlet流程控制器,它检查HTTP请求数据,并将请求转发到合适的目标组件,目标组

qq_31088309的博客 421

Jsp 中转发与重定向的区别

问题:要在 b.jsp 中获取 a.jsp 中设置的变量值,通过重定向的话会丢失 request 数据,而通过转发则不会丢失 request 数据。 a.jsp 文件代码如下: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> Insert title h

Inite的博客 601

JSP/Servlet转发与重定向的区别

JSP/Servlet转发与重定向的区别尽管HttpServletResponse.sendRedirect 方法和RequestDispatcher.forward 方法都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别。     下面是HttpServletResponse.sendRedirect 方法实现的请求重定向与RequestDispatch

sbshi007的专栏 545

jsp重定向与转发的区别

 重定向与转发的主要区别如下:       1.转发是继续传递、处理同一个请求,在服务器端进行,浏览器显示旧请求URL      2.重定向在客户端运行,会产生一个请求,经过一次重定向后,浏览器会显示新URL,并且request内的对象将无法使用。即目标资源不能获取request属性值,而转发能获取。      3.因为浏览器要发出一个新请求,所以重定向速度比转发慢!    在实际开发中二则的...

longlovexk 252
上一篇: BufferedWriter与BufferedReader的使用及缓冲原理的了解
下一篇: JSP学习--web开发入门
云贤力
博客等级 码龄15年 3粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值