用户注册、登录系统设计采用的软件:Mysql+Tomcat6.0+Myeclipse 7.01.数据库的设计:2.程序实现思路:如果要完成用户登录,则一定要有一个表单页面,此页面可以输入登录用户名和密码,然后将这些信息提交到一个验证的jsp页面上进行数据库的操作验证,如果可以查询到用户名和密码,那么就表示此用户是合法用户,则可以跳转到登录成功页。
如果没有查询到表示此用户是非法用户,应该跳转到错误页面提示。
3.用户注册页面:registerForm.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><body><form action="register.jsp" method="post"><td colspan="1">用户注册:</td><td>用户名:</td><td> <input type="text" name="username"> </td><td>密码:</td><td> <input type="password" name="userpassword"> </td><input type="submit" value="注册"><input type="reset" value="重置"></form> </body></html>跳转到的注册页面:register.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@ page import="java.sql.*" %><body><%request.setCharacterEncoding("gb2312");//设置接收编码格式String requsername=request.getParameter("username");//接收参数usernameString reqpassword=request.getParameter("userpassword");//接收参数password%><%String url="jdbc:mysql://localhost:3306/javaweb"; //url地址,javaweb是数据库名称String user="root";String password="root";Connection conn=null;PreparedStatement pstmt=null;try{Class.forName("com.mysql.jdbc.Driver");//加载jdbc驱动程序conn=DriverManager.getConnection(url,user,password);//连接MYsql数据库}catch(ClassNotFoundException e){out.println("找不到驱动类");//抛出异常,提示错误}catch(SQLException e){out.println("连接数据库失败!");}try{String adduser="insert into user values(null,?,?)";//增加一条用户信息pstmt=conn.prepareStatement(adduser); //创建语句对象prepareStatementpstmt.setString(1,requsername);//设置参数,接收到的用户名pstmt.setString(2,reqpassword);//设置参数,接收到的密码pstmt.executeUpdate();//添加注册用户out.println("用户注册成功,请登录");}catch(SQLException e){out.println("添加用户信息失败!");}//关闭数据库连接try{if(pstmt!=null){pstmt.close(); //关闭预处理语句对象pstmt=null;}if(conn!=null){conn.close();//关闭数据库连接conn=null;}}catch(Exception e){out.println("数据库关闭异常!");}%><jsp:forward page="login.jsp"></jsp:forward></body></html>界面:4.用户登录:login.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><form action="login_check.jsp" method="post"> //页面跳转<td>用户名:</td><td> <input type="text" name="username"> </td><td>密码:</td><td> <input type="password" name="userpassword"> </td><input type="submit" value="登录"><input type="reset" value="重置"></form> </body></html>5.用户验证页面:login_check.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@ page import="java.sql.*" %><title>登录验证</title><body><%request.setCharacterEncoding("gb2312");//设置接收编码格式String requsername=request.getParameter("username");//接收参数username String reqpassword=request.getParameter("userpassword");//接收参数password %><%String url="jdbc:mysql://localhost:3306/javaweb";String user="root";String password="root";Connection conn=null;ResultSet rs=null;boolean flag=false;PreparedStatement pstmt=null;String name=null;try{Class.forName("com.mysql.jdbc.Driver");//加载jdbc驱动程序conn=DriverManager.getConnection(url,user,password);//连接MYsql数据库}catch(ClassNotFoundException e){out.println("找不到驱动类");//抛出异常,提示错误}catch(SQLException e){out.println("连接数据库失败!");}try{String sql="select username from user where username=?&&password=?";//查找一条用户信息pstmt=conn.prepareStatement(sql); //创建语句对象prepareStatement pstmt.setString(1,requsername);//设置查询所需要的内容pstmt.setString(2,reqpassword);//设置查询所需要的内容rs=pstmt.executeQuery();//执行查询if(rs.next()){name=rs.getString(1);flag=true;}}catch(SQLException e){out.println("添加用户信息失败!");}//关闭数据库连接try{if(pstmt!=null){pstmt.close(); //关闭预处理语句对象pstmt=null;}if(conn!=null){conn.close();//关闭数据库连接conn=null;}}catch(Exception e){out.println("数据库关闭异常!");}%><%if(flag){ %><jsp:forward page="login_success.jsp"><jsp:param name="name" value="<%=name %>"/></jsp:forward><%}else{ %><jsp:forward page="login_failure.jsp"></jsp:forward><%} %></body></html>6.页面跳转成功:login_success.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <title>登录成功</title><body>欢迎:<%=request.getParameter("name") %>光临!</body></html>7.页面跳转失败:login_failure.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <title>登录失败页面</title><a href="login.jsp">对不起,请点击链接,重新登录:</a></body></html>8.如何进行模糊查询:方法:进行form提交:<form action="list.jsp">查找:<input type="text"name="search"><input type="submit"name="submit"value="模糊查询"></form>界面:现实查询结果页面:list.jsp<%@page language="java"import="java.util.*"pageEncoding="gb2312"%> <%@page import="java.sql.*"%><body><%request.setCharacterEncoding("gb2312");//设置接收编码格式String requsername=request.getParameter("search");//接收参数username%><%String url="jdbc:mysql://localhost:3306/javaweb";String user="root";String password="root";Connection conn=null;Statement stmt=null;ResultSet rs=null;try{Class.forName("com.mysql.jdbc.Driver");//加载jdbc驱动程序conn=DriverManager.getConnection(url,user,password);stmt=conn.createStatement(); //创建语句对象statementString queryAll="select * from user where username like '%"+requsername+"%' order by userid desc ";//模糊查询用户rs=stmt.executeQuery(queryAll);//执行查询while(rs.next()){ //获得所有记录int userid=rs.getInt(1);String name=rs.getString(2);String userpassword=rs.getString(3);out.println("用户ID:"+userid);out.println("用户名:"+name);out.println("密码:"+userpassword+"<br>");}}catch(ClassNotFoundException e){out.println("找不到驱动类");//抛出异常,提示错误}catch(SQLException e){out.println("查询用户信息失败!");}//关闭数据库连接try{if(rs!=null){rs.close();rs=null;}if(stmt!=null){stmt.close();stmt=null;}if(conn!=null){conn.close();conn=null;}}catch(Exception e){out.println("数据库关闭异常!");}%><form action="list.jsp">输入用户名:<input type="text"name="search"><input type="submit"name="submit"value="模糊查询"></form>。