javaweb学生信息录入程序

1.数据库表单的创建

 

使用naviccat在数据库jiaoli中创建xsa的表单,含数据如下:

 

 均为varcahr类型.

 

2.前端编写

包含数据的输入,与相关限制(如:账号必须为字母数字下划线6~12位,学号要以2018开头8位等).

实现截图:

 

 

源代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册界面</title>
</head>

<body>
注册界面
<br><br>
<form action="addser" method="post" name="from1" id="from1">
登录账号:<input placeholder="请输入用户名" id="usename" class="bg" οnkeypress="check()"> <!--placeholder是会在文本框下提示信息-->
<br><br>
登良密码:<input type=password placeholder="请输入密码" id="password" name="password" value="" οnkeypress="check()">
<br><br>
性别:<input type="radio" name="sex" value="male">男
<input type="radio" name="sex" value="female">女
<br><br>
姓名:<input placeholder="请输入姓名" id="name" name="name" value="">
<br><br>
学号:<input id="studentnumber" name="studentnumber" value="" οnkeypress="check()" >
<br><br>
邮箱号:<input placeholder="请输入邮箱号" id="email" name="email" value="" οnkeypress="check()">
<br><br>
所在学院:<input placeholder="请输入学校" id="xueyuan" name="xueyuan" value="">
<br><br>
所在系:<input placeholder="请输入系" id="xi" name="xi" value="">
<br><br>
所在班级:<input placeholder="请输入班级" id="banji" name="banji" value="">
<br><br>
入学年份:<select name="nianfen">
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<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>
<br><br>
生源地:<input placeholder="请输入生源地" id="shengyuandi" name="shengyuandi" value="">
<br><br>
备注:<textarea rows="20"cols="30" name="beizhu"></textarea>
<br><br>

<input type="submit" name="submit" value="添加" onclick="return check(this.form)"> <!--type等于submit是提交表单,如账号密码提交-->


<script type="text/javascript">

function check() { //弹出错误信息
var usename = document.getElementById("usename");
var usern = /^[a-zA-Z0-9_]{1,}$/;
var usern1=/(\S)+[@]{1}(\S)+[.]{1}(\w)+/;
var usern2=/^[a-z][a-z0-9_]*$/;
if(usename.value=='')
{
alert('账号不能为空');
usename.focus();
return false;
}
if(usename.value.length<6||usename.value.length>12)
{
alert('账号不能小于6位大于12位');
usename.focus();
return false;
}

if (!usename.value.match(usern)) {
alert('用户名只能由字母数字下划线组成');
usename.focus();
return false;
}
if(!usename.value.matches(usern2)){
alert("用户名必须以字母开头");
usename.focus();
return false;
}


var password=document.getElementById("password");
if(password.value.length<8)
{
alert('密码不能少于8位');
password.focus();
return false;
}

if(!password.value.match(usern))
{
alert('密码只能由字母数字组成');
usename.focus();
return false;
}

var xuehao= document.getElementById("studentnumber");
if(xuehao.value.length!=8)
{
alert('学号必须为8位');
xuehao.focus();
return false;
}

var email=document.getElementById("email");
if(!email.value.match(usern1)){
alert('邮件格式错误');
email.focus();
return false;
}

}
</script>
</form>

</body>
</html>

 

3.连接数据库

在addser.java中

 

String url = "jdbc:mysql://localhost:3306/jiaoli?&useSSL=false&serverTimezone=UTC&useUnicode=yes&characterEncoding=utf8";


Connection conn = null;
PreparedStatement ps = null;

try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, "root", "root");
} catch (ClassNotFoundException e) {
response.getWriter().print("加载驱动失败");
} catch (SQLException e) {
response.getWriter().print("连接数据库失败");
}

 

与mysql连接前要先把mysql-connector-java-8.0.11.jar导到项目中.

 

4.将前端数据导到数据库中

截图:

 

 

 

 

 

原码:

package testv;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class addser
*/
@WebServlet("/addser")
public class addser extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public addser() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");

String username=request.getParameter("usename");
String psword=request.getParameter("password");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String studentnumber=request.getParameter("studentnumber");
String xueyuan=request.getParameter("xueyuan");
String xi=request.getParameter("xi");
String banji=request.getParameter("banji");
String nianfen=request.getParameter("nianfen");
String shengyuandi=request.getParameter("shengyuandi");
String beizhu=request.getParameter("beizhu");
String email=request.getParameter("email");
String url = "jdbc:mysql://localhost:3306/jiaoli?&useSSL=false&serverTimezone=UTC&useUnicode=yes&characterEncoding=utf8";


Connection conn = null;
PreparedStatement ps = null;

try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, "root", "root");
} catch (ClassNotFoundException e) {
response.getWriter().print("加载驱动失败");
} catch (SQLException e) {
response.getWriter().print("连接数据库失败");
}


String ye=studentnumber.substring(0, 4);
if(!ye.equals("2018")) {
request.getRequestDispatcher("test1.jsp").forward(request,response);
}
try {
String s=username;
Pattern pa = Pattern.compile("[a-zA-Z].*");
Matcher isNum = pa.matcher(s.charAt(0)+"");
if(isNum.matches()) {
request.getRequestDispatcher("test2.jsp").forward(request,response);
}
}catch (Exception e) {

}
try {
String reg = "\\w+@(\\w+\\.){1,3}\\w+";
Pattern pattern = Pattern.compile(reg);
boolean flag = false;
if (email != null) {
Matcher matcher = pattern.matcher(email);
flag = matcher.matches();
}
if(flag) {
request.getRequestDispatcher("test2.jsp").forward(request,response);
}
}catch (Exception e) {

}
try {
String sql = "INSERT INTO xsa(usename,password,sex,name,studentnumber,email,xueyuan,xi,banji,nianfen,shengyuandi,beizhu) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, psword);
ps.setString(3, sex);
ps.setString(4, name);
ps.setString(5, studentnumber);
ps.setString(6, email);
ps.setString(7, xueyuan);
ps.setString(8, xi);
ps.setString(9, banji);
ps.setString(10, nianfen);
ps.setString(11, shengyuandi);
ps.setString(12, beizhu);
int row = ps.executeUpdate();
//
if (row > 0)
//
response.getWriter().print("添加" + row + "数据");
} catch (SQLException e) {
response.getWriter().print("添加失败");
}



try {
if (ps != null) {

ps.close();
ps = null;
}
if (conn != null) {
conn.close();
conn = null;
}

} catch (Exception e) {
response.getWriter().print("关闭失败");
}

response.getWriter().append("Served at: ").append(request.getContextPath());

}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}

 

 

5.整体过程:

首先注册,错误会出提示修改:

 

 

 

 

 成功登陆后显示如4中截图.

 

posted @ 2019-10-21 22:50  西西里啊  阅读(1134)  评论(0编辑  收藏  举报