servlet+jsp+sql server 实现的一个java web大学生活动管理系统

本文适合javaweb初学者,介绍了使用eclipse开发、servlet+jsp技术、sqlserver数据库和tomcat7.0的系统实践。系统功能包括图形验证码登录验证、正则表达式判断密码强度以及利用过滤器处理退出登录操作。
摘要由CSDN通过智能技术生成

本文章、本系统适用于java web方面的初学者,本文主要总结一下该系统运用到的一些基础知识点。本系统使用的开发工具是eclipse,使用的技术主要就是servlet+jsp,使用的数据库是sql server, tomcat 版本为7.0。
系统首页图如下:
在这里插入图片描述

一、本系统使用图形验证码进行登陆验证
在这里插入图片描述

1、导入第三方的jar包
在这里插入图片描述

2、页面中的代码实现,在点击事件中使用随机数来保证每次刷新验证码的请求参数不会重复
在这里插入图片描述
3、servlet中的代码实现
在这里插入图片描述

二、本系统使用正则表达式来检测密码强度
在这里插入图片描述
在这里插入图片描述
servlet中使用正则表达式判断的代码:

		String password1=request.getParameter("password");//获取输入的密码
		String password2=request.getParameter("password2");//获取输入的确认密码
		String regex = "^(?!([a-zA-Z]+|\\d+)$)[a-zA-Z\\d]{6,20}$";//设置正则表达式
		boolean matches = password1.matches(regex);//判断密码中是否含有字母和数字,若有则matchs为真,否则为假
		if(password1.length()<=6) {
			//如果密码长度小于6则提示并不允许注册
			response.getWriter().write("<script type='text/javascript'>alert('密码长度要大于六位!!!');window.location='"+request.getContextPath()+"/userregister.jsp'</script>");
			return;
		}
		if(!matches) {
			//如果matchs为假则密码中不包含字母和数字,不允许注册
			response.getWriter().write("<script type='text/javascript'>alert('密码要同时包含字母和数字!!!');window.location='"+request.getContextPath()+"/userregister.jsp'</script>");
			return;
		}
		if(!password1.equals(password2)) {
			//如果密码和确认密码不一致,则不允许注册
			response.getWriter().write("<script type='text/javascript'>alert('两次密码不一致!!!');window.location='"+request.getContextPath()+"/userregister.jsp'</script>");
			return;
		}

三、本系统使用过滤器解决系统退出问题
在这里插入图片描述
在这里插入图片描述

1、用户或者管理员点击退出登陆的按钮之后要将其信息给清除,代码如下:

		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		HttpSession session = request.getSession();//定义session
		session.removeAttribute("username");//获取session中的用户名
		response.sendRedirect("userlogin.html");//重定向到登陆页面

2、访问需要用户信息的页面时要通过过滤器进行检测,没有则阻止访问,有则放行,代码如下:

        //1.强制转换
        HttpServletRequest request = (HttpServletRequest) req;
        //2.获取请求资源路径
        String requestURI = request.getRequestURI();
        //3.判断是否包含登录相关资源路径,同时排除css,js,图片等
        if (requestURI.contains("/userlogin.html") || requestURI.contains("/userloginservlet")||requestURI.contains("/userregister.jsp")||requestURI.contains("/userregisterservlet")||requestURI.contains("/folder.jsp")||requestURI.contains("/validatecodeservlet")||requestURI.contains("/css/")||requestURI.contains("/js/")||requestURI.contains("/images/")) {
            //放行
            chain.doFilter(req, resp);
        } else {
            //4.判断是否登录
            Object user = request.getSession().getAttribute("username");
            if (user != null) {
                //已登录,放行
                chain.doFilter(req, resp);
            }else {
                //未登录,跳转登陆页面
                request.setAttribute("login_msg","您未登录");
                PrintWriter out = resp.getWriter();
    			out.print("<script language='javascript'>alert('Please login first!');window.location.href='userlogin.html';</script>");
            }
        }

最后如果需要完整系统资源的可以v俺(备注来源):ES-Lad或者点此下载

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值