struts2配置https协议

本文介绍了如何在Struts2框架下配置HTTPS协议。首先,需要升级Struts2到2.1.18及以上版本并替换相关jar包。接着,引入struts2-ssl-plugin.jar,设置struts.xml中的SSL配置,指定HTTP和HTTPS端口。通过继承'ssl-default'包并使用@Secured注解来限制某些方法仅允许HTTPS访问。同时,对于jsp页面的base标签,可以通过获取请求信息动态设置,确保链接使用HTTPS。
部署运行你感兴趣的模型镜像

最近,客户要求项目都是https的协议,后来服务器就加上了负载均衡将web发出的https协议转化成http协议。实际上tomcat服务器使用的还是http来接受请求的,所以只能配置Struts和一些重定向请求。


一、过程(

1.升级Struts2,我用的时候必须struts必须是2.1.18版本以上(包括2.1.18),主要是替换两个包,一个是struts2-core-2.x.xx.jar,一个是xwork-core-2.x.xx.jar,替换这两个包。必要时要删除struts2-codebehind-plugin-2.x.xx.jar这几个插件包,不然会报错

2.加入struts2-ssl-plugin.jar这个包,并在struts加入相应的代码,可以参考这儿

1、 在Struts.xml中加上如下的设置:

<constant name="struts2.sslplugin.httpPort" value="8080"/> //对应tomcat http协议请求的端口号
<constant name="struts2.sslplugin.httpsPort" value="8443"/> //对应tomcat https协议请求的端口号
<constant name="struts2.sslplugin.annotations" value="true"/> 
<package name="stu"  namespace="/" extends="ssl-default,json-default"> //必须继承ssl-default

注:不要添加ssl的拦截器,否则无法获取request的信息(cookie)。

2、 之后在使用到ssl方法前或是action钱加上注释就ok了。

       @Secured

public String login() throw Exception{

   ........

return SUCCESS;

}

@Secured

public class UserAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{

   ........

各种方法

}


jsp页面的base标签是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。 

你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。

jsp页面可以定义:<% String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>

在head标签后加上<base href="<%=basePath%>" >即可。


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值