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

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

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

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

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

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

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

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

add.jsp页面

  1. <%@ page language="java" contentType="text/html; charset=utf-8"
  2. pageEncoding="utf-8"%>
  3.  
  4. <script type="text/javascript">
  5. function checkid(form1) {
  6. var userid = form1.userid.value;
  7.  
  8. if (userid == "" || !isUsername(userid)) {
  9. alert("用户名要求由6到12位字母、数字、下划线组成,只有字母可以开头!");
  10. form1.userid.value="";
  11. form1.userid.focus();
  12. return false;
  13. }
  14. }
  15. function checkpsw(form1)
  16. {
  17. var userpsw = form1.userpsw.value;
  18. if(userpsw=="")
  19. return true;
  20. if (!isUserpsw(userpsw)) {
  21. alert("密码要求八位以上字母、数字组成。");
  22. form1.userpsw.value="";
  23. form1.userpsw.focus();
  24. return false;
  25. }
  26. }
  27. function checknum(form1)
  28. {
  29. var usernum = form1.usernum.value;
  30. if (!usernum.substring(0, 4) == "2018" || usernum.length != 8) {
  31. alert("学号要求八位数字组成,前四位为“2018”开头");
  32. form1.usernum.value="";
  33. form1.usernum.focus();
  34. return false;
  35. }
  36. return true;
  37. }
  38.  
  39. function isUsername(userid) {
  40.  
  41. if (!((userid.charAt(0) >= 'a' && userid.charAt(0) <= 'z') || (userid
  42. .charAt(0) >= 'A' && userid.charAt(0) <= 'Z'))) {
  43. return false;
  44. }
  45. for (var i = 1; i < userid.length; i++) {
  46. if (((userid.charAt(i) >= 'a' && userid.charAt(i) <= 'z') || (userid
  47. .charAt(i) >= 'A' && userid.charAt(i) <= 'Z'))
  48. || (userid.charAt(i) >= '0' && userid.charAt(i) <= '9')) {
  49. continue;
  50. }
  51. else
  52. return false;
  53. }
  54. return true;
  55. }
  56. function isUserpsw(str) {
  57. if (str.length < 8){
  58.  
  59. return false;
  60. }
  61. for (var i = 0; i < str.length; i++) {
  62. if ((str.charAt(i) >= '0' && str.charAt(i)<= '9')
  63. || (str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
  64. || (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')){
  65. continue;
  66. }
  67. else
  68. return false;
  69. }
  70. return true;
  71. }
  72. </script>
  73. <!DOCTYPE html>
  74. <html>
  75. <head>
  76. <meta charset="utf-8">
  77. <title>Insert title here</title>
  78. </head>
  79. <body>
  80. <form name="form1" action="UserServlet?method=add" method="post"
  81. onsubmit="return check(form1);">
  82. <%
  83. Object message = request.getAttribute("message");//放置一个字符串,并取出
  84. if (message != null && !"".equals(message)) {
  85. %>
  86. <script type="text/javascript">
  87. alert("<%=request.getAttribute("message")%>");
  88. </script>
  89. <%
  90. }
  91. %>
  92. <h2 align="center">请注册</h2>
  93. <table align="center">
  94. <tr>
  95. <td>登录账号:</td>
  96. <td><input type="text" id="userid" name="userid" onchange="checkid(form1)"
  97. placeholder="请输入账号" /></td>
  98. </tr>
  99. <tr>
  100. <td>登录密码:</td>
  101. <td><input type="password" id="userpsw" name="userpsw" onchange="checkpsw(form1)"
  102. placeholder="请输入密码" /></td>
  103. </tr>
  104. <tr>
  105. <td>性别:</td>
  106. <td><select id="usersex" name="usersex">
  107. <option></option>
  108. <option></option>
  109. </select></td>
  110. </tr>
  111. <tr>
  112. <td>姓名:</td>
  113. <td><input type="text" id="username" name="username"
  114. placeholder="请输入姓名" /></td>
  115. </tr>
  116. <tr>
  117. <td>学号:</td>
  118. <td><input type="text" id="usernum" name="usernum" onchange="checknum(form1)"
  119. placeholder="请输入学号" /></td>
  120. </tr>
  121. <tr>
  122. <td>电子邮件:</td>
  123. <td><input type="email" id="useremail" name="useremail"
  124. placeholder="请输入邮箱" /></td>
  125. </tr>
  126. <tr>
  127. <td>所在学院:</td>
  128. <td><input type="text" id="userxy" name="userxy"
  129. placeholder="请输入学院" /></td>
  130. </tr>
  131. <tr>
  132. <td>所在系:</td>
  133. <td><input type="text" id="userxi" name="userxi"
  134. placeholder="请输入系" /></td>
  135. </tr>
  136. <tr>
  137. <td>所在班级:</td>
  138. <td><input type="text" id="userclass" name="userclass"
  139. placeholder="请输入班级" /></td>
  140. </tr>
  141. <tr>
  142. <td>入学年份(届):</td>
  143. <td><select id="useryear" name="useryear">
  144. <option>2017</option>
  145. <option>2018</option>
  146. <option>2019</option>
  147. </select></td>
  148. </tr>
  149. <tr>
  150. <td>生源地:</td>
  151. <td><input type="text" id="userdizhi" name="userdizhi"
  152. placeholder="请输入生源地" /></td>
  153. </tr>
  154. <tr>
  155. <td>备注:</td>
  156. <td><textarea rows="8" id="userbeizhu" name="userbeizhu"
  157. cols="40">备注</textarea></td>
  158. </tr>
  159. <tr>
  160. <td><input type="submit" value="添加"></td>
  161. </tr>
  162. </table>
  163.  
  164. </form>
  165. </body>
  166. </html>

user.java

  1. package com.Studentweb;
  2.  
  3. public class User {
  4. private int id;
  5. private String userid;
  6. private String userpsw;
  7. private String usersex;
  8. private String username;
  9. private String usernum;
  10. private String useremail;
  11. private String userxy;
  12. private String userxi;
  13. private String userclass;
  14. private String useryear;
  15. private String uesrdizhi;
  16. private String uesrbeizhu;
  17. public String getUserid() {
  18. return userid;
  19. }
  20. public void setUserid(String userid) {
  21. this.userid = userid;
  22. }
  23. public String getUserpsw() {
  24. return userpsw;
  25. }
  26. public void setUserpsw(String userpsw) {
  27. this.userpsw = userpsw;
  28. }
  29. public String getUsersex() {
  30. return usersex;
  31. }
  32. public void setUsersex(String usersex) {
  33. this.usersex = usersex;
  34. }
  35. public String getUsername() {
  36. return username;
  37. }
  38. public void setUsername(String username) {
  39. this.username = username;
  40. }
  41. public String getUsernum() {
  42. return usernum;
  43. }
  44. public void setUsernum(String usernum) {
  45. this.usernum = usernum;
  46. }
  47. public String getUseremail() {
  48. return useremail;
  49. }
  50. public void setUseremail(String useremail) {
  51. this.useremail = useremail;
  52. }
  53. public String getUserxy() {
  54. return userxy;
  55. }
  56. public void setUserxy(String userxy) {
  57. this.userxy = userxy;
  58. }
  59. public String getUserxi() {
  60. return userxi;
  61. }
  62. public void setUserxi(String userxi) {
  63. this.userxi = userxi;
  64. }
  65. public String getUserclass() {
  66. return userclass;
  67. }
  68. public void setUserclass(String userclass) {
  69. this.userclass = userclass;
  70. }
  71. public String getUseryear() {
  72. return useryear;
  73. }
  74. public void setUseryear(String useryear) {
  75. this.useryear = useryear;
  76. }
  77. public String getUesrdizhi() {
  78. return uesrdizhi;
  79. }
  80. public void setUesrdizhi(String uesrdizhi) {
  81. this.uesrdizhi = uesrdizhi;
  82. }
  83. public String getUesrbeizhu() {
  84. return uesrbeizhu;
  85. }
  86. public void setUesrbeizhu(String uesrbeizhu) {
  87. this.uesrbeizhu = uesrbeizhu;
  88. }
  89. public User(String userid, String userpsw, String usersex, String username, String usernum, String useremail,
  90. String userxy, String userxi, String userclass, String useryear, String uesrdizhi, String uesrbeizhu) {
  91. super();
  92. this.userid = userid;
  93. this.userpsw = userpsw;
  94. this.usersex = usersex;
  95. this.username = username;
  96. this.usernum = usernum;
  97. this.useremail = useremail;
  98. this.userxy = userxy;
  99. this.userxi = userxi;
  100. this.userclass = userclass;
  101. this.useryear = useryear;
  102. this.uesrdizhi = uesrdizhi;
  103. this.uesrbeizhu = uesrbeizhu;
  104. }
  105.  
  106. }

userdao.java

  1. package Dao;
  2. import java.sql.Connection;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.sql.Statement;
  6. import util.DBUtil;
  7. import com.Studentweb.User;
  8.  
  9. public class userdao {
  10. public boolean add(User user) {
  11. String sql = "insert into text(userid,userpsw,usersex,username,usernum,useremail,userxy,userxi,userclass,useryear,userdizhi,userbeizhu)"
  12. + "values('" + user.getUserid() + "','" + user.getUserpsw()+ "','" + user.getUsersex() + "','" + user.getUsername()+ "','" + user.getUsernum()+ "','" + user.getUseremail()+ "','" + user.getUserxy()+ "','" + user.getUserxi()+ "','" + user.getUserclass()+ "','" + user.getUseryear()+ "','" + user.getUesrdizhi()+ "','" + user.getUesrbeizhu()+ "')";
  13. Connection conn = DBUtil.getConn();//调用方法连接数据库
  14. Statement state = null;
  15. boolean f = false;
  16. int a = 0 ;
  17.  
  18. try { //监视大括号内的代码
  19. state = conn.createStatement();
  20. a = state.executeUpdate(sql);
  21. } catch (Exception e) { //捕获错误
  22. e.printStackTrace();
  23. } finally {
  24. //关闭z 连接
  25. DBUtil.close(state, conn);
  26. }
  27.  
  28. if (a > 0) {
  29. f = true;
  30. }
  31. return f;
  32. }
  33.  
  34. }

DBUtil.java

  1. package util;
  2.  
  3. //数据库连接
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9.  
  10. /**
  11. * 数据库连接工具
  12. * @author Zheng
  13. *
  14. */
  15. public class DBUtil {
  16.  
  17. public static String db_url = "jdbc:mysql://localhost:3306/text?useSSL=false";
  18. public static String db_user = "root";
  19. public static String db_pass = "fengge666";
  20.  
  21. public static Connection getConn () {
  22. Connection conn = null;
  23.  
  24. try {
  25. Class.forName("com.mysql.jdbc.Driver");//加载驱动
  26. conn = DriverManager.getConnection(db_url, db_user, db_pass);
  27. } catch (Exception e) {
  28. e.printStackTrace();
  29. }
  30.  
  31. return conn;
  32. }
  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.  
  83. }

userservlet.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 com.Studentweb.User;
  12. import Dao.userdao;
  13.  
  14. /**
  15. * Servlet implementation class UserServlet
  16. */
  17. @WebServlet("/UserServlet")
  18. public class UserServlet extends HttpServlet {
  19. private static final long serialVersionUID = 1L;
  20.  
  21. /**
  22. * @see HttpServlet#HttpServlet()
  23. */
  24. public UserServlet() {
  25. super();
  26. // TODO Auto-generated constructor stub
  27. }
  28. userdao dao = new userdao();
  29.  
  30. protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  31. req.setCharacterEncoding("utf-8");
  32. String method = req.getParameter("method");
  33. if ("add".equals(method)) {
  34. add(req, resp);
  35. }
  36. }
  37.  
  38. private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
  39. // TODO Auto-generated method stub
  40. String userid = req.getParameter("userid");
  41. String userpsw = req.getParameter("userpsw");
  42. String username=req.getParameter("username");
  43. String usersex=req.getParameter("usersex");
  44. String usernum=req.getParameter("usernum");
  45. String useremail=req.getParameter("useremail");
  46. String userxy=req.getParameter("userxy");
  47. String userxi=req.getParameter("userxi");
  48. String userclass=req.getParameter("userclass");
  49. String useryear=req.getParameter("useryear");
  50. String userdizhi=req.getParameter("userdizhi");
  51. String userbeizhu=req.getParameter("userbeizhu");
  52.  
  53. User user= new User(userid,userpsw,username,usersex,usernum,useremail,userxy,userxi,userclass,useryear,userdizhi,userbeizhu);
  54. dao.add(user);
  55. req.setAttribute("message", "添加成功!");
  56. req.getRequestDispatcher("add.jsp").forward(req, resp);
  57. }
  58.  
  59. }

最终界面:

输入完相应对话框,会自动判断是否满足要求,并给出提示信息

个人总结:在做极限测试,出现了几个问题,第一个对判断的语句没有弄清楚,课下对javascript里的字符串语句进行了学习,掌握了基本的判断字符串的信息,第二个问题是:onblur对浏览器一直保持定位和刷新,导致无法添加信息,最终改为onchange的方法,成功在浏览器上运行。

javaweb之添加学生信息的更多相关文章

  1. 从C#中通过Windows窗体添加信息到数据库 (添加学生信息)

    如上图所示界面,当我们点击保存按钮时将会将表格中的数据保存到数据库中去,与数据库进行一个交互 第一步我们就是要获取到表格中的数据 string pwd = textpwd.Text; //获得第一次输 ...

  2. MVC学生管理系统-阶段II(添加学生信息)

    项目源码 :https://download.csdn.net/download/weixin_44718300/11091042 前期准备,主体框架,学生列表显示    请看上一篇文章 本文是对阶段 ...

  3. 添加学生信息(Javaweb)

    add.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF- ...

  4. javaweb添加学生信息

    连接数据库已经进行判断 要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分 ...

  5. java7连接数据库 网页 添加学生信息测试

    石家庄铁道大学2019年秋季   2018 级课堂测试试卷(六)(10分) 课程名称: JAVA语言程序设计  任课教师: 王建民        考试时间: 150 分钟 一. 考试要求: 1登录账号 ...

  6. 添加学生信息(java wb)

    要求: 1.登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头: 2.登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成: 3.性别:要求用单选框或下拉框实 ...

  7. web添加学生信息(首发web)

    程序思路,先在JSP上画好页面,然后再创建一Servlet文件用于判断在网页上操作是否正确,还需要与数据库相连接,用DBUtile文件连接数据库,用Dao层来实现数据的增加,用Service来服务于D ...

  8. javaweb简单的学生信息录入系统

    讲一下思路,主界面的设计就是用html表单元素,百度查找各个元素的用法,按照自己的想法摆放即可,表单提交后会把数据交给serverlet去处理,在那里定义几个字符串变量来储存获取到的数据,然后按照项目 ...

  9. 向数据库添加学生信息。存放在REQUEST对象里

    代码前几天已经发过了,但是程序一直还没运行出来,今天重新建立了一个数据库,才可以,下面补充上数据截图

随机推荐

  1. js正则表达式之解决html解析<>标签问题

    应用场景:以博客写文章为例,有的时候我们不经意间写的字符串带标签,然后浏览器将其解析了,实际上我们并不希望其被解析,于是可通过核心代码解决该问题. 核心代码如下: data.codeSource.re ...

  2. 【技术博客】MySQL和Django常用操作

    MySQL和Django是搭建网站常用的配置之一,在此记录一下在Windows系统搭建网站时MySQL以及Django常用的操作. MySQL MySQL的SQL语句不区分大小写,推荐将保留字大写,数 ...

  3. jenkins安装启动(docker)

    mkdir /opt/jenkins -pvim /opt/jenkins/Dockerfile FROM jenkins/jenkins:lts EXPOSE 8080 50000 vim /opt ...

  4. 深度解析 ASP.NET MVC 5

    ASP.NET MVC基础 IoC容器 ASP.NET MVC可扩展性 ASP.NET MVC Filters & Cache ASP.NET MVC AJAX ASP.NET MVC Cli ...

  5. annotation processor 为啥没有被调用?

    Android Studio 3.5 使用@AutoService(Processor.class)注册annotation processor Android Plugin for Gradle:  ...

  6. Xamarin.Forms Shell基础教程(1)

    Xamarin.Forms Shell基础教程(1) 什么是Xamarin.Forms Shell Shell是Visual Studio为Xamarin Forms提供的解决方案模版.本质上,She ...

  7. tensorflow 笔记 15:如何使用 Supervisor

    如何使用Supervisor在不使用Supervisor的时候,我们的代码经常是这么组织的 variables ... ops ... summary_op ... merge_all_summari ...

  8. JSON字符串转实体对象

    JSON转实体两种方式 代码片段 ; i < dt.Rows.Count; i++) { //Json字符串 string designJson = dt.Rows[i]["Desig ...

  9. PHP 字符串和十六进制互转

    今天在做项目中,因为要调用别人网站的接口,结果需要对请求和返回的时间进行十六进制加密处理,于是在网上查了下资料谢了一个转换Demo做个记录. 如果在TP下使用可以将下面函数放到common.php中 ...

  10. kubernetes基础知识点

    1.Kubernetes Master主节点服务包括 Etcd┋kube-controller manager┋kube-apiserver┋kube-scheduler 2. Kubernetes ...