?? loginfilter.java
字號:
/**
*
*/
package exam.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.lf5.LogRecordFilter;
import exam.dao.User;
public class Loginfilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpSession session = httpRequest.getSession();
// 獲得session,對session進行檢測
String url = httpRequest.getRequestURI();
System.out.println("url: " + url);
// 獲得url
String str[] = url.split("/");
String pic = null;
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
// 根據url和session進行權限判斷。
// 如果訪問的是公開頁面,則不攔截
if (str.length > 2) {
pic = str[2];
url = url.substring(url.lastIndexOf('/'));
if (url.equals("/index.jsp") || url.equals("/zhuce.jsp")||url.equals("/login.jsp")
|| pic.equals("style.css")) {
chain.doFilter(request, response);
} else {
// 如果不是公開頁面
User user = (User) session.getAttribute("user");
if (null == user) {
request.getRequestDispatcher("/index.jsp").forward(request,
response);
} else {
System.out.println("helloworld");
chain.doFilter(request, response);
}
}
} else {
chain.doFilter(request, response);
}
}
public void init(FilterConfig arg0) throws ServletException {
}
public boolean isLoggable(LogRecordFilter arg0) {
// TODO Auto-generated method stub
return false;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -