Login.jsp ----LoginCL.jsp-----跳转
Login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录界面</title> </head> <body> <form action="LoginCl.jsp" method="post"> <table > <tr><td>用户名</td><td><input type="text" name="username"/></td></tr> <tr><td>密 码</td><td><input type="text" name="password"/></td></tr> <tr><td><input type="submit" value="登录" /></td><td><input type="reset" value="清空"/></td></tr> </table> </form> </body> </html>
LoginCL.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% String name=request.getParameter("username"); String password=request.getParameter("password"); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "123456"); String sql = "select* from user where username=? and password=?"; ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setString(2, password); out.println(sql); // 结果 rs = ps.executeQuery(); if (rs.next()) { out.println(rs.getString(1) + " " + rs.getString(2)); } else { out.println("登陆失败"); } %> </body> </html>
改进版:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% String name=request.getParameter("username"); String password=request.getParameter("password"); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "123456"); String sql = "select* from user where username=? and password=?"; ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setString(2, password); // 结果 rs = ps.executeQuery(); if (rs.next()) { if(rs.getString(2).equals(name)&&rs.getString(5).equals(password)){ out.print("登陆成功"); }else{ out.print("账号或者密码错误"); } } else { out.println("登陆失败,重新登陆"); }}catch (Exception e) { e.printStackTrace(); } finally { try { rs.close(); ps.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }} %> </body> </html>
标准版:
LoginCL.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% String name=request.getParameter("username"); String password=request.getParameter("password"); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "123456"); String sql = "select password from user where username=? "; ps = conn.prepareStatement(sql); ps.setString(1, name); // 结果 rs = ps.executeQuery(); if (rs.next()) { if(rs.getString(1).equals(password)) {out.print("登陆成功"); response.sendRedirect("Main.jsp?user="+name); }else{ out.print("密码错误"); response.sendRedirect("Login.jsp?error=1"); } } else { response.sendRedirect("Login.jsp?error=2"); out.println("账号错误 ,重新登陆"); }}catch (Exception e) { e.printStackTrace(); } finally { try { rs.close(); ps.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }} %> </body> </html>
Login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录界面</title> </head> <body> <form action="LoginCl.jsp" method="post"> <table > <tr><td>用户名</td><td><input type="text" name="username"/></td></tr> <tr><td>密 码</td><td><input type="text" name="password"/></td></tr> <tr><td><input type="submit" value="登录" /></td><td><input type="reset" value="清空"/></td></tr> </table> </form> </body> </html>
Main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 欢迎来到新的页面! </body> </html>
实现分页版:
Login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录界面</title> </head> <body> <form action="LoginCl.jsp" method="post"> <table > <tr><td>用户名</td><td><input type="text" name="username"/></td></tr> <tr><td>密 码</td><td><input type="text" name="password"/></td></tr> <tr><td><input type="submit" value="登录" /></td><td><input type="reset" value="清空"/></td></tr> </table> </form> </body> </html>
LoginCl.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% String name=request.getParameter("username"); String password=request.getParameter("password"); out.print(name+" "+password); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "123456"); String sql = "select password from user where username=? "; ps = conn.prepareStatement(sql); ps.setString(1, name); // 结果 rs = ps.executeQuery(); if (rs.next()) { if(rs.getString(1).equals(password)) {out.print("登陆成功"); response.sendRedirect("http://localhost:8080/practice/Welcom.jsp?pageNow=1"); }else{ out.print("密码错误"); response.sendRedirect("Login.jsp?error=1"); } } else { response.sendRedirect("Login.jsp?error=2"); out.println("账号错误 ,重新登陆"); }}catch (Exception e) { e.printStackTrace(); } finally { try { rs.close(); ps.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }} %> </body> </html>
Welcom.jsp(分页)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 欢迎来到新的页面! <a href="Login.jsp">返回主页面</a> <hr/> <% //定义分页可以用到的变量 int pageSize=3; int pageNow=1; int rowCount=0; int pageCount=0; String page1=request.getParameter("pageNow"); if(page!=null){ pageNow=Integer.parseInt(page1); } String name=request.getParameter("user"); //查询得到 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "123456"); String sql = "select count(*) from user"; ps = conn.prepareStatement(sql); // 结果 rs = ps.executeQuery(); if (rs.next()) {//next不要忘了 rowCount=rs.getInt(1); out.print(rowCount); } ps.close(); rs.close(); //计算PageCount if(rowCount%pageSize==0){ pageCount=rowCount/pageSize; }else { pageCount=rowCount/pageSize+1; } out.print("pageCount="+pageCount); //查询出需要显示的页面 if(rowCount>=pageNow*pageSize){ sql="select *from user limit "+(pageNow-1)*pageSize+","+pageSize; } else{ sql="select *from user limit "+(pageNow-1)*pageSize+","+(rowCount-(pageNow-1)*pageSize); } out.print(sql); ps = conn.prepareStatement(sql); // 结果 rs = ps.executeQuery(); %> <table border="1px" > <tr><td>用户ID</td><td>用户名</td><td>邮箱</td><td>等级</td><td>密码</td></tr> <% while(rs.next()){ %> <tr><td><%=rs.getInt(1)%></td><td><%=rs.getString(2)%></td><td><%=rs.getString(3)%></td><td><%=rs.getInt(4)%></td><td><%=rs.getString(5)%></td></tr> <% } %> </table> <% if(pageNow!=1){ out.print("<a href='Welcom.jsp?pageNow="+(pageNow-1)+"'>上一页</a>");} //显示超链接 for(int i=1;i<=pageCount;i++){ out.print("<a href='Welcom.jsp?pageNow="+i+"'>["+i+"]</a>"); } if(pageNow!=pageCount){ out.print("<a href='Welcom.jsp?pageNow="+(pageNow+1)+"'>下一页</a>");} }catch (Exception e) { e.printStackTrace(); } finally { try { rs.close(); ps.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } %> <hr/> </body> </html>
缺点分析;