题目要求:

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

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

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

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

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

5电子邮箱:要求判断正确格式xxxx@xxxx.xxxx;(1分)

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

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

代码:

1连接数据库

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 数据库连接工具
 * @author Hu
 *
 */
public class DBUtil {
 
 public static String db_url = "jdbc:mysql://localhost:3306/zzm?useSSL=false";
 public static String db_user = "root";
 public static String db_pass = "123456";
 
 public static Connection getConn () {
  Connection conn = null;
  
  try {
   Class.forName("com.mysql.jdbc.Driver");//加载驱动
   conn = DriverManager.getConnection(db_url, db_user, db_pass);
  } catch (Exception e) {
   e.printStackTrace();
  }
  
  return conn;
 }
 
 /**
  * 关闭连接
  * @param state
  * @param conn
  */
 public static void close (Statement state, Connection conn) {
  if (state != null) {
   try {
    state.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (conn != null) {
   try {
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
 
 public static void close (ResultSet rs, Statement state, Connection conn) {
  if (rs != null) {
   try {
    rs.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (state != null) {
   try {
    state.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (conn != null) {
   try {
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
}
2创建变量
package lzx;
public class Lzx {
 private int id;
 private String zhanghao;
 private String password;
 private String sex;
 private String number;
 private String name;
 private String mail;
 private String xueyuan;
 private String zhuanye;
 private String banji;
 private String year;
 private String shengyuandi;
 private String beizhu;
 public int getId()
 {
  return id;
 }
 public void setId()
 {
  this.id=id;
 }
 public String getZhanghao()
 {
  return zhanghao;
 }
 public void setZhanghao()
 {
  this.zhanghao=zhanghao;
 }
 public String getPassword()
 {
  return password;
 }
 public void setPassword()
 {
  this.password=password;
 }
 public String getSex()
 {
  return sex;
 }
 public void setSex()
 {
  this.sex=sex;
 }
 public String getName()
 {
  return name;
 }
 public void setName()
 {
  this.name=name;
 }
 public String getMail()
 {
  return mail;
 }
 public void setMail()
 {
  this.mail=mail;
 }
 public String getNumber()
 {
  return number;
 }
 public void setNumber()
 {
  this.number=number;
 }
 public String getXueyuan()
 {
  return xueyuan;
 }
 public void setXueyuan()
 {
  this.xueyuan=xueyuan;
 }
 public String getZhuanye()
 {
  return zhuanye;
 }
 public void setZhuanye()
 {
  this.zhuanye=zhuanye;
 }
 public String getBanji()
 {
  return banji;
 }
 public void setBanji()
 {
  this.banji=banji;
 }
 public String getYear()
 {
  return year;
 }
 public void setYear()
 {
  this.year=year;
 }
 public String getShengyuandi()
 {
  return shengyuandi;
 }
 public void setShengyuandi()
 {
  this.shengyuandi=shengyuandi;
 }
 public String getBeizhu()
 {
  return beizhu;
 }
 public void setBeizhu()
 {
  this.beizhu=beizhu;
 }
 public Lzx() {}
 public Lzx(int id,String zhanghao,String password,String sex,String name,String number,String mail,String xueyuan,String zhuanye,String banji,String year,String shengyuandi,String beizhu)
 {
  this.id=id;
  this.zhanghao = zhanghao;
  this.password = password;
  this.name = name;
  this.sex = sex;
  this.number =number;
  this.name = name;
  this.mail = mail;
  this.xueyuan = xueyuan;
  this.zhuanye = zhuanye;
  this.banji = banji;
  this.year = year;
  this.shengyuandi = shengyuandi;
  this.beizhu = beizhu;
 }
 public Lzx(String zhanghao, String password,String sex, String name,String number,String mail,String xueyuan,String zhuanye,String banji,String year,String shengyuandi,String beizhu)
 {
  this.zhanghao = zhanghao;
  this.password = password;
  this.name = name;
  this.sex = sex;
  this.number = number;
  this.mail = mail;
  this.xueyuan = xueyuan;
  this.zhuanye = zhuanye;
  this.banji = banji;
  this.year = year;
  this.shengyuandi = shengyuandi;
  this.beizhu = beizhu;
 }
}
3

package lzx;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
/**
 *
 * Dao层操作数据
 * @author Zhao
 *
 */
public class lzxDao {
 /**
  * 添加
  * @param zzm
  * @return
  */
 public boolean add(Lzx zzm) {
  String sql = "insert into zzm(zhanghao,password,sex,name,number,mail,xueyuan,zhuanye,banji,year,shengyuandi,beizhu) values('" + zzm.getZhanghao() + "','" + zzm.getPassword() + "','" + zzm.getSex() + "','"+zzm.getName()+"','" + zzm.getNumber() + "','" + zzm.getMail()+"','"+zzm.getXueyuan()+"','"+zzm.getZhuanye()+"','"+zzm.getBanji() +"','"+zzm.getYear()+"','"+zzm.getShengyuandi()+"','"+zzm.getBeizhu() +"')";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  boolean f = false;
  int a = 0;
  
  try {
   state = conn.createStatement();
   state.executeUpdate(sql);
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(state, conn);
  }
  
  if (a > 0) {
   f = true;
  }
  return f;
 }
 public boolean zhanghao(String zhanghao) {
  // TODO Auto-generated method stub
  return false;
 }
 
}
4

package lzx;
import java.util.List;
/**
 * ZzmService
 * 服务层
 * @author Zhao
 *
 */
public class LzxService {
 lzxDao cDao = new lzxDao();
 
 /**
  * 添加
  * @param Zzm
  * @return
  */
 public boolean add(Lzx zzm) {
  boolean f = false;
  if(!cDao.zhanghao(zzm.getZhanghao())) {
   cDao.add(zzm);
   f = true;
  }
  return f;
 }
 
 
}
5

package lzx;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LzxServlet")
public class LzxServlet extends HttpServlet {
 
 private static final long serialVersionUID = 1L;
 LzxService service = new LzxService();
 
 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  req.setCharacterEncoding("utf-8");
  String method = req.getParameter("method");
  if ("add".equals(method)) {
   add(req, resp);
  }
 }
 /**
  * 添加
  * @param req
  * @param resp
  * @throws IOException
  * @throws ServletException
  */
 private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
  req.setCharacterEncoding("utf-8");
  String zhanghao = req.getParameter("zhanghao");
  String password = req.getParameter("password");
  String sex = req.getParameter("sex");
  String number = req.getParameter("number");
  String name = req.getParameter("name");
  String mail = req.getParameter("mail");
  String xueyuan = req.getParameter("xueyuan");
  String zhuanye = req.getParameter("zhuanye");
  String banji = req.getParameter("banji");
  String year = req.getParameter("year");
  String shengyuandi = req.getParameter("shengyuandi");
  String beizhu = req.getParameter("beizhu");
  Lzx zzm= new Lzx(zhanghao,password,sex,name,number,mail,xueyuan,zhuanye,banji,year,shengyuandi,beizhu);
  
  //添加后消息显示
  if(service.add(zzm)) {
   req.setAttribute("message", "添加成功");
   req.getRequestDispatcher("zzm.jsp").forward(req,resp);
  } else {
   req.setAttribute("message", "用户名重复,请重新输入");
   req.getRequestDispatcher("zzm.jsp").forward(req,resp);
  }
 }
 
 
}
6写页面
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
 
<link rel="stylesheet" type="text/css" href="css/nav.css">
<link rel="stylesheet" type="text/css" href="font/iconfont.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/nav.js"></script>
</head>
<body>
<%
      Object message = request.getAttribute("message");
      if(message!=null && !"".equals(message)){
 
 %>
      <script type="text/javascript">
           alert("<%=request.getAttribute("message")%>");
      </script>
 <%} %>
 <div align="center">
<form action="LzxServlet?method=add" method="post" onsubmit="return check()">
<table  width="500px" height="650px"border="1" style="text-align:center">
   <tr height="50px" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">登录账号:</font></td>
   <td width="400"><input  id="zhanghao" name="zhanghao" placeholder="请输入账号"/></td>
   
  </tr>
  <tr height="50px" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">登录密码:</font></td>
   <td width="400"><input  type="password" name="password" placeholder="请输入密码"/></td>
   
  </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">性别:</font></td>
   <td><select id="sex" name="sex" >
    <option value="男">男</option>
    <option value="女">女</option>
    <select></td>
   </tr>
     <tr height="50px" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">姓名:</font></td>
   <td width="400"><input  id="name" name="name" placeholder="请输入姓名"/></td>
  </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">学号:</font></td>
   <td width="400"><input  id="number" name="number" placeholder="请输入学号"/></td>
   </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">电子邮箱:</font></td>
   <td width="400"><input  id="mail" name="mail" placeholder="请输入邮箱" /></td>
   </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">所在学院:</font></td>
   <td width="400"><input  id="xueyuan" name="xueyuan" placeholder="请输入学院名" /></td>
   </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">所在专业:</font></td>
   <td width="400"><input  id="zhuanye" name="zhuanye" placeholder="请输入专业" /></td>
   </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">所在班级:</font></td>
   <td width="400"><input  id="banji" name="banji" placeholder="请输入班级" /></td>
   </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">入学年份:</font></td>
   <td><select id="year" name="year" >
    <option value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2018">2018</option>
    <option value="2019">2019</option>
    <select></td>
   </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">生源地:</font></td>
   <td width="400"><input  id="shengyuandi" name="shengyuandi" placeholder="请输入生源地" /></td>
   </tr>
   
   <tr height="100" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">备注:</font></td>
   <td width="400"><input  id="beizhu" name="beizhu" placeholder="无" /></td>
   </tr>
   <tr height="50" align="center" bgcolor="#FFFFCC">
   <td width="400"><button type="submit" >添加<button></td>
   <td width="400"><input type="reset"  value="重新输入" /></td>
   </tr>
     
</form>
</div>
<script type="text/javascript"> 
function check() {
 var zhanghao = document.getElementById("zhanghao");
 var password = document.getElementById("password");
 var number = document.getElementById("number");
 var mail = document.getElementById("mail");
 
 if (!zhanghao.value.match(/^[a-zA-Z]\w{5,11}$/)) {
          
        alert("用户名由六到十二英文字符和数字组成,以英文字母开头");
       
        num.focus();
        return false;
}
 else if (!password.value.match(/^[A-Za-z0-9]\w{7,20}$/)) {
  
     alert(" 密码由八 位 以上英文 和数 字 组成");
 
     mima.focus();
     return false;
}
 else if(number.value<"20180000"|| number.value>"20189999")
  {
   alert(" 学号由2018开头的八位组成");
         number.focus();
         return false;
  }
 else if (!mail.value.match(/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/)) {
    
     alert(" 邮箱格式错误");
 
     mail.focus();
     return false;
}
}
</script>
</body>
</html>
 
 
 

javaweb 测试的更多相关文章

  1. Javaweb测试

    1.建立web 工程 输入Project name.然后点击finish. 2.右键点击WebContent-New-JSP File,新建jsp文件. 3.然后编写一个jsp登录的程序 <%@ ...

  2. IDEA新建javaWeb以及Servlet简单实现

    刚开始用IDEA开发,还不太熟悉,因此写一个教程,加深印象 1.新建一个Web项目 两种方法:java 和 Java Enterprise(推荐) 第一种)通过Java工程创建,这个方法需要手动导入T ...

  3. Intellij IDEA创建javaWeb以及Servlet简单实现

    1.创建web工程 File --> New --> Project...

  4. Intellij IDEA创建javaweb步骤详解

    一.创建并设置javaweb工程 1.创建javaweb工程File --> New --> Project... 设置工程名字: 创建完成后工程结构如下: 2. Web工程设置2.1 在 ...

  5. [转]Intellij idea创建javaWeb以及Servlet简单实现

    准备:1. 安装jdk1.72. 安装tomcat1.8 一.创建并设置javaweb工程 1.创建javaweb工程File --> New --> Project... 设置工程名字: ...

  6. Inellij idea创建javaWeb以及Servlet简单实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. 准备:1. 安装jdk1.7 2. 安装tomcat1.8 一.创建并设置javaweb工程 1.创建javaweb工程File --> N ...

  7. Intellij idea创建javaWeb:实现JSP/Servlet(转)

    转自:https://www.jianshu.com/p/9684e90cf7b5 Intellij idea创建javaWeb:实现JSP/Servlet by_love唯念 关注 2016.12. ...

  8. IDEA下配置JavaWeb项目

    前提 已安装IDEA专业版 已安装Tomcat 已安装JDK 创建JavaWeb项目 File --> New --> Project... 设置工程名字: 创建完成后工程结构如下: 设置 ...

  9. WebSocket简单介绍

    Java后端WebSocket的Tomcat实现 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSoc ...

随机推荐

  1. Scala 面向对象(三):package 包 (二)

    1 包对象 基本介绍:包可以包含类.对象和特质trait,但不能包含函数/方法或变量的定义.这是Java虚拟机的局限.为了弥补这一点不足,scala提供了包对象的概念来解决这个问题. package ...

  2. flask 源码专题(八):路由加载

    1.示例代码 from flask import Flask app = Flask(__name__,static_url_path='/xx') @app.route('/index') def ...

  3. angular浏览器兼容性问题解决方案

    问题:edge浏览器下,固定列的边框消失 原因:ng-zorro-antd表格组件使用nzLeft和nzRight指令固定的表格列,这两个指令的实现css3中的标签: position: -webki ...

  4. 学Python常用数据结构之字典

    迄今为止,我们已经为大家介绍了Python中的三种容器型数据类型,但是这些数据类型还不足以帮助我们解决所有的问题.例如,我们要保存一个人的信息,包括姓名.年龄.体重.单位地址.家庭住址.本人手机号.紧 ...

  5. NameBeta - 多家比价以节省咱的域名注册成本

    共收录 1584 种顶级域名,汇集互联网上 29 家知名域名注册商,每日更新价格信息 有的域名还可以查出到期时间点我前往官网 NameSilo1美元优惠码:whatz

  6. 【Nginx】如何使用Nginx实现MySQL数据库的负载均衡?看完我懂了!!

    写在前面 Nginx能够实现HTTP.HTTPS协议的负载均衡,也能够实现TCP协议的负载均衡.那么,问题来了,可不可以通过Nginx实现MySQL数据库的负载均衡呢?答案是:可以.接下来,就让我们一 ...

  7. 详解Vue大护法——组件

    1.什么是组件化 人面对复杂问题的处理方式: 任何一个人处理信息的逻辑能力都是有限的 所以,当面对一个非常复杂的问题时,我们不太可能一次性搞定一大堆的内容. 但是,我们人有一种天生的能力,就是将问题进 ...

  8. 从零开始学Electron笔记(七)

    在之前的文章我们介绍了一下Electron中的对话框 Dialog和消息通知 Notification,接下来我们继续说一下Electron中的系统快捷键及应用打包. 全局快捷键模块就是 global ...

  9. 关于虎信如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器?

    一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接 虎信如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1.无需下载ap ...

  10. python-多任务编程05-协程(coroutine)

    协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源). 为啥说它是一个执行单元,因为它自带CPU上下文.这样只要在合适的时机, 我们可以把一个协程 切换 ...