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

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

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

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

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

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

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

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

add.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%> <script type="text/javascript">
function checkid(form1) {
var userid = form1.userid.value; if (userid == "" || !isUsername(userid)) {
alert("用户名要求由6到12位字母、数字、下划线组成,只有字母可以开头!");
form1.userid.value="";
form1.userid.focus();
return false;
}
}
function checkpsw(form1)
{
var userpsw = form1.userpsw.value;
if(userpsw=="")
return true;
if (!isUserpsw(userpsw)) {
alert("密码要求八位以上字母、数字组成。");
form1.userpsw.value="";
form1.userpsw.focus();
return false;
}
}
function checknum(form1)
{
var usernum = form1.usernum.value;
if (!usernum.substring(0, 4) == "2018" || usernum.length != 8) {
alert("学号要求八位数字组成,前四位为“2018”开头");
form1.usernum.value="";
form1.usernum.focus();
return false;
}
return true;
} function isUsername(userid) { if (!((userid.charAt(0) >= 'a' && userid.charAt(0) <= 'z') || (userid
.charAt(0) >= 'A' && userid.charAt(0) <= 'Z'))) {
return false;
}
for (var i = 1; i < userid.length; i++) {
if (((userid.charAt(i) >= 'a' && userid.charAt(i) <= 'z') || (userid
.charAt(i) >= 'A' && userid.charAt(i) <= 'Z'))
|| (userid.charAt(i) >= '0' && userid.charAt(i) <= '9')) {
continue;
}
else
return false;
}
return true;
}
function isUserpsw(str) {
if (str.length < 8){ return false;
}
for (var i = 0; i < str.length; i++) {
if ((str.charAt(i) >= '0' && str.charAt(i)<= '9')
|| (str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
|| (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')){
continue;
}
else
return false;
}
return true;
}
</script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form name="form1" action="UserServlet?method=add" method="post"
onsubmit="return check(form1);">
<%
Object message = request.getAttribute("message");//放置一个字符串,并取出
if (message != null && !"".equals(message)) {
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%
}
%>
<h2 align="center">请注册</h2>
<table align="center">
<tr>
<td>登录账号:</td>
<td><input type="text" id="userid" name="userid" onchange="checkid(form1)"
placeholder="请输入账号" /></td>
</tr>
<tr>
<td>登录密码:</td>
<td><input type="password" id="userpsw" name="userpsw" onchange="checkpsw(form1)"
placeholder="请输入密码" /></td>
</tr>
<tr>
<td>性别:</td>
<td><select id="usersex" name="usersex">
<option>男</option>
<option>女</option>
</select></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" id="username" name="username"
placeholder="请输入姓名" /></td>
</tr>
<tr>
<td>学号:</td>
<td><input type="text" id="usernum" name="usernum" onchange="checknum(form1)"
placeholder="请输入学号" /></td>
</tr>
<tr>
<td>电子邮件:</td>
<td><input type="email" id="useremail" name="useremail"
placeholder="请输入邮箱" /></td>
</tr>
<tr>
<td>所在学院:</td>
<td><input type="text" id="userxy" name="userxy"
placeholder="请输入学院" /></td>
</tr>
<tr>
<td>所在系:</td>
<td><input type="text" id="userxi" name="userxi"
placeholder="请输入系" /></td>
</tr>
<tr>
<td>所在班级:</td>
<td><input type="text" id="userclass" name="userclass"
placeholder="请输入班级" /></td>
</tr>
<tr>
<td>入学年份(届):</td>
<td><select id="useryear" name="useryear">
<option>2017</option>
<option>2018</option>
<option>2019</option>
</select>届</td>
</tr>
<tr>
<td>生源地:</td>
<td><input type="text" id="userdizhi" name="userdizhi"
placeholder="请输入生源地" /></td>
</tr>
<tr>
<td>备注:</td>
<td><textarea rows="8" id="userbeizhu" name="userbeizhu"
cols="40">备注</textarea></td>
</tr>
<tr>
<td><input type="submit" value="添加"></td>
</tr>
</table> </form>
</body>
</html>

user.java

package com.Studentweb;

public class User {
private int id;
private String userid;
private String userpsw;
private String usersex;
private String username;
private String usernum;
private String useremail;
private String userxy;
private String userxi;
private String userclass;
private String useryear;
private String uesrdizhi;
private String uesrbeizhu;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUserpsw() {
return userpsw;
}
public void setUserpsw(String userpsw) {
this.userpsw = userpsw;
}
public String getUsersex() {
return usersex;
}
public void setUsersex(String usersex) {
this.usersex = usersex;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsernum() {
return usernum;
}
public void setUsernum(String usernum) {
this.usernum = usernum;
}
public String getUseremail() {
return useremail;
}
public void setUseremail(String useremail) {
this.useremail = useremail;
}
public String getUserxy() {
return userxy;
}
public void setUserxy(String userxy) {
this.userxy = userxy;
}
public String getUserxi() {
return userxi;
}
public void setUserxi(String userxi) {
this.userxi = userxi;
}
public String getUserclass() {
return userclass;
}
public void setUserclass(String userclass) {
this.userclass = userclass;
}
public String getUseryear() {
return useryear;
}
public void setUseryear(String useryear) {
this.useryear = useryear;
}
public String getUesrdizhi() {
return uesrdizhi;
}
public void setUesrdizhi(String uesrdizhi) {
this.uesrdizhi = uesrdizhi;
}
public String getUesrbeizhu() {
return uesrbeizhu;
}
public void setUesrbeizhu(String uesrbeizhu) {
this.uesrbeizhu = uesrbeizhu;
}
public User(String userid, String userpsw, String usersex, String username, String usernum, String useremail,
String userxy, String userxi, String userclass, String useryear, String uesrdizhi, String uesrbeizhu) {
super();
this.userid = userid;
this.userpsw = userpsw;
this.usersex = usersex;
this.username = username;
this.usernum = usernum;
this.useremail = useremail;
this.userxy = userxy;
this.userxi = userxi;
this.userclass = userclass;
this.useryear = useryear;
this.uesrdizhi = uesrdizhi;
this.uesrbeizhu = uesrbeizhu;
} }

userdao.java

package Dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import util.DBUtil;
import com.Studentweb.User; public class userdao {
public boolean add(User user) {
String sql = "insert into text(userid,userpsw,usersex,username,usernum,useremail,userxy,userxi,userclass,useryear,userdizhi,userbeizhu)"
+ "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()+ "')";
Connection conn = DBUtil.getConn();//调用方法连接数据库
Statement state = null;
boolean f = false;
int a = 0 ; try { //监视大括号内的代码
state = conn.createStatement();
a = state.executeUpdate(sql);
} catch (Exception e) { //捕获错误
e.printStackTrace();
} finally {
//关闭z 连接
DBUtil.close(state, conn);
} if (a > 0) {
f = true;
}
return f;
} }

DBUtil.java

package util;

//数据库连接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* 数据库连接工具
* @author Zheng
*
*/
public class DBUtil { public static String db_url = "jdbc:mysql://localhost:3306/text?useSSL=false";
public static String db_user = "root";
public static String db_pass = "fengge666"; 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();
}
}
} }

userservlet.java

package servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.Studentweb.User;
import Dao.userdao; /**
* Servlet implementation class UserServlet
*/
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public UserServlet() {
super();
// TODO Auto-generated constructor stub
}
userdao dao = new userdao(); 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);
}
} private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
// TODO Auto-generated method stub
String userid = req.getParameter("userid");
String userpsw = req.getParameter("userpsw");
String username=req.getParameter("username");
String usersex=req.getParameter("usersex");
String usernum=req.getParameter("usernum");
String useremail=req.getParameter("useremail");
String userxy=req.getParameter("userxy");
String userxi=req.getParameter("userxi");
String userclass=req.getParameter("userclass");
String useryear=req.getParameter("useryear");
String userdizhi=req.getParameter("userdizhi");
String userbeizhu=req.getParameter("userbeizhu"); User user= new User(userid,userpsw,username,usersex,usernum,useremail,userxy,userxi,userclass,useryear,userdizhi,userbeizhu);
dao.add(user);
req.setAttribute("message", "添加成功!");
req.getRequestDispatcher("add.jsp").forward(req, resp);
} }

最终界面:

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

个人总结:在做极限测试,出现了几个问题,第一个对判断的语句没有弄清楚,课下对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. TensorFlow 报错 ValueError: Can't load save_path when it is None.

    原因 : 模型还未生成出来 , 此时你去检测的生成完毕的模型 , 模型呢 ? 还没生成 . 模型还没生成就引用了为什么不报错 ? 解决办法 : 当前情况不要以为是你的程序有 bug , 而是你的模型还 ...

  2. thinkphp5---路由问题

    在做thinkphp的开发项目中,遇到一个需求:要求让网站的链接,必须以 .html结尾. 原因:在thinkphp开发的项目中,使用伪静态,路由格式:xxx.com/xxx/2.html ,但是后面 ...

  3. Golang常见小细节总结(1)

    本系列不定期更新,用于记录平常开发过程中出现的一些小问题 Array 类型的值作为函数参数    可以理解slice是对array的一个视图,底层还是array所以会被修改 通过map的ok来确 ...

  4. 012-MySQL 索引添加以及优化说明

    一.索引概述 数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度. 如果查询语句使用索引(通常是wher ...

  5. java多线程(一)创建线程的四种方式

    1.   什么是并发与并行 要想学习多线程,必须先理解什么是并发与并行 并行:指两个或多个事件在同一时刻发生(同时发生). 并发:指两个或多个事件在同一个时间段内发生. 2.   什么是进程.线程 进 ...

  6. java面试题实战二

    1.spring 是如何创建bean的? 在IoC容器中,bean的获取主要通过BeanFactory和ApplicationContext获取,这里ApplicationContext实际上是继承自 ...

  7. shell基础知识之数组

    数组允许脚本利用索引将数据集合保存为独立的条目.Bash支持普通数组和关联数组,前者 使用整数作为数组索引,后者使用字符串作为数组索引.当数据以数字顺序组织的时候,应该使 用普通数组,例如一组连续的迭 ...

  8. 使用Javascript从Google Places搜索api获取纬度和经度

    如何使用谷歌地图搜索框api从搜索到的位置获取经度和纬度. 我使用与谷歌演示相同的代码 – https://developers.google.com/maps/documentation/javas ...

  9. 使用自定义注解和AOP管理shiro权限

    一.场景 在使用shiro框架的时候,遇到了这样的需求:本系统有多个用户,每个用户分配不同角色,每个角色的权限也不一致.比如A用户拥有新闻列表的增删改查权限,而B用户只有查看新闻列表的权限,而没有删除 ...

  10. java导出pdf功能记录

    这几天已在做处理导出pdf文件的功能,摸索了几天总算可以了.记录下这几天遇到的问题. 1.网上基本都是基于Itext5和Itext7来处理的.我最终是在Itext5上成功了,itext7应该是模板出问 ...