在text.jsp中画出界面,以及设置提交选项的限制

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>当前位置:添加学生信息</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if (message != null && !"".equals(message)) {
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
var asd=request.getAttribute("username");
</script>
<%
}
%>
<form action="Servlet?method=add" method="post" onsubmit="return check(this)"> <table >
<tr>
<th>登录账号:</th>
<td> <input name="username" type="text" />
</td>
</tr>
<tr>
<th>登录密码:</th>
<td>
<input name="password" type="password" />
</td>
</tr>
<tr>
<th>性别:</th>
<td>
<select name="sex">
<option>男</option>
<option>女</option>
</select>
</td>
</tr>
<tr>
<th>姓名:</th>
<td>
<input name="name" type="text">
</td>
</tr>
<tr>
<th>学号:</th>
<td>
<input name="sno" type="text">
</td>
</tr>
<tr>
<th>电子邮件:</th>
<td>
<input name="email" type="text">
</td>
</tr>
<tr>
<th>所在学校:</th>
<td>
<input name="school" type="text">
</td>
</tr>
<tr>
<th>所在系:</th>
<td>
<input name="college" type="text">
</td>
</tr>
<tr>
<th>所在班级:</th>
<td>
<input name="class1" type="text">
</td>
</tr>
<tr>
<th>入学年份(届):</th>
<td>
<select name="time">
<option>2015</option>
<option>2016</option>
<option>2017</option>
<option>2018</option>
<option>2019</option>
</select>
</td>
</tr> <tr>
<th>生源地:</th>
<td>
<input name="ofstudents" type="text">
</td>
</tr> <tr>
<th>备注:</th>
<td>
<input name="remarks" type="text">
</td>
</tr>
<tr>
<td >
<input type="submit" value="提交" /> </td>
</tr>
</table>
</form> </body>
<script type="text/javascript">
function check(form){
if(form.username.value.length<6 || form.username.value.length>12 || new RegExp("[^a-zA-Z0-9_\u4e00-\u9fa5]").test(form.username.value)){
alert("登陆账号必须由6-12位英文字符或数字组成!");
form.username.focus();
return false;
}
if(new RegExp("[^a-zA-Z]").test(form.username.value.substring(0,1))){
alert("登陆账号必须以英文字母开头!");
form.username.focus();
return false;
}
if(form.password.value.length < 8 || new RegExp("[^0-9a-zA-Z]").test(form.password.value)){
alert("密码由八位以上数字或字母组成!");
form.password.focus();
return false;
}
var re = /^\d{4}/;
if(form.sno.value.length != 8 || form.sno.value.match(re)[0]!='2018'){
alert("学号由八位组成,前四位是2018");
form.password.focus();
return false;
}
//以数字字母开头,中间可以是多个数字字母或下划线;然后是“@”;然后是数字字母;然后是“.”;最后是2-4个字母结尾
var regex = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
if(!regex.test(form.email.value)){
alert("邮箱格式错误!");
form.email.focus();
return false;
}
return true;
}
</script>
</html>

创建4个包,在每个包里面创建一个.Java文件,分别是Dao、DBUtil、User、Servlet,用来连接数据库,以及向数据库中添加信息

Dao:

 package Dao;

 import java.sql.Connection;
import java.sql.Statement; import DBUtil.DBUtil; import Entity.User; public class Dao { public boolean add(User user) {
// TODO Auto-generated method stub
String sql = "insert into kao(username,password,sex,name,sno,email,school,college,class1,time,ofstudents,remarks) values('"+ user.getUsername() + "','"+ user.getPassword() +"','"+ user.getSex() +"','" + user.getName() +"','"+ user.getSno() +"','"+ user.getEmail() +"','"+ user.getSchool() +"','"+ user.getCollege() +"','"+ user.getClass1() +"','"+ user.getTime() +"','"+ user.getOfstudents()+"','" +user.getRemarks()+"')";
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 { DBUtil.close(state, conn);
} if (a > 0) {
f = true;
}
return f; }
}

DBUtil:

 package DBUtil;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DBUtil { public static String db_url = "jdbc:mysql://localhost:3306/xinxi";
public static String db_user = "root";
public static String db_pass = "wyp6666"; 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;
} 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();
}
}
} public static void main(String[] args) throws SQLException {
Connection conn = getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql ="select * from users";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()){
System.out.println("成攻");
}else{
System.out.println("失败");
}
}
}

Servlet:

 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; import Entity.User; @WebServlet("/Servlet")
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L; public Servlet() {
super(); }
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{
req.setCharacterEncoding("utf-8");
String username = req.getParameter("username");
String password = req.getParameter("password");
String name = req.getParameter("sex");
String sex = req.getParameter("name");
String sno = req.getParameter("sno");
String email = req.getParameter("email");
String school = req.getParameter("school");
String college = req.getParameter("college");
String class1 = req.getParameter("class1");
String time= req.getParameter("time");
String ofstudents = req.getParameter("ofstudents");
String remarks = req.getParameter("remarks");
User user = new User(username,password,sex,name,sno,email,school,college,class1,time,ofstudents,remarks); Dao dao =new Dao();
boolean f=dao.add(user); if(f) {
req.setAttribute("message", "注册成功!");
req.getRequestDispatcher("text.jsp").forward(req,resp);
} else {
req.setAttribute("message", "注册失败!");
req.getRequestDispatcher("text.jsp").forward(req,resp);
}
}
}

javeweb_学生信息添加系统的更多相关文章

  1. 学习完vue指令 做的一个学生信息录入系统

    一.demo实现原理 输入完个人信息后  点击创建用户  数据就会显示在下面的表格中 用到了vue中的数据双向绑定 v-model v-for 还要js正则 数组的unshift splice 等方法 ...

  2. Vue实现一个学生信息录入系统,实现录入和删除

    效果如下: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

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

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

  4. Django 学生信息 添加 功能 遇到的问题.

    1  添加 班级信息时的问题 (grade为外键) 原因是 grade 必需接收 一个 实例, 而我交是一个 str字符串, if request.method == 'POST': data = { ...

  5. Linux下基于shell脚本实现学生信息管理系统

    #该管理系统是参考两位博主(时间有点远了,我忘了,请博主看到后联系我)后自行修改添加的.登录过程还有很多不完善,我就抛砖引玉啦. 废话不多,直接上码! #!/bin/bash# 学生管理系统# @ve ...

  6. Java基础知识强化之IO流笔记51:IO流练习之 键盘录入学生信息按照总分排序写入文本文件中的案例

    1.  键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分排序写入文本文件中 分析:   A:创建学生类   B:创建集合对象      TreeSet<Student>   ...

  7. 用List传递学生信息

    集合在程序开发中经常用到,例如,在业务方法中将学生信息.商品信息等存储到集合中,然后作为方法的返回值返回给调用者,以此传递大量的有序数据. 本实例将使用List集合在方法之间传递学生的信息.实例效果如 ...

  8. 学生信息管理小系统(以XML为存储方式)

    为了更好地应用XML,就写了这个小项目. 下面是我的项目的目录结构 项目思路 dao是Date Access Object 数据访问层,主要是负责操作数据 domain是实体层,类似于bean层,放置 ...

  9. Jmeter接口测试实例2-获取所有学生信息

    Jmeter实例2:获取所有学生信息 添加http协议—添加IP.路径.方法,添加信息头管理器,察看结果树,运行 如下图所示,响应结果中获取到所有学生信息

随机推荐

  1. SGU 107 987654321 problem【找规律】

    题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=107 题意: 平方后几位为987654321的n位数有多少个 分析: 虽然说是水题 ...

  2. Spring Security入门篇——标签sec:authorize的使用

    Security框架可以精确控制页面的一个按钮.链接,它在页面上权限的控制实际上是通过它提供的标签来做到的 Security共有三类标签authorize authentication accessc ...

  3. HDU-1069_Monkey and Banana

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) P ...

  4. etcd 在超大规模数据场景下的性能优化

    作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 概述 etcd是一个开源的分布式的kv存储系统, 最近刚被cncf列为沙箱孵化项目.etcd的应用场景很广,很多地方都用到了它,例如kuber ...

  5. [***]HZOJ 柱状图

    神仙题. 作者的正解: *logn).   算法三:对于100%的数据:  我们枚举屋顶位置再三分高度的做法,复杂度的瓶颈在于花费的计算.假设屋顶在i处,高度为hi,如果j<i,有hj-j=hi ...

  6. Facebook 发布深度学习工具包 PyTorch Hub,让论文复现变得更容易

    近日,PyTorch 社区发布了一个深度学习工具包 PyTorchHub, 帮助机器学习工作者更快实现重要论文的复现工作.PyTorchHub 由一个预训练模型仓库组成,专门用于提高研究工作的复现性以 ...

  7. 第三期 行为规划——4.形式化FSM

    让我们考虑一个简单的自动售货机,其中一切花费20美分.假设这台自动售货机只需要镍和硬币,但没有更大或更小. 然后,我们可以模拟状态这台自动售货机以已存入的金额为准.起始状态将为零美分.有两种可能发生. ...

  8. 带你进入 Activiti 工作流的世界

    Activiti 是一个针对企业用户.开发人员 .系统管理员的轻量级工作流业务管理平台,其核心是使用 java 开发的快速 . 稳定的 BPMN2.0 流程引擎 .它可以与 spring 完美集成. ...

  9. 使用 Laravel-Excel 进行 CSV/EXCEL 文件读写

    https://blog.csdn.net/yiluohan0307/article/details/80229978 http://www.ptbird.cn/laravel-excel-csv.h ...

  10. 只要是使用函数file_get_contents访问 https 的网站都要开启

    使用file_get_contents();报错failed to open stream: Unable to find the socket transport "ssl" - ...