servlet service,dao层次获取当前用户信息
时间: 2024-03-21 16:41:05 浏览: 18
在servlet中获取当前用户信息,可以通过HttpServletRequest对象获取。例如可以使用以下代码获取当前用户的用户名:
```
String username = request.getRemoteUser();
```
在DAO层获取当前用户信息,可以通过在DAO层传递当前用户信息的方式进行。可以将当前用户信息保存在ThreadLocal中,在需要的时候从ThreadLocal中获取。
例如,在DAO层中定义一个CurrentUser类,用于保存当前用户信息:
```
public class CurrentUser {
private static final ThreadLocal<String> currentUser = new ThreadLocal<>();
public static void setCurrentUser(String username) {
currentUser.set(username);
}
public static String getCurrentUser() {
return currentUser.get();
}
public static void clearCurrentUser() {
currentUser.remove();
}
}
```
在servlet中,调用CurrentUser.setCurrentUser()方法设置当前用户信息:
```
CurrentUser.setCurrentUser(request.getRemoteUser());
```
在DAO层中,可以通过CurrentUser.getCurrentUser()方法获取当前用户信息。
```
String username = CurrentUser.getCurrentUser();
```