目前遇到这样一个问题
网站放在内网,IP地址为192.168.0.22,通过APACHE反向代理对外发布。
其他内容都正常,但是凡是结果类型为redirect-action的步骤,在浏览器IP地址中都显示出内网IP192.168.0.22,结果无法显示。
查看STRUTS 2源代码,发现redirect-action类型中的转向使用的是绝对URL,即获取当前网站的URL,也就是内网URL,这是问题的根本原因。
使用APACHE的URL重写机制或许可能解决,但是过于复杂。另外觉得REDIRECT-ACTION的这种绝对URL方式或许是不妥的。
请教诸位大侠
1.有无遇到此类问题
2.如何解决?
分享到:
相关推荐
在实际开发中,使用Struts2 2.5.22时,开发者需要了解Action、Result、Interceptor的基本概念,以及如何编写Action类、配置Struts.xml文件,还要掌握OGNL的使用来绑定数据。同时,为了提高安全性和性能,还需要关注...
方案 2:重写 Struts2 DefaultActionMapper 的 handleSpecialParameters 方法,增加action、redirect、redirectAction 等参数的过滤 这个方案是通过重写 Struts2 的 DefaultActionMapper 的 ...
1. 当Action执行完成后,如果配置了`resultType="redirectAction"`,Struts2会生成一个重定向URL。 2. 这个URL包含了Action的名字、Namespace以及可能的参数。 3. 浏览器收到这个重定向响应,然后根据URL发起新的...
### Struts2 Result 转向到 Action 的深入解析 #### 一、基本概念与应用场景 ...同时,了解 `redirect` 和 `redirect-action` 之间的区别对于正确配置 Struts2 应用至关重要,这有助于避免不必要的错误和性能问题。
在 Struts2 框架中,Redirect 和 Redirect-action 是两个不同的 Result 配置类型。Redirect 配置用于重定向到一个新的 URL,而 Redirect-action 配置用于重定向到一个 Action。 Redirect-action 配置可以省略后缀名...
6. **OGNL(Object-Graph Navigation Language)**:Struts 2使用OGNL作为表达式语言,用于在Action与视图之间传递数据,以及在配置文件中设置属性。 7. **插件系统**:Struts 2的插件机制允许快速集成第三方库,...
在这个场景中,我们将深入探讨如何使用`URL Rewrite Filter`来重写Struts2的Action。 首先,让我们理解`URL Rewrite Filter`的基本概念。这个工具提供了一种方式,通过配置XML文件(如`urlrewrite.xml`)来定义一...
4. **结果类型**:Struts 2支持多种结果类型,如dispatcher(默认的JSP渲染),stream(处理文件下载),redirect(重定向URL)等,这些结果类型在Action配置中定义。 5. **标签库**:Struts 2提供了一系列的标签库...
4. **插件体系**:Struts 2支持丰富的插件,例如 strut2-convention-plugin 提供了约定优于配置的特性,使得Action类和方法的命名可以直接映射到URL,大大简化了配置工作。其他插件如 strut2-dojo-plugin 支持 dojo ...
4. **结果类型**:Struts 2支持多种结果类型,如dispatcher(转发到JSP页面)、stream(处理二进制数据如文件下载)、redirect(重定向URL)等。结果类型通过配置可以指定Action执行后的跳转行为。 5. **插件系统**...
5. **OGNL (Object-Graph Navigation Language)**: Struts 2中的表达式语言,用于在Action和视图之间传递数据,如在JSP中使用`<s:textfield>`标签直接访问Action的属性。 6. **Struts标签库**: 提供了一系列的JSP...
3. `location`:这个属性定义了Action执行后要跳转的目标资源路径,可以是相对路径或绝对URL。如果`type`是"dispatcher",那么`location`通常是JSP页面的路径;如果是"redirect",则可能是完整的URL。 4. `param`:...
5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,它用于在Action和视图之间传递数据。开发者可以通过OGNL表达式在JSP页面上直接访问Action的属性,或者在Action中获取请求参数。 ...
2. **redirect**:重定向到一个新的URL,浏览器地址栏会显示新的URL。这在防止重复提交时很有用。 ```xml <result type="redirect">/welcome.action ``` 3. **redirectAction**:重定向到另一个Action,可以传递...
Struts2支持多种Result类型,如dispatcher(用于转发到JSP页面)、redirect(用于重定向)等。 4. **Interceptor(拦截器)**:拦截器是Struts2的一大特色,它允许开发者在Action调用前后插入自定义的逻辑,如权限...
2. 安全增强:Struts 2.3.7可能会修复已知的安全漏洞,如OGNL注入问题,确保应用免受潜在攻击。 3. 新功能添加:可能引入了新的API或者动作标签,以支持更多的开发需求,如更强大的数据绑定和表单处理能力。 4. API...
5. **OGNL(Object-Graph Navigation Language)**:Struts 2内部使用OGNL作为表达式语言,用于在Action与视图之间传递数据。开发者可以通过OGNL在JSP页面上直接访问Action的属性,或者在Action中设置模型数据。 6....
6. **结果类型(Result Types)**:Struts 2 支持多种结果类型,如 `dispatcher`(默认,用于转发到 JSP 页面)、`stream`(用于下载文件)和 `redirect`(用于重定向到另一个 URL)。 7. **国际化与本地化**:...
综上所述,Struts2的路径问题可能涉及多个层面,包括Action配置、结果类型设置、静态资源访问策略、插件和拦截器的使用,以及URL重写和部署配置等。解决这些问题通常需要对Struts2的工作原理有深入理解,并能熟练...