一、思路介绍
1.这块内容包含三个部分:
第一、数据库中存放用户登录信息。
第二、登录页面(js验证)。
第三、用户信息验证。
2.各部分功能实现方式介绍
第一、在数据库中写入默认的用户名和密码。
第二、登录页面中有两表单:用户名和密码,这部分要进行js验证,验证用户名和密码长度。
第三、编写另外一个jsp页面用于验证用户名和密码是否和数据库中的一致。
二、代码部分
1.数据库部分就不说了,主要就是一个表,里面包含用户名和密码,下面贴出登录页面的js部分。
<script type="text/javascript">
function checkForm() { var name=document.getElementById("name").value; var pwd=document.getElementById("pwd").value; if(name=="" && name==null ||name.length<5 || name.lenght>20 ) { alert("用户名不能为空且长度在5到20个字符之间"); return false; } if( pwd=="" && pwd==null||pwd.length<6 || pwd.length>16) { alert("密码不能为空且长度在6到16个字符之间"); return false; } return true; } </script>
2.用户登录信息验证部分
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@page import="com.xxxx.core.dao.BaseDao"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <% String name = request.getParameter("name");//获取登录页面中的登录名 String password = request.getParameter("password");//获取登录密码 Map userMap = new BaseDao().queryForMap("select * from userinfo where username='"+name+"'and password='"+password+"'"); //用从登录页面获取到的用户名和密码与数据库中的用户名和密码进行比对。 if(userMap!=null&& userMap.size()>0){//判断用户输入内容在数据库中是否存在, session.setAttribute("LoginUser",userMap);//设置一个session值,用于保存用户登录信息。 response.sendRedirect("welcome.jsp");//如果用户存在则跳转至另外一个页面 }else{ out.println("用户名或密码错误请重新登录");//如果用户不存在则输出错误信息。 } %>
三、总结
这部分涉及到数据库的链接,刚开始做的时候是参考孙鑫老师的《java_web开发详解》中第五章留言板管理程序的内容,在书中数据库连接这部分用的是thin模式,具体内容可参考书中的写法,在这个网址中有更全的thin模式的数据库连接方法http://blog.csdn.net/cm4ever/archive/2004/09/30/121770.aspx。这种方式的明显缺点就是可移植性差,不适合大的工程,所以最好的方法就是将数据库的驱动加载,连接,执行过程封装在一个包里面,用的时候直接引用就好了。这个以我目前的水平做起来是有很大难度的,所以上面的代码都是建立在已经封装好的各种包的基础之上的。这部分的内容待我将我们部门老大的代码研究透之后再贴出来。