struts2转发和重定向(struts2中使用重定向redirect报错404.转发没有问题,使用redirectAction重定向到action没有问题,求解 )

:暂无数据 2026-09-12 06:30:01 :0

struts2转发和重定向(struts2中使用重定向redirect报错404.转发没有问题,使用redirectAction重定向到action没有问题,求解 )

各位老铁们,大家好,今天由我来为大家分享struts2转发和重定向,以及struts2中使用重定向redirect报错404.转发没有问题,使用redirectAction重定向到action没有问题,求解 的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

struts2中使用重定向redirect报错404.转发没有问题,使用redirectAction重定向到action没有问题,求解

哎呀,这是个经典的错误,问题来了,你们老师没告诉你,tomcat项目的结构?
是这样的,tomcat中,为了保证某些页面的安全性(不然用户直接输入路径就能访问)所以有安全目录WEB-INF,这个目录下的所有文件页面都不能输入地址直接访问,否则一律报错,但是可以通过服务器的action或者servlet ,jsp之类的服务端程序(因为服务端程序可以判断逻辑,比如用户是否用权限)读取这里面的页面再将页面写出去,转发就是这个原理,并非访问了那个页面,而是服务器读取了哪个页面然后使用输出流响应回去!
总之,WEB-INF只有服务器写程序才能访问,比如自带的转发,或者你写个文件流也行的,但是客户端(浏览器)是不能直接找到这个目录的(tomcat不会响应和查找这个目录下的文件)!

struts2的第一个action转发或重定向到第二个action

《result name="success" type="redirectAction"》--》
《param name="actionName"》findTeacherInfo《/param》 --》
《param name="id"》${id}《/param》
《/result》
像这个的跳转 ID 需要在action 中用于get set 方法,
id 不是由第一个action 发送参数的,只不过起到了传递参数的作用 通过 set get

struts2中result-type的chain和redirectAction的区别

chain,它是一个琏式的,是从一个Action转发另外一个Aciton,写action的名字即可,并把前一个Action的请求参数和值传给下一个Action,前提是设置了getting方法
《result name="delete_success" type="chain"》listByNoteAction《/result》
redirectAction,是从新请求一个Action,所以之前action里的参素和值并没有带到下一个Action

struts2中redirect和redirectAction chain的区别是什么

首先 redirect:标准的重定向,用于在某一个action处理结束后,重定向到新的 jsp(视图),重定向和转发的区别,这里一个明显的表象就是会丢失值栈范围内的所有携带参数,相当于浏览器重新请求了一个新的视图,URL也会显示请求的页面视图地址(Address);

redirectAction:顾名思义,redirect 用于普通的转向到某一视图,redirectAction 即用来重定向到新的 action ,当然具备了重定向的特征,所以不再详细介绍,但是给您一个例子,如果重定向到页面:type="redirect",location="/index.jsp" 重定向到 action(加入此处重定向到 query.action) type="redirectAction",location="query",如此即是两种重定向方式的写法;

chain:类似于dispatcher 一样,dispatcher是action默认的转向方式,即转发请求到一个新的视图,然而chain即将转发请求到一个新的action中,转发时同样保留转发形式的特征,保持请求参数,以及URL栏中的地址即是第一次请求的路径,写法和redirect 、redirectAction相似;

struts2中怎么把action中的值传递到jsp页面

1.用request.setAttribute()方法,不过只适用于请求转发,不可用于重定向
2.用session.setAttribute()方法
3.用struts2标签,在Java类中定义这个值对象,然后赋值,并且给出setter和getter方法,在jsp页面中,使用
《s:property value=""/》来获取

struts2中 这句是什么意思

返回后进入《result type="redirectAction"》 指定的Action《/result》“指定的Action”中。

简述Struts2中Redirect和Dispatcher的区别

二者都是实现页面的跳转,主要有几个比较大的区别:

先说Redirect,也就是“重定向”,

  1. 浏览器地址栏会发生变化,变为跳转到的url地址;

  2. 重定向可以跳转到任意url地址,不止局限于当前的Web应用;

  3. 在Web应用中,请求的内容在重定向前后不共享;

其过程是:

用户请求-----》服务器-------》组件------》服务器-------》用户-------》新的请求
                                                   (修改用户请求)

再说Struts2里的Dispatcher,作用是“转发”,

  1. 只是服务器端把请求和响应由当前服务器应用转给另外的服务器应用,浏览器地址栏不发生变化;

  2. 转发只能在当前Web应用之下进行,不能跳到别的Web应用去。

  3. Web应用中,请求的内容在转发前后是共享的,也就是说其实请求还是原来那个。

其过程是:

用户请求-----》服务器-------》组件1-------》组件2-------》服务器-------》用户
                                                         (请求不变)

其他还有一些细微差别,不过原理大抵像上面两个图能看懂就彻底明白了。

”转发“和”重定向“其实不仅是Struts2能用,在Web中也是个基础概念,即Servlet/JSP也能用,php, python, ruby,asp.net等涉及Web开发也是一样的。

Struts2 执行了action后,一般是转发到jsp,可以使重定向到jsp吗

可以啊!!!!
另外多说一点,要是你要传递参数的话,会有两种方式,
例如:
第一方式:
参数之间必须使用&。&是&在xml中转义字符
《result name="error" type="redirect"》
/login.jsp?userId=${orgStrucUser.userId}&error=1
《/result》
第二方式:
《result name="error" type="redirect"》
《param name="location"》/login.jsp《/param》
《param name="userId"》${orgStrucUser.userId}《/param》
《param name="error"》1《/param》
《/result》

请问怎么在jsp上实现页面跳转但是浏览器的url不变,或者怎么配置struts2

  你得了解“请求转发”和“重定向”的区别,这两者都能实现页面跳转:
  “请求转发”时,变量至少在request范围共享,浏览器url不变,但只能在当前webapp下进行;
  “重定向”时,变量不共享,浏览器url变为跳转到的页面,可以是任意(包括外网)的页面。
  struts2里是通过设置struts.xml里面《result》标签的type属性设置的:
  《result type="request" name="xxxx"》(默认)或《result name="xxxx"》就对应“请求转发”
《result type="redirect name="xxxxx"》就对应“重定向”。
  综上,你说的“jsp上实现页面跳转但是浏览器的url不变”就得用“请求转发”,而你后面说的“怎么配置struts2才能让转到外网的页面”得用“重定向”,二者是冲突的,不可能实现。

关于struts2转发和重定向,struts2中使用重定向redirect报错404.转发没有问题,使用redirectAction重定向到action没有问题,求解 的介绍到此结束,希望对大家有所帮助。

struts2转发和重定向(struts2中使用重定向redirect报错404.转发没有问题,使用redirectAction重定向到action没有问题,求解 )

本文编辑:admin

更多文章:


mariadb忘记密码(mysql用户密码忘记了怎么办)

mariadb忘记密码(mysql用户密码忘记了怎么办)

大家好,mariadb忘记密码相信很多的网友都不是很明白,包括mysql用户密码忘记了怎么办也是一样,不过没有关系,接下来就来为大家分享关于mariadb忘记密码和mysql用户密码忘记了怎么办的一些知识点,大家可以关注收藏,免得下次来找不

2026年10月15日 07:50

mysql端口号(如何查看自己数据库的端口号)

mysql端口号(如何查看自己数据库的端口号)

“mysql端口号”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看mysql端口号(如何查看自己数据库的端口号)!

2026年10月15日 06:30

printf打印16进制(C语言 十六进制怎么输出)

printf打印16进制(C语言 十六进制怎么输出)

大家好,今天小编来为大家解答以下的问题,关于printf打印16进制,C语言 十六进制怎么输出这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 06:00

avantage怎么设置为中文(Avantage安装丢失GIT)

avantage怎么设置为中文(Avantage安装丢失GIT)

大家好,如果您还对avantage怎么设置为中文不太了解,没有关系,今天就由本站为大家分享avantage怎么设置为中文的知识,包括Avantage安装丢失GIT的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月15日 03:00

ospf协议的作用是什么(OSPF路由协议的作用是什么)

ospf协议的作用是什么(OSPF路由协议的作用是什么)

“ospf协议的作用是什么”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看ospf协议的作用是什么(OSPF路由协议的作用是什么)!

2026年10月15日 02:40

方案对比特效js(在一个网页中如何实现两个JS特效)

方案对比特效js(在一个网页中如何实现两个JS特效)

各位老铁们好,相信很多人对方案对比特效js都不是特别的了解,因此呢,今天就来为大家分享下关于方案对比特效js以及在一个网页中如何实现两个JS特效的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 02:10

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

今天给各位分享登陆视频监控网页时提示activex控件未注册,怎么解决的知识,其中也会对登陆视频监控网页时提示activex控件未注册,怎么解决进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:30

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

今天给各位分享用C语言编程学生信息管理系统!的知识,其中也会对用C语言编程学生信息管理系统!进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:20

excel连接sql数据库教程(excel怎么连接sql数据库)

excel连接sql数据库教程(excel怎么连接sql数据库)

本篇文章给大家谈谈excel连接sql数据库教程,以及excel怎么连接sql数据库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月14日 19:40

null s brawl(null和空字符有区别吗)

null s brawl(null和空字符有区别吗)

今天给各位分享null和空字符有区别吗的知识,其中也会对null和空字符有区别吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 19:00

最近更新

热刺vs马赛比赛(热刺赛程比分)
2026-10-15 09:10:01 浏览:0
热门文章

标签列表