📄 allfilter.java
字号:
package com.qhit.sys;
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;
public class AllFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
HttpServletRequest req = (HttpServletRequest) request;
// 如果是进后台则要判断用户有没有登陆
if (req.getServletPath().indexOf("/main/") >= 0) {
// 如果是进入登陆后台的登陆页面或执行用户名密码验证则不用检查
if ((req.getServletPath().indexOf("/main/index.jsp") >= 0)
|| (req.getServletPath().indexOf(
"/main/LoginAction.login.do") >= 0)) {
chain.doFilter(req, response);
} else {
Object obj = req.getSession().getAttribute("userid");
// 用户没有登陆则转向到登陆页面
if (obj == null) {
request.setAttribute("message", "用户没有登陆或登陆已超时,请重新登陆!");
request.getRequestDispatcher("/index.jsp").forward(req,
response);
} else if ("licip".equals(obj)) {
chain.doFilter(req, response);
} else {
// 用户有登陆,但不是admin用户不能进后台
request.setAttribute("message", "用户" + obj
+ "不能登陆后台,请用登陆后台的用户名登陆!");
request.getRequestDispatcher("/index.jsp").forward(req,
response);
}
}
} else {
chain.doFilter(req, response);
}
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -