Shiro中javax.servlet.ServletRequest和javax.servlet.ServletResponse类冲突问题解决

在SpringBoot3.0以上版本,需要Java 17,并且使用的是Jakarta EE命名空间。

为了解决shiro中javax.servlet.ServletRequest、javax.servlet.ServletResponse与现在的Jakarta.servlet.ServletRequest、Jakarta.servlet.ServletResponse冲突问题,

可以修改Shiro的依赖

<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.13.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-web</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
        </exclusion>
    </exclusions>
    <classifier>jakarta</classifier>
</dependency>
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-core</artifactId>
    <version>1.13.0</version>
    <classifier>jakarta</classifier>
</dependency>
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-web</artifactId>
    <version>1.13.0</version>
    <classifier>jakarta</classifier>
</dependency>
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>

shiro2.0版本还在测试中,后续会使用Jakarta的命名空间。

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Apache Shiro,您可以使用`org.apache.shiro.web.servlet.SimpleCookie`来创建和设置Cookie对象,并将SameSite属性设置为STRICT。以下是一个示例代码: ```java import org.apache.shiro.web.servlet.SimpleCookie; // 创建一个SimpleCookie对象 SimpleCookie cookie1 = new SimpleCookie("cookie1"); cookie1.setValue("value1"); cookie1.setSameSite("Strict"); // 设置SameSite属性为STRICT SimpleCookie cookie2 = new SimpleCookie("cookie2"); cookie2.setValue("value2"); cookie2.setSameSite("Strict"); // 设置SameSite属性为STRICT // 将Cookie转换为字符串,添加到响应头 String cookie1String = cookie1.toServletString(); String cookie2String = cookie2.toServletString(); // 将Cookie添加到响应头 response.addHeader("Set-Cookie", cookie1String); response.addHeader("Set-Cookie", cookie2String); ``` 在这个示例,我们使用`SimpleCookie`创建了两个Cookie对象,并将其SameSite属性设置为STRICT。然后,使用`toServletString()`方法将每个Cookie对象转换为字符串表示形式,并将其添加到响应头的Set-Cookie标头。 请注意,上述示例的`response`对象是一个`javax.servlet.http.HttpServletResponse`型的对象,您需要根据您的实际情况进行调整。同样,您需要根据您的代码逻辑和框架来获取`response`对象。 这种方法适用于使用Apache Shiro框架的Java应用程序,以设置响应标头的Set-Cookie值,并将SameSite属性设置为STRICT。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值