每一个servlet都要执行的操作怎么优化基本上每个servlet都要有以下这段代码,怎么优化好呢?
private static Logger log = Logger.getLogger(【这里是对应类的class】);
HttpSession session = request.getSession();
String renrenUserId = (String) session.getAttribute("renrenUserId");
String sessionKey = (String) session.getAttribute("sessionKey");
log.info("sessionKey:" + sessionKey + ",userid:" + renrenUserId);
RenrenApiClient apiClient = new RenrenApiClient(sessionKey); if (sessionKey != null && renrenUserId != null) {
private static Logger log = Logger.getLogger(【这里是对应类的class】);
HttpSession session = request.getSession();
String renrenUserId = (String) session.getAttribute("renrenUserId");
String sessionKey = (String) session.getAttribute("sessionKey");
log.info("sessionKey:" + sessionKey + ",userid:" + renrenUserId);
RenrenApiClient apiClient = new RenrenApiClient(sessionKey); if (sessionKey != null && renrenUserId != null) {
private boolean flag = false;
public synchronized boolean isFlag() {
return flag;
} public synchronized void setFlag(boolean flag) {
this.flag = flag;
} @Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Logger log = Logger.getLogger(Object.class);
HttpSession session = request.getSession();
String renrenUserId = (String) session.getAttribute("renrenUserId");
String sessionKey = (String) session.getAttribute("sessionKey");
log.info("sessionKey:" + sessionKey + ",userid:" + renrenUserId);
RenrenApiClient apiClient = new RenrenApiClient(sessionKey); this.setFlag(getMethod(sessionKey, renrenUserId));
}
private boolean getMethod(String sessionKey,String renrenUserId){
if (sessionKey != null && renrenUserId != null) {
return this.isFlag();
}
return false;
}
}
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("aa");
super.service(request, response);
if(this.isFlag()){
//......
}
}
}
if(this.isFlag()){这里用this获得不到isFlag。你的意思我明白,但是如果isFlag为false,这里面就不执行了,这逻辑不对啊。