您的位置:首页 > 编程语言 > Java开发

Javaweb 判断是否登陆,否则则调回登陆界面,也就是session管理

2016-10-28 20:14 204 查看
   为了实现Javaweb 判断是否登陆,否则则调回登陆界面,也就是session管理这样的功能,防止用户直接输入网址访问,需要提醒他登陆,可以在struct2的web.xml添加一个自定义的过滤器,如下web.xml配置:

<filter>
<filter-name>access filter</filter-name>
<filter-class>rms.filter.unlogin.AccessFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>access filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

      上面要注意的是自定义的写在系统的过滤器前面,否则不会有效果,自定义的过滤器代码如下:
package rms.filter.unlogin;

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.HttpServletResponse;
import javax.servlet.http.HttpSession;

import rms.Parameters;

public class AccessFilter implements Filter {

@Override
public void destroy() {
// TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
HttpSession session = request.getSession();
String userName = (String) session.getAttribute(Parameters.USERNAME);
String uri = request.getRequestURI();

// 除了登录页面以外的页面和登录action以外,检查登录情况,未登录的需要重定向并且不通过过滤
if (uri.indexOf("index.jsp") == -1 && uri.indexOf("loginProcess.action") == -1) {
if (uri.indexOf("media") < 0) {
if ((userName == null || userName.equals(""))) {
response.sendRedirect("index.jsp");
return;
}
}
}
chain.doFilter(req, resp);
}

@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  session java web
相关文章推荐