首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

见见这个登录和注销是不是还有改进的地方

2012-10-07 
看看这个登录和注销是不是还有改进的地方好久没写 Web 程序了都忘了.临时用的.在网上搜搜写的.回忆一下当

看看这个登录和注销是不是还有改进的地方

好久没写 Web 程序了都忘了.临时用的.在网上搜搜写的.回忆一下当年刚上班时候的感觉.

大家看看是不是还有优化的地方,自己感觉不错 吼吼~~~

?

页面是 JSF 的,后台服务是一个主数据产品.

?

1.登录

?

?

?

3. 过滤器

?

public class CheckLoginFilter implements Filter {public void destroy() {}public void init(FilterConfig filterConfig) throws ServletException {}public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) servletRequest;HttpServletResponse response = (HttpServletResponse) servletResponse;String uid = (String) request.getSession().getAttribute("uid");String request_uri = request.getRequestURI().toLowerCase();// 得到用户请求的URI  String ctxPath = request.getContextPath();// 得到web应用程序的上下文路径  // 登录和错误页面不过滤 if (request_uri.substring(ctxPath.length()).equals("/faces/login.jsp")|| request_uri.substring(ctxPath.length()).equals("/faces/error.jsp")) {filterChain.doFilter(servletRequest, servletResponse);return;}// 另一个系统,要直接嵌入我们的数据页面.封装好的包.登录验证if (LoginReclaim.getInstance().login(request)) {// 已经通过身份认证服务器认证String username = LoginReclaim.getInstance().getUid(request);// 取得登录用户工号request.getSession().setAttribute("uid", username);filterChain.doFilter(servletRequest, servletResponse);return;}// 用户登录验证if (uid == null || "".equals(uid)) {// response.sendRedirect(request.getContextPath() +// "/faces/error.jsp");PrintWriter out = response.getWriter();                 //感觉这里写的挺有意思的,在网上查的.    out.write("<script>window.top.location.href ='"+ request.getContextPath()+"/faces/error.jsp'</script>");     //request.getRequestDispatcher("/faces/error.jsp").forward(request, response);} else {filterChain.doFilter(servletRequest, servletResponse);}}}
?

?

?

热点排行