javeweb_学生信息添加系统
在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_学生信息添加系统的更多相关文章
- 学习完vue指令 做的一个学生信息录入系统
一.demo实现原理 输入完个人信息后 点击创建用户 数据就会显示在下面的表格中 用到了vue中的数据双向绑定 v-model v-for 还要js正则 数组的unshift splice 等方法 ...
- Vue实现一个学生信息录入系统,实现录入和删除
效果如下: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- javaweb简单的学生信息录入系统
讲一下思路,主界面的设计就是用html表单元素,百度查找各个元素的用法,按照自己的想法摆放即可,表单提交后会把数据交给serverlet去处理,在那里定义几个字符串变量来储存获取到的数据,然后按照项目 ...
- Django 学生信息 添加 功能 遇到的问题.
1 添加 班级信息时的问题 (grade为外键) 原因是 grade 必需接收 一个 实例, 而我交是一个 str字符串, if request.method == 'POST': data = { ...
- Linux下基于shell脚本实现学生信息管理系统
#该管理系统是参考两位博主(时间有点远了,我忘了,请博主看到后联系我)后自行修改添加的.登录过程还有很多不完善,我就抛砖引玉啦. 废话不多,直接上码! #!/bin/bash# 学生管理系统# @ve ...
- Java基础知识强化之IO流笔记51:IO流练习之 键盘录入学生信息按照总分排序写入文本文件中的案例
1. 键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分排序写入文本文件中 分析: A:创建学生类 B:创建集合对象 TreeSet<Student> ...
- 用List传递学生信息
集合在程序开发中经常用到,例如,在业务方法中将学生信息.商品信息等存储到集合中,然后作为方法的返回值返回给调用者,以此传递大量的有序数据. 本实例将使用List集合在方法之间传递学生的信息.实例效果如 ...
- 学生信息管理小系统(以XML为存储方式)
为了更好地应用XML,就写了这个小项目. 下面是我的项目的目录结构 项目思路 dao是Date Access Object 数据访问层,主要是负责操作数据 domain是实体层,类似于bean层,放置 ...
- Jmeter接口测试实例2-获取所有学生信息
Jmeter实例2:获取所有学生信息 添加http协议—添加IP.路径.方法,添加信息头管理器,察看结果树,运行 如下图所示,响应结果中获取到所有学生信息
随机推荐
- HashMap的运用 计算3个班级的总成绩和平均成绩
TestStudent.java package com.sxt.home; import java.util.ArrayList; import java.util.HashMap; import ...
- 用select提取List元素自身序号
var cs = currentCitys.Select((c, i) => new { id = c.CITY_ID, 序号 = (i + 1).ToString(), 城市类型 = c.IS ...
- Windows server 2012 开启消息队列功能
- IDEA使用中文api鼠标提示的设置
最近都在用IDEA来练习,发现有的方面确实比eclipse好用,eclipse里面可添加中文的API 提示,对初期的我帮助很大,但是IDEA却没有找到添加的地方,一直以来还以为不支持这个功能,比较遗憾 ...
- oracle函数 NEW_TIME(dt1,c1,c2)
[功能]:给出时间dt1在c1时区对应c2时区的日期和时间 [参数]:dt1,d2 日期型 [返回]:日期时间 [参数]:c1,c2对应的 时区及其简写 大西洋标准时间:AST或ADT 阿拉斯加_夏威 ...
- [***]HZOI20190714 T2熟练剖分
这题真的神仙,蒟弱表示看题解看不懂……std看了几个小时大概看懂,还有一些细节的东西没有思考. 最难受的是题解和std好像并不是同一个人写的……数组状态不一样……看了好久才看出来f也是前缀和. F[i ...
- 深度学习(二十九)Batch Normalization 学习笔记
Batch Normalization 学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/50866313 作者:hjimce 一.背景意义 ...
- vue 组件评论 的同时进行刷新
注意:1.最重要理解这里的父组件的刷新功能,通过v-on事件绑定委托给子组件执行,因为子组件的提交按钮和父组件的刷新评论的功能是分开的. 2.没有数据时直接点击提交按钮时会出bug,并且关闭后重新加载 ...
- zoj 2954 Hanoi Tower
Hanoi Tower Time Limit: 2 Seconds Memory Limit: 65536 KB You all must know the puzzle named "Th ...
- Java日志框架——JCL
JCL,全称为"Jakarta Commons Logging",也可称为"Apache Commons Logging". 一.JCL原理 1.基本原理 JC ...