Jsp第八次作业
数据库test 中建个表 stu(stuid 主键 自动增长 ,用户名,密码,年龄)
1.设计一个注册页面,实现用户注册功能
2.设计一个登陆页面,实现用户名密码登陆
3.两个页面可以互相超链接
package stuPackage; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class BaseDao { // 连接数据库 public Connection getConnection() { Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); // 建立连接 con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test", "root", "123456"); } catch (Exception e) { e.printStackTrace(); } return con; } // 关闭数据库 protected void closeAll(Connection con, PreparedStatement ps, ResultSet rs) { try { if (rs != null) rs.close(); if (ps != null) ps.close(); if (con != null) con.close(); } catch (Exception e) { e.printStackTrace(); } } }
package stuPackage; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import BookPackage.main; public class stuDao extends BaseDao { public boolean DengLu(String stuname, String stupwd) { boolean f = false; Connection con = getConnection(); String sql = "select * from stu where stuname=? and stupwd=?"; PreparedStatement ps = null; ResultSet rs = null; try { ps = con.prepareStatement(sql); ps.setString(1, stuname); ps.setString(2, stupwd); rs = ps.executeQuery();//查询 while (rs.next()) { f = true; } } catch (Exception e) { e.printStackTrace(); }finally{ closeAll(con, ps, rs); } return f; } public void ZhuCe(int stuid,String stuname,String stupwd,int stuage) { Connection con=getConnection(); PreparedStatement ps=null; try { String sql="insert into stu(stuid,stuname,stupwd,stuage) values(?,?,?,?)"; ps=con.prepareStatement(sql); ps.setInt(1, stuid); ps.setString(2, stuname); ps.setString(3, stupwd); ps.setInt(4, stuage); ps.executeUpdate();//增删改 } catch (Exception e) { e.printStackTrace(); }finally{ closeAll(con, ps, null); } } }
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Stu1.jsp</title> </head> <body> <form action="panduan.jsp" method="post" name="one"> 请输入用户名:<input name="name" type="text"><br> 请输入密码: <input name="password" type="password"><br> <input type="button" value="登录" onclick="denglu()"> <a href="Stu2.jsp">注册新用户</a> <script type="text/javascript"> function denglu() { if (one.name.value == "") { alert("用户名不能为空!"); return; } if (one.password.value == "") { alert("密码不能为空!"); return; } one.submit(); } </script> </form> </body> </html>
<%@page import="stuPackage.stuDao"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>panduan.jsp</title> </head> <body> <% request.setCharacterEncoding("utf-8"); String uname = request.getParameter("name"); String upassword = request.getParameter("password"); stuDao stu = new stuDao(); if (stu.DengLu(uname, upassword)) { session.setAttribute("name", uname); request.getRequestDispatcher("ok.jsp").forward(request,response); } else { out.print("登录失败,3秒后返回登录页!"); response.setHeader("refresh", "3;url=Stu1.jsp"); } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Stu2.jsp</title> </head> <body> <form action="panduan2.jsp" method="post" name="two"> 请输入id: <input type="number" name="id"><br> 请输入用户名:<input name="name" type="text"><br> 请输入密码: <input name="password1" type="password"><br> 再次输入密码:<input name="password2" type="password"><br> 请输入年龄: <input name="age" type="number"><br> <input type="button" value="注册" onclick="zhuce()"> <a href="Stu1.jsp">返回登录</a> <script type="text/javascript"> function zhuce() { if (two.id.value == "") { alert("id不能为空!"); return; } if (two.name.value == "") { alert("用户名不能为空!"); return; } if (two.password1.value == "") { alert("密码不能为空!"); return; } if (two.password2.value == "") { alert("再次输入密码不能为空!"); return; } if (two.age.value == "") { alert("年龄不能为空!"); return; } if (two.password1.value != two.password2.value) { alert("密码不一致,请重新输入!"); return; } two.submit(); } </script> </form> </body> </html>
<%@page import="stuPackage.stuDao"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>panduan2.jsp</title> </head> <body> <% request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); int uid = Integer.parseInt(id); String uname = request.getParameter("name"); String upassword1 = request.getParameter("password1"); String upassword2 = request.getParameter("password2"); String age = request.getParameter("age"); int uage = Integer.parseInt(age); if (upassword1.equals(upassword2)) { stuDao stu = new stuDao(); stu.ZhuCe(uid, uname, upassword2, uage); out.print("注册成功,3秒后返回登录页!"); response.setHeader("refresh", "3;url=Stu1.jsp"); } else { out.print("两次密码不一致,3秒后返回注册页!"); response.setHeader("refresh", "3;url=Stu2.jsp"); } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>ok.jsp</title> </head> <body> <% request.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); %> <h4>登录成功!</h4> 欢迎您:<%=name%> </body> </html>