基本功能:

  实现信息录入到数据库和信息规范检查

题目要求:

项目目录:

网页界面:

程序源码:

package Dao;

import java.sql.Connection;
import java.sql.Statement; import DB.DB; public class Dao {
public boolean add(String a,String b,String c,String d,String e,String f,String g,String h,String i,String j,String k,String l) { String sql = "insert into u(username,userpass,sex,name,xueid,email,xueyuan,xi,banji,nian,place,comment) values('" + a + "','" + b + "','" +c + "','" + d + "','" + e + "','" +f + "','" + g + "','" + h + "','" + i + "','" +g + "','" + k + "','" + l + "')";
Connection conn = DB.getConn();
Statement state = null;
int h1=0;
boolean p = false;
try {
state = conn.createStatement();
h1 = state.executeUpdate(sql);
} catch (Exception q) {
q.printStackTrace();
} finally {
DB.close(state, conn);
}
if(h1>0) {
p = true;
}
return p;
}
}

Dao.java

package DB;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DB {
public static String db_url = "jdbc:mysql://localhost:3306/runoob?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
public static String db_user = "root";
public static String db_pass = "scfroot5201314@";
public static Connection getConn () {
Connection conn = null; try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(db_url, db_user, db_pass);
} catch (Exception e) {
e.printStackTrace();
} return 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();
}
}
} }

DB.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 Dao.Dao; /**
* Servlet implementation class Servlet
*/
@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
Dao dao = new Dao(); protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
add(req, resp);
} private void add(HttpServletRequest req, HttpServletResponse resp) {
String a = req.getParameter("username");
String b = req.getParameter("userpass");
String c = req.getParameter("sex");
String d = req.getParameter("name"); String e = "2018"+req.getParameter("xueid");
String f = req.getParameter("email");
String g = req.getParameter("xueyuan");
String h = req.getParameter("xi"); String i = req.getParameter("banji");
String j = req.getParameter("nian");
String k = req.getParameter("place");
String l = req.getParameter("comment");
boolean p = dao.add(a, b, c, d, e, f, g, h,i,j,k,l);
try {
if (p) {
req.setAttribute("message", "添加成功!");
req.getRequestDispatcher("text.jsp").forward(req, resp);
} else {
req.setAttribute("message", "添加失败!");
req.getRequestDispatcher("text.jsp").forward(req, resp);
}
} catch (ServletException | IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} }
}

Servlet.java

<%@page contentType="text/html;charset=UTF-8"%>
<script language="JavaScript">
function check() {
//得到用户输入的信息 var username = document.form.username.value;
var userpass = document.form.userpass.value;
var sex = document.form.sex.value;
var name = document.form.name.value;
var xueid= document.form.xueid.value;
var xueyuan =document. form.xueyuan.value;
var xi = document.form.xi.value;
var email =document. form.email.value;
var banji = document.form.banji.value;
var nian =document. form.nian.value;
var place = document.form.place.value;
var comment = document.form.comment.value; //判断用户名长度
if (!minLength(username, 6)) {
alert("用户名长度小于6位!");
form.username.focus();
return false;
}
if (!maxLength(username, 12)) {
alert("用户名长度大于12位!");
form.username.focus();
return false;
}
if(!isDigital(username)){
alert("用户名只有字母可以开头");
form.username.focus();
return false;
} //判断口令长度
if (!minLength(userpass, 8)) {
alert("密码长度小于8位!");
form.userpass.focus();
return false;
}
if (!minLength(xueid, 4)) {
alert("学号长度小于8位!");
form.xueid.focus();
return false;
}
if (!isNumber(xueid)) {
alert("学号必须是数字");
form.xueid.focus();
return false;
} //验证E-mail的格式是否正确
if (!isEmail(email)) {
alert("E-mail格式不正确!");
form.email.focus();
return false;
} document.form.submit();
} //验证是否满足最小长度
function minLength(str, length) {
if (str.length >= length)
return true;
else
return false;
}
//判断是否满足最大长度
function maxLength(str, length) {
if (str.length <= length)
return true;
else
return false;
}
//判断首字母
function isDigital(str) { if (str.charAt(0) >= 'a' && str.charAt(0) <= 'z'||(str.charAt(0) >= 'A' && str.charAt(0) <= 'Z'))
return true;
else
return false; } //判断是否是整数
function isNumber(str)
{
for(i=0;i<str.length;i++)
{
//每一位都是0~9的数字,如果是第1位,则可以是“-”号
if(str.charAt(i)>='0'&&str.charAt(i)<='9'
||str.charAt(i)=='-'&&i==0)
continue;
else
return false;
}
return true;
} //判断是否是E-mail
function isEmail(email) {
if (email.length == 0)
return false;
index1 = email.indexOf('@');
index2 = email.indexOf('.');
if (index1 < 1//@符号不存在,或者在第一个位置
|| index2 < 1//.符号不存在,或者在第一个位置
|| index2 - index1 < 2//.在@的左边或者相邻
|| index2 + 1 == email.length)//.符号后面没有东西
return false
else
return true;
}
</script>
<html>
<head>
<title>添加学生信息</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<form name="form" action="Servlet" method="post"> <table align="center"> <tr>
<td>登录账号:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>登陆密码:</td>
<td><input type="password" name="userpass"></td>
</tr> <tr>
<td>性别:</td>
<td><select name="sex"> <option value="男" selected>男</option>
<option value="女 " >女</option> </select></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>学号:</td>
<td>2018<input type="text" name="xueid" maxlength="4"></td>
</tr>
<tr>
<td>电子邮件:</td>
<td><input type="text" name="email">
</td>
</tr>
<tr>
<td>所在学院:</td>
<td><input type="text" name="xueyuan"></td>
</tr>
<tr>
<td>所在系:</td>
<td><input type="text" name="xi"></td>
</tr>
<tr>
<td>所在班级:</td>
<td><input type="text" name="banji"></td>
</tr>
<tr>
<td>入学年份(届):</td>
<td><select name="nian"> <option value="2017">2017</option>
<option value="2018 " selected>2018</option>
<option value="2019 ">2019</option> </select></td>
</tr>
<tr>
<td>生源地:</td>
<td><input type="text" name="place"></td>
</tr>
<tr>
<td>备注:</td>
<td><textarea rows="8" name="comment" cols="40"></textarea></td>
</tr>
<tr> <td><input type="button" value="提交" onclick="check()"></td>
</tr>
</table>
</form>
</body>
</html>

text.jsp

第一个javaWeb项目-注册界面的更多相关文章

  1. (转)一个JavaWeb项目开发总结

    原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...

  2. 一个JavaWeb项目开发总结

    一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml->mvc->db->spring ioc->log->代码 先了解项目数据库的表结构,这 ...

  3. 转:创建一个javaweb项目,以及导出war包

    一.使用IDEA创建一个javaweb项目 1.File->New Project选择Web Application 1 2 然后填写好路径和项目名称,点击确定. 1 2 2.先看一下刚创建好的 ...

  4. 怎用不用工具创建一个javaWeb项目

    整体步骤是: 1: 新建一个文件夹:  以项目名称命名 2:在新建的文件夹下再新建一个文件夹 WEB-INF  (注意:大小写) 和 一个文件  index.jsp : index.jsp里面的代码: ...

  5. 用STS和Maven的方式创建一个JavaWeb项目

    一.创建项目 1.Eclipse中用Maven创建项目,选maven-archetype-webapp,如下图: 创建好项目后,目录如下: 至此,项目已经创建完毕,下边是配置.关键所在!!! 二.项目 ...

  6. 从基于idea的第一个javaweb项目到shell脚本项目自动发布(jdk1.8,mysql5.7,maven3.5,tomcat9,subversion,centos7.3)之一

    首先说一下为什么写这篇文章,因为从正式参加工作就做javaweb开发,一路走来,碰到了很多的问题,每次问题都想从度娘那里得到准确的答案,但是,每个人遇到的问题不尽相同,问题的解决方案有时候也只是仅供参 ...

  7. IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战

    一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...

  8. (一)新建一个javaweb项目

    一.为了不影响其他项目,可以重新选择一个新的工作目录:swith workspace 二.为了尽可能统一项目,所使用的编程环境,包括:Tomcat.JRE都是项目组自己的,所以在新建项目的时候要注意选 ...

  9. javaweb开发2.新建一个javaweb项目

    1.File → New → Dynamic Web Project 2.创建一个Dynamic Web Project 3.点击“Next”下一步 4.点击“Next”下一步 5.点击“Finish ...

随机推荐

  1. element-ui—dialog使用过程中的坑

    场景一:我们将dialog写成一个可复用的公共组件用于显示不同内容(如表格操作中的修改或添加的弹窗),之后发现dialog的遮罩将弹出层(点击修改或添加后理应由一个弹窗显示出来)都盖住了,而我想要的效 ...

  2. P1000 A+B Problem

    题目描述 给定两个整数\(a,b\),输出它们的和. 输入格式 输入两个整数,表示\(a,b(1 \le a,b \le 10^9)\). 输出格式 输出一个整数,表示答案. 样例输入 20 30 样 ...

  3. JS事件委托(代理)学习笔记

    在开始之前我们先来熟悉一下HTML DOM addEventListener()方法,该方法用于向指定元素添加事件句柄.语法说明如下图所示: 主要想强调一下第三个参数useCapture,默认值为fa ...

  4. Linux 设备模型

    在 2.5 开发循环中一个声明的目标是为内核创建一个统一的设备模型. 之前的内核没有单一的数据结 构, 使它们可以来获取关于系统如何整合的信息. 尽管缺乏信息, 有时事情也进行的不错. 新系统, 带 ...

  5. 2019-10-12-win10-uwp-非ui线程访问-ui-

    title author date CreateTime categories win10 uwp 非ui线程访问 ui lindexi 2019-10-12 15:0:12 +0800 2018-2 ...

  6. 两种常见的缓存淘汰算法LFU&LRU

    1. LFU 1.1. 原理 LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”. 1.2.  ...

  7. Xgboost参数调节

    转自:https://segmentfault.com/a/1190000014040317 整体: # 1.调试n_estimators cv_params = {'n_estimators': [ ...

  8. Team Foundation Server 2015使用教程【9】:tfs用户账号切换

  9. Visio模具与模版

    yy 这些形状就是模具 点击更多形状 然后新建模具 也可以打开已有的模具 模具名字右边有星号 代表模具未保存 鼠标右键单击可以选择保存 选择属性可以进行设置(信息之类的)也可以进行关闭 模具文件三种打 ...

  10. PyTorch深度学习:60分钟入门(Translation)

    这是https://zhuanlan.zhihu.com/p/25572330的学习笔记. Tensors Tensors和numpy中的ndarrays较为相似, 因此Tensor也能够使用GPU来 ...