SSM框架中在session中存int类型并获取
时间: 2024-09-29 10:08:40 浏览: 39
在SSM(Spring + SpringMVC + MyBatis)框架中,如果要在会话(Session)中存储整型(int类型)数据,通常我们会使用Spring Session或直接在HttpServletRequest对象上操作,因为HTTP请求上下文是线程绑定的。
1. **Spring Session** (基于Redis或Memcached等实现):如果你启用了Spring Session,可以在`HttpSession`接口的`setAttribute()`方法中存储整型数据,示例如下:
```java
@Autowired
private HttpSession session;
public void saveIntToSession(int value) {
session.setAttribute("myInt", value);
}
```
然后,其他地方可以通过`getAttribute()`方法获取这个值:
```java
int myInt = (Integer) session.getAttribute("myInt");
```
记得在`@Controller`或`@Service`的方法结束时清理session,以防止内存泄漏。
2. **直接在HttpServletRequest中**:如果你的项目没有启用Spring Session,可以使用`HttpServletRequest`对象,它也是线程安全的:
```java
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
request.getSession().setAttribute("myInt", value);
```
获取时同样从`HttpServletRequest`获取:
```java
int intValue = (Integer) request.getSession().getAttribute("myInt");
```
阅读全文