controller层中,一个使用了session.setAttribute()方法,另一个java文件是否能取到前一个session.setAttribute里的值
时间: 2024-02-29 21:53:31 浏览: 120
JavaWeb基于Session实现的用户登陆注销方法示例
在同一个应用程序中,不同的 Java 文件可以共享同一个 `session`,因此一个 Java 文件中使用 `session.setAttribute()` 方法设置的属性,另一个 Java 文件是可以获取到的。
例如,我们可以在一个 `Controller` 中设置 `username` 属性:
```java
@Controller
public class MyController {
@GetMapping("/setUsername")
public String setUsername(HttpSession session) {
session.setAttribute("username", "张三");
return "success";
}
}
```
在另一个 Java 文件中,我们可以通过以下代码来获取 `username` 属性的值:
```java
public class MyJavaFile {
public void getUsername(HttpSession session) {
String username = (String) session.getAttribute("username");
System.out.println("username = " + username);
}
}
```
需要注意的是,获取 `session` 对象的方式要保持一致。例如,如果在 `Controller` 中是通过方法参数 `HttpSession session` 来获取 `session` 对象的,那么在另一个 Java 文件中也应该通过方法参数来获取 `session` 对象。否则,可能会出现获取不到 `session` 的情况。
阅读全文