WEB.XML
<!-- 登录过滤器 -->
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>pub.servlet.LoginFilter</filter-class>
<init-param>
<param-name>redirect</param-name>
<param-value>login.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
java过滤器类public class LoginFilter implements Filter {
private Logger logger = Logger.getLogger(LoginFilter.class);
private String redirect; public void init(FilterConfig param) throws ServletException {
redirect = param.getInitParameter("redirect");
} public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
HttpSession session = req.getSession();
StaffAdmin staff = (StaffAdmin)session.getAttribute("staff");
String path = req.getContextPath();
if(staff == null){
// if(isAjaxRequest(req)){
// res.setStatus(9999);
// RequestUtil.responseOut("GBK", "Login", res);
// }
String lastUrl = req.getRequestURI();
String lastQueryString = req.getQueryString()==null ? "":req.getQueryString();
req.setAttribute("lastUrl", lastUrl + "?" + lastQueryString);
logger.info("试图访问地址:"+req.getAttribute("lastUrl"));
// request.getRequestDispatcher("/"+redirect).forward(request, response);
res.sendRedirect(path+"/"+redirect);
}else{
chain.doFilter(request, response);
}
} public void destroy() {
}
/** 针对jquery的ajax请求 */
private boolean isAjaxRequest(HttpServletRequest request) {
String header = request.getHeader("X-Requested-With");
return (header != null && "XMLHttpRequest".equals(header));
} }
<!-- 登录过滤器 -->
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>pub.servlet.LoginFilter</filter-class>
<init-param>
<param-name>redirect</param-name>
<param-value>login.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
java过滤器类public class LoginFilter implements Filter {
private Logger logger = Logger.getLogger(LoginFilter.class);
private String redirect; public void init(FilterConfig param) throws ServletException {
redirect = param.getInitParameter("redirect");
} public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
HttpSession session = req.getSession();
StaffAdmin staff = (StaffAdmin)session.getAttribute("staff");
String path = req.getContextPath();
if(staff == null){
// if(isAjaxRequest(req)){
// res.setStatus(9999);
// RequestUtil.responseOut("GBK", "Login", res);
// }
String lastUrl = req.getRequestURI();
String lastQueryString = req.getQueryString()==null ? "":req.getQueryString();
req.setAttribute("lastUrl", lastUrl + "?" + lastQueryString);
logger.info("试图访问地址:"+req.getAttribute("lastUrl"));
// request.getRequestDispatcher("/"+redirect).forward(request, response);
res.sendRedirect(path+"/"+redirect);
}else{
chain.doFilter(request, response);
}
} public void destroy() {
}
/** 针对jquery的ajax请求 */
private boolean isAjaxRequest(HttpServletRequest request) {
String header = request.getHeader("X-Requested-With");
return (header != null && "XMLHttpRequest".equals(header));
} }
解决方案 »
- 求一个tomcat7.0.11能正常实用的tomcat-users.XML
- 请教大虾们一个问题 JS触发弹出层显示的
- ajax通过Post传值,但是接收页面怎么娶不到值,值为null
- java循环问题
- 请问如何写计算机软件著作权登记所需材料的鉴别材料之证明文档?
- 在浏览器中不能显示applet小程序!!!`急```
- 大家好,我搞了个论坛,希望大家可以光临,谢谢
- 老问题——插入中文字符到数据库为乱码——看了FAQ有关帖子仍然不解!
- 请问如何在jsp中如何import自己的.jar?
- java开发流程
- The requested resource (/webtest/servlet/hello.html) is not availabl 帮忙解决
- 哪位大神用过xfire做webservice,帮小弟一个忙!!!!!!!
如还有其他疑问或者需要咨询,欢迎加入我们的java开发联盟!
群号:
247286682
期待你的加入,来者请注明 csdn。