📄 httpcontext.java
字号:
package com.eline.vod;
import java.security.Principal;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.eline.vod.security.Users;
import com.eline.vod.security.model.User;
/**
* Http上下文
* @author Lucifer
*
*/
public class HttpContext {
/**
* 本地线程槽数据
*/
private static ThreadLocal threadSlotData = new ThreadLocal() {
protected Object initialValue() {
return null;
}
};
public static synchronized HttpContext getCurrent() {
return (HttpContext) threadSlotData.get();
}
public static synchronized void setCurrent(HttpContext ctx) {
threadSlotData.set(ctx);
}
private HttpServletRequest request;
private HttpServletResponse response;
private User user;
public HttpContext() {
request = null;
response = null;
user = null;
}
public HttpContext(HttpServletRequest request, HttpServletResponse response) {
this.init(request, response);
}
public void init(HttpServletRequest request, HttpServletResponse response) {
this.request = request;
this.response = response;
user = null;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
public User getUser() {
Principal p = request.getUserPrincipal();
if (user == null || !user.getUserName().equalsIgnoreCase(p.getName())) {
if (p != null) {
User newUser = Users.getUser(0, p.getName(), true, true);
if (newUser != null && !newUser.isAnonymous())
user = newUser;
}
if (user == null)
return Users.getAnonymousUser(true); // 匿名用户比较多的情况,从缓冲区获取信息
}
return user;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -