-
关于struts2的https与http的切换问题20
本人已在tomcat上配置了ssl协议,测试后运行成功。问题是现在所有在该tomcat上跑的项目都要用https方式去访问,现本人想通过一些方法能使访问在https与http之间切换。
本人现在用的框架是struts2,在网上找了个struts2的ssl插件 struts2-ssl-plugin 但是尝试了很久还是未果,每次都是以http方式访问时就出现页面不存在,而且还不是tomcat的报错页面,本人在网上搜索相关资料,收获甚少,希望各位牛人能帮助本人解答下。
以下是部分代码,
struts.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.custom.i18n.resources" value="Resource"/> <constant name="struts.mapper.class" value="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper"></constant> <constant name="struts.enable.SlashesInActionNames" value="true"></constant> <constant name="struts2.sslplugin.httpPort" value="8080"></constant> <constant name="struts2.sslplugin.httpsPort" value="8443"></constant> <constant name="struts2.sslplugin.annotations" value="true"></constant> <include file="helloworld.xml"></include> </struts>
------------------------------------------------------------------------------------------------------------------------
helloworld.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="SSL" extends="ssl-default"> <interceptors> <interceptor-stack name="SecureStack"> <interceptor-ref name="secure"> <param name="httpsPort">443</param> </interceptor-ref> <interceptor-ref name="defaultStack"/> </interceptor-stack> </interceptors> <action name="helloWorldSSL/*" class="com.product.action.HelloWorldSSL"> <result>/example/methodShow.jsp</result> </action> </package> </struts>
-----------------------------------------------------------------------------------------------------------------------
HelloWorldSSL.java:
package com.product.action; import com.googlecode.sslplugin.annotation.Secured; public class HelloWorldSSL extends SupportAction { /** * */ private static final long serialVersionUID = -4121768069718140948L; public String doIt(){ super.request.setAttribute("result", "It's not SSL."); return super.SUCCESS; } @Secured public String doItSSL(){ super.request.setAttribute("result", "It's SSL."); return super.SUCCESS; } }
--------------------------------------------------------------------------------------------------------------------
ssl.jsp:
<%@ page language="java" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <form action="<%= basePath %>helloWorldSSL/!doIt" method="get"> <input type="submit" value="edit"/> </form> <form action="<%= basePath %>helloWorldSSL/!doItSSL" method="get"> <input type="submit" value="edit"/> </form> </body> </html>
-----------------------------------------------------------------------------------------------------------------------
methodShow.jsp:
<%@ page language="java" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> ${result } </body> </html>
-------------------------------------------------------------------------------------------------------------------------
以上本人是结合了struts2.1的新功能Restful2
struts2-ssl-plugin相关资料:http://code.google.com/p/struts2-ssl-plugin/2010年1月25日 11:01
目前还没有答案
相关推荐
从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...
本教程将深入讲解如何在Struts2框架中实现中英文切换功能。 1. **创建资源文件**: 在Struts2国际化过程中,关键在于使用资源文件来存储不同语言的文本。资源文件通常命名为`XX.properties`,其中`XX`代表语言代码...
- 考虑处理HTTP和HTTPS之间的会话管理,避免因切换协议导致的会话丢失问题。 - 在生产环境中,不要忘记更新为正式的SSL证书,而非测试或自签名证书。 通过以上步骤,你可以成功地在Struts2应用中集成`struts-ssl-...
以下是实现Struts2国际化语言切换的详细步骤: 1. **创建资源包**: 首先,你需要为每种支持的语言创建一个资源包。资源包通常是以.properties为后缀的文本文件,例如`message_zh_CN.properties`(中文)和`...
在本文中,我们将探讨如何在Struts2框架下利用jQuery实现无刷新分页,解决描述中提到的问题。 首先,让我们了解无刷新分页的基本概念。无刷新分页是指用户在浏览页面内容时,无需手动刷新整个页面即可切换到不同的...
### Struts2技术内幕——深入解析Struts2架构设计与实现原理 ...通过深入了解其架构设计与实现原理,不仅可以帮助开发者更好地掌握Struts2的使用方法,还能提升解决问题的能力,从而提高开发效率。
下面我们将深入探讨如何在Struts2中实现国际化和多语言切换。 **一、国际化(i18n)基础** 国际化是指软件设计时考虑到不同地区的文化差异,使得软件可以通过简单的配置和扩展就能适应各种语言环境。在Java中,我们...
以下将详细阐述实现Struts2国际化自动切换语言的过程。 1. **资源配置文件**: - `globalMessage.properties`:这是默认的资源配置文件,存放通用的国际化信息。 - `globalMessage_zh_CN.properties`:中文资源...
- Struts2框架是Apache软件基金会的开源项目,它是Struts1的升级版,解决了许多Struts1存在的问题,提供了更灵活的控制流程和更好的性能。 - MVC模式:Struts2遵循MVC设计模式,将业务逻辑、数据和用户界面分离,...
8. **国际化(i18n)支持**:Struts2提供对多语言的支持,通过资源包(Properties文件)可以轻松实现界面语言的切换。 9. **异常处理**:Struts2允许全局或局部地处理应用程序中的异常,提供了一种优雅的方式来管理...
8. **国际化与本地化**:Struts 2支持多语言环境,可以通过资源包(properties文件)实现内容的国际化,根据用户的浏览器设置动态切换语言。 9. **数据校验**:Struts 2提供了丰富的数据校验机制,可以在Action类中...
以下是关于Struts2框架以及其与Spring框架整合的关键知识点: 1. **Struts2框架基础**: - **MVC模式**:Struts2基于MVC设计模式,将业务逻辑、数据和用户界面分离,提高代码的可维护性和可重用性。 - **Action类...
8. **国际化(Internationalization, i18n)**:Struts2支持多语言环境,通过资源包(Properties文件)实现不同语言的切换,提供更好的用户体验。 9. **异常处理**:Struts2允许定义全局和Action级别的异常处理策略...
#### 一、Struts2的历史背景与起源 Struts2作为一款备受关注的企业级Web开发框架,在Java Web开发领域占据着举足轻重的地位。尽管Struts2声称自身是一个全新的框架,但从其发展历程来看,这种说法仅仅是从与前一代...
Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是Action类,它是业务逻辑和视图之间的桥梁。通过使用拦截器,Struts2能够提供诸如输入验证...
6. **国际化(i18n)与主题(Theme)**:Struts 2提供了内置的支持,方便开发者实现多语言和界面风格的切换。 7. **插件架构**:Struts 2的插件体系使得扩展和定制变得简单,如 strut2-dojo-plugin 提供了与Dojo ...
为了构建复杂的企业级应用,Struts2通常会与其他框架如Hibernate(用于ORM)、Spring(用于IOC和AOP)集成,形成一套完整的开发解决方案。 #### 12. 实战项目示例 通过一系列实战项目,如投票管理系统、无纸化办公...
9. **国际化与本地化**:Struts2支持多语言环境,通过资源包(Properties文件)来实现国际化,可以轻松切换不同地区的语言显示。 10. **集成Spring框架**:Struts2可以无缝集成Spring,将Action实例的创建和管理...
在Struts2中,这个库提供了一个统一的日志接口,方便开发者进行调试和问题追踪。 总的来说,这些jar包共同构建了Struts2框架的基础架构,使得开发者可以高效地开发出符合MVC设计模式的Web应用,同时具备良好的可...