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中截圖.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM