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.路径.方法,添加信息头管理器,察看结果树,运行 如下图所示,响应结果中获取到所有学生信息
随机推荐
- 【NS2】添加mUDP、mUdpSink和mTcpSink模块
根据柯老师的教材可知,mUDP是UDP的延伸,除了具有UDP的功能外,还能记录所发送的包的信息.mUdpSink可以把接收到的包的信息记录 到文件中.mTcpSink是TCPsink的延伸,除了具有T ...
- 【Leetcode链表】回文链表(234)
题目 请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) ...
- idea使用积累
1.初试化配置参照http://m.blog.csdn.net/robertohuang/article/details/75042116,很详细. 2.idea中忽略.idea,.iml这两个文件 ...
- xml schema介绍
https://www.runoob.com/schema/schema-tutorial.html
- oralce函数 next_day(d1[,c1])
[功能]:返回日期d1在下周,星期几(参数c1)的日期 [参数]:d1日期型,c1为字符型(参数),c1默认为j(即当前日期) [参数表]:c1对应:星期一,星期二,星期三……星期日 [返回]:日期 ...
- HSV转换
HSV中H为色调(Hue).S为饱和度(Saturation).V为亮度(Value)三个分量构成 RGB和HSV颜色空间中进行图像处理的案例,HSV颜色空间分离图像中每一个像素的值或V分量.这个分量 ...
- sspanel 常用审计规则
规则 禁用 BT 防止版权争议 BitTorrent protocol 数据包明文匹配 禁止 百度高精度定位 防止IP与客户端地理位置被记录 (api|ps|sv|offnavi|newvector| ...
- poj 2451 Uyuw's Concert (半平面交)
2451 -- Uyuw's Concert 继续半平面交,这还是简单的半平面交求面积,不过输入用cin超时了一次. 代码如下: #include <cstdio> #include &l ...
- TCP/IP模型的层次结构
- [转]Android Studio实现代码混淆
1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt: bui ...