用javaweb写一个注册界面,并将数据保存到后台数据库(全部完成)(课堂测试) 您所在的位置:网站首页 html提交用户名与密码 用javaweb写一个注册界面,并将数据保存到后台数据库(全部完成)(课堂测试)

用javaweb写一个注册界面,并将数据保存到后台数据库(全部完成)(课堂测试)

#用javaweb写一个注册界面,并将数据保存到后台数据库(全部完成)(课堂测试)| 来源: 网络整理| 查看: 265

一、题目:WEB界面链接数据库

1.考试要求:

 

 

 

1登录账号:要求由6到12位字母、数字、下划线组成,只有字母可以开头;(1分)

2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母、数字组成。(1分)

3性别:要求用单选框或下拉框实现,选项只有“男”或“女”;(1分)

4学号:要求八位数字组成,前四位为“2018”开头,输入自己学号;(1分)

5姓名:输入自己的姓名;

5电子邮箱:要求判断正确格式[email protected];(1分)

6点击“添加”按钮,将学生个人信息存储到数据库中。(3分)

7可以演示连接上数据库。(2分)

二、设计思路:

1、首先在users.jsp代码中,用HTML写一个添加表单即可

2、在DBUtil.java文件编写中对数据库进行连接和关闭的操作

3、在Dao.java文件中编写向数据库中插入数据的SQL语句,以及判断Servelet.java中传递的数据是否为空。

4、在 users.jsp 文件中对表单用javascript进行form表单校验,将满足所有添加要求的数据传入Servelet.java中,用post方式传递。

5、在Selvlet.java 文件调用DBUtil.java文件和Dao.java文件,得到Dao.java中判断Servelet.java中传递的数据是否为空的函数,并进行二次表单校验。

6、Servelet.java中若数据合理,调用DBUtil.java的方法,连接数据库将数据通过参数的形式传递给在Dao.java文件中向数据库中插入数据的SQL语句,将数据添加到数据库。若添加成功,给出提示信息并返回users.jsp代码中action跳转的Servlet?method=add页面。若添加失败,给出提示信息并返回users.jsp代码中action跳转的Servlet?method=add页面。

 

三、源代码

1、Dao.java文件

 

1 package Dao; 2 3 import java.sql.Connection; 4 import java.sql.Statement; 5 6 import DBUtil.DBUtil; 7 8 import Entity.User; 9 10 public class Dao { 11 12 public boolean add(User user) { 13 //将数据插入数据库的SQL语句 14 String sql = "insert into uses1 (username,password,sex,name,stuname,email,xueyuan,xi,banji,year,address,addtext) values('"+ user.getUsername() + "','"+ user.getPassword() +"','"+ user.getSex() +"','"+user.getName() +"','"+ user.getStuname() +"','"+user.getEmail()+"','"+ user.getXueyuan() +"','"+user.getXi()+"','"+user.getBanji()+"','"+user.getYear()+"','"+user.getAddress()+"','"+user.getAddtext()+"')"; 15 // 创建数据库链接 16 Connection conn = DBUtil.getConn(); 17 Statement state = null; 18 boolean f = false; 19 int a = 0; 20 21 try { 22 state = conn.createStatement(); 23 a=state.executeUpdate(sql); 24 } catch (Exception e) { 25 e.printStackTrace(); 26 } finally { 27 // 关闭z 连接 28 DBUtil.close(state, conn); 29 } 30 31 if (a > 0) { 32 f = true; 33 } 34 return f; 35 36 } 37 38 39 }

 

2、DBUtil.java文件

1 package DBUtil; 2 3 4 5 import java.sql.Connection; 6 import java.sql.DriverManager; 7 import java.sql.PreparedStatement; 8 import java.sql.ResultSet; 9 import java.sql.SQLException; 10 import java.sql.Statement; 11 12 /** 13 * @author Hu 14 * 15 */ 16 public class DBUtil { 17 18 public static String db_url = "jdbc:mysql://localhost:3306/user?serverTimezone=UTC";//登录数据库 19 public static String db_user = "root"; 20 public static String db_pass = "123"; 21 22 public static Connection getConn () { 23 Connection conn = null; 24 25 try { 26 Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动 27 conn = DriverManager.getConnection(db_url, db_user, db_pass); 28 } catch (Exception e) { 29 e.printStackTrace(); 30 } 31 32 return conn; 33 } 34 /** 35 * 关闭与数据库的连接 36 * @param state 37 * @param conn 38 */ 39 public static void close (Statement state, Connection conn) { 40 if (state != null) { 41 try { 42 state.close(); 43 } catch (SQLException e) { 44 e.printStackTrace(); 45 } 46 } 47 48 if (conn != null) { 49 try { 50 conn.close(); 51 } catch (SQLException e) { 52 e.printStackTrace(); 53 } 54 } 55 } 56 57 public static void close (ResultSet rs, Statement state, Connection conn) { 58 if (rs != null) { 59 try { 60 rs.close(); 61 } catch (SQLException e) { 62 e.printStackTrace(); 63 } 64 } 65 66 if (state != null) { 67 try { 68 state.close(); 69 } catch (SQLException e) { 70 e.printStackTrace(); 71 } 72 } 73 74 if (conn != null) { 75 try { 76 conn.close(); 77 } catch (SQLException e) { 78 e.printStackTrace(); 79 } 80 } 81 } 82 public static void main(String[] args) throws SQLException { 83 Connection conn = getConn(); 84 PreparedStatement pstmt = null; 85 ResultSet rs = null; 86 String sql ="select * from users"; 87 pstmt = conn.prepareStatement(sql); 88 rs = pstmt.executeQuery(); 89 if(rs.next()){ 90 System.out.println("空"); 91 }else{ 92 System.out.println("不空"); 93 } 94 } 95 }

 

 

3、User.java(用户属性类)文件

1 package Entity; 2 3 public class User { 4 5 private String username; 6 private String password; 7 private String sex; 8 private String name; 9 private String stuname; 10 private String email; 11 private String xueyuan; 12 private String xi; 13 private String banji; 14 private String year; 15 private String address; 16 private String addtext; 17 18 public String getUsername() { 19 return username; 20 } 21 22 public void setUsername(String username) { 23 this.username = username; 24 } 25 26 public String getPassword() { 27 return password; 28 } 29 30 public void setPassword(String password) { 31 this.password = password; 32 } 33 34 public String getSex() { 35 return sex; 36 } 37 38 public void setSex(String sex) { 39 this.sex = sex; 40 } 41 42 public String getName() { 43 return name; 44 } 45 46 public void setName(String name) { 47 this.name = name; 48 } 49 50 public String getStuname() { 51 return stuname; 52 } 53 54 public void setStuname(String stuname) { 55 this.stuname = stuname; 56 } 57 58 public String getEmail() { 59 return email; 60 } 61 62 public void setEmail(String email) { 63 this.email = email; 64 } 65 66 public String getXueyuan() { 67 return xueyuan; 68 } 69 70 public void setXueyuan(String xueyuan) { 71 this.xueyuan = xueyuan; 72 } 73 74 public String getXi() { 75 return xi; 76 } 77 78 public void setXi(String xi) { 79 this.xi = xi; 80 } 81 82 public String getBanji() { 83 return banji; 84 } 85 86 public void setBanji(String banji) { 87 this.banji = banji; 88 } 89 90 public String getYear() { 91 return year; 92 } 93 94 public void setYear(String year) { 95 this.year = year; 96 } 97 98 public String getAddress() { 99 return address; 100 } 101 102 public void setAddress(String address) { 103 this.address = address; 104 } 105 106 public String getAddtext() { 107 return addtext; 108 } 109 110 public void setAddtext(String addtext) { 111 this.addtext = addtext; 112 } 113 114 public User() {} 115 116 public User(String username,String password,String sex,String name,String stuname,String email,String xueyuan, String xi,String banji,String year,String address,String addtext) { 117 118 119 this.username=username; 120 this.password=password; 121 this.sex=sex; 122 this.name=name; 123 this.stuname=stuname; 124 this.email=email; 125 this.xueyuan=xueyuan; 126 this.xi=xi; 127 this.banji=banji; 128 this.year=year; 129 this.address=address; 130 this.addtext=addtext; 131 132 } 133 134 135 }

 

4、Servlet.java文件

1 package Servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.annotation.WebServlet; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 import Dao.Dao; 12 13 import Entity.User; 14 15 16 17 18 @WebServlet("/Servlet") 19 public class Servlet extends HttpServlet { 20 private static final long serialVersionUID = 1L; 21 22 23 public Servlet() { 24 super(); 25 26 } 27 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 28 req.setCharacterEncoding("utf-8"); 29 String method = req.getParameter("method"); 30 if ("add".equals(method)) { 31 add(req, resp); 32 } 33 } 34 35 36 public void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ 37 req.setCharacterEncoding("utf-8"); 38 String username = req.getParameter("username"); 39 String password = req.getParameter("password"); 40 String sex = req.getParameter("sex"); 41 String name = req.getParameter("name"); 42 String stuname = req.getParameter("stuname"); 43 String email = req.getParameter("email"); 44 String xueyuan = req.getParameter("xueyuan"); 45 String xi= req.getParameter("xi"); 46 String banji= req.getParameter("banji"); 47 String year= req.getParameter("year"); 48 String address= req.getParameter("address"); 49 String addtext= req.getParameter("addtext"); 50 //调用用户属性类 51 User user = new User(username,password,sex,name,stuname,email,xueyuan,xi,banji,year,address,addtext); 52 //接受判断函数返回值 53 Dao dao =new Dao(); 54 boolean f=dao.add(user); 55 //提示信息 56 if(f) { 57 req.setAttribute("message", "注册成功!"); 58 req.getRequestDispatcher("users.jsp").forward(req,resp); 59 } 60 else { 61 req.setAttribute("message", "已有账号,重复登录!"); 62 req.getRequestDispatcher("users.jsp").forward(req,resp); 63 } 64 } 65 }

 

5、users.jsp文件

1 3 4 5 6 7 Insert title here 8 9 //表单校验 10 function check() { 11 flag=0; 12 var rep = /^[\w\u4e00-\u9fa5]{6,8}$/; //判断字符串是否为数字和字母组合 13 var myPattern = new RegExp("^[a-zA-Z]"); // 以英文字母开头 14 var username = document.getElementById("username").value; 15 //alert(username.length); 16 if(!(username.length>5&&username.length


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有