添加学生信息(Javaweb)
eclipse+MySQL实现
一、前端部分,通过编写jsp实现添加页面:
add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>信息添加</title> <script type="text/javascript"> function check() {
var name1 = document.getElementById("name");
var name2 = document.getElementById("name2");
var mima1 = document.getElementById("password");
var mima2 = document.getElementById("mima2");
if (name1.value == "") {
name2.innerHTML = "请输入用户名".fontcolor("red");
name1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
if (mima1.value == "") {
mima2.innerHTML = "请输入密码".fontcolor("red");
mima1.focus();
return false;
} else {
mima2.innerHTML = "".fontcolor("green");
}
}
function check1() {
var name1 = document.getElementById("name");
var name2 = document.getElementById("name2")
var ref = /^[a-z0-9A-Z_]{4,10}$/
if (name1.value.length > 10 || name1.value.length < 4) {
name2.innerHTML = "用户名应为4到10位".fontcolor("red");
name1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
if (!ref.test(name1.value)) {
name2.innerHTML = "由数字字母下划线组成".fontcolor("red");
name1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
}
function check2() {
var mima1 = document.getElementById("password");
var mima2 = document.getElementById("mima2");
var ref = /^[a-z0-9A-Z_]{4,10}$/
if (mima1.value.length > 10 || mima1.value.length < 4) {
mima2.innerHTML = "密码应为4到10位".fontcolor("red");
mima1.focus();
return false;
} else {
mima2.innerHTML = "".fontcolor("green");
}
if (!ref.test(mima1.value)) {
mima2.innerHTML = "由数字字母下划线组成".fontcolor("red");
mima1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
}
</script> </head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: black;">信息录入</h1>
<form action="adduser" method="post" onsubmit="return check()">
<div>
姓名:<input type="text" id="name" name="name" onchange="check1()" /><span id="name2"></span>
</div>
<div>
密码:<input type="password" id="password" name="password"onchange="check2()" /><span id="mima2"></span>
</div>
<div>
性别: <input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
</div>
<div>
邮箱:<input type="email" name="email" />
</div>
<div>
学校:<select name="school">
<option value="铁大">铁大</option>
<option value="北大">北大</option>
<option value="清华 ">清华</option>
</select>
</div>
<div>
<input type="submit" value="添加" />
<input type="reset" value="重置" />
</div>
</form>
</div>
</body>
</html>
绿色部分用来校验表单,若对用户输入数据无要求可以删去
效果图:
二、后台部分,即Java代码
1、创建相关包,如图所示:
User.java
package bean; public class User {
private int id;
private String name;
private String password;
private String sex;
private String email;
private String school;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public User() {
super();
// TODO 自动生成的构造函数存根
}
public User(String name, String password, String sex, String email, String school) {
super();
this.name = name;
this.password = password;
this.sex = sex;
this.email = email;
this.school = school;
}
}
UserDao.java
package dao; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import bean.User;
import util.DBUtil; public class UserDao { public boolean adduser(User b)
{
Connection con=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
con=DBUtil.getConn();
String sql="insert into user(name,password,sex,email,school) values(?,?,?,?,?)";
pstmt=con.prepareStatement(sql);
pstmt.setString(1, b.getName());
pstmt.setString(2, b.getPassword());
pstmt.setString(3, b.getSex());
pstmt.setString(4, b.getEmail());
pstmt.setString(5, b.getSchool());
pstmt.executeUpdate();
return true;
}
catch (SQLException e) {
System.out.println("添加失败");
e.printStackTrace();
}
finally {
DBUtil.close(rs, pstmt, con);
}
return false;
} }
UserService.java
package service; import bean.User;
import dao.UserDao; public class UserService { UserDao userdao = new UserDao(); public boolean adduser(User b) {
return userdao.adduser(b);
} }
adduser.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 bean.User;
import service.UserService; /**
* Servlet implementation class adduser
*/
@WebServlet("/adduser")
public class adduser extends HttpServlet {
private static final long serialVersionUID = 1L;
UserService service=new UserService(); /**
* @see HttpServlet#HttpServlet()
*/
public adduser() {
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");
String name=request.getParameter("name");
String password=request.getParameter("password");
String sex=request.getParameter("sex");
String email=request.getParameter("email");
String school=request.getParameter("school");
User bean=new User(name,password,sex,email,school);
if(service.adduser(bean))
{
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("add.jsp").forward(request, response);
}
else
{
request.setAttribute("message", "添加失败");
request.getRequestDispatcher("add.jsp").forward(request, response);
} }
/**
* @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);
}
}
DBUtil.java
package util; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DBUtil { private static final String db_url="jdbc:mysql://localhost:3306/mmm?useUnicode=true&characterEncoding=GB18030&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true";
public static String db_user = "root";
public static String db_pass = "123456";//数据库密码 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();
}
}
}
}
三、数据库中相关表的创建
添加学生信息(Javaweb)的更多相关文章
- 从C#中通过Windows窗体添加信息到数据库 (添加学生信息)
如上图所示界面,当我们点击保存按钮时将会将表格中的数据保存到数据库中去,与数据库进行一个交互 第一步我们就是要获取到表格中的数据 string pwd = textpwd.Text; //获得第一次输 ...
- MVC学生管理系统-阶段II(添加学生信息)
项目源码 :https://download.csdn.net/download/weixin_44718300/11091042 前期准备,主体框架,学生列表显示 请看上一篇文章 本文是对阶段 ...
- javaweb之添加学生信息
1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单选框或下拉框 ...
- javaweb添加学生信息
连接数据库已经进行判断 要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分 ...
- java7连接数据库 网页 添加学生信息测试
石家庄铁道大学2019年秋季 2018 级课堂测试试卷(六)(10分) 课程名称: JAVA语言程序设计 任课教师: 王建民 考试时间: 150 分钟 一. 考试要求: 1登录账号 ...
- 添加学生信息(java wb)
要求: 1.登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头: 2.登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成: 3.性别:要求用单选框或下拉框实 ...
- web添加学生信息(首发web)
程序思路,先在JSP上画好页面,然后再创建一Servlet文件用于判断在网页上操作是否正确,还需要与数据库相连接,用DBUtile文件连接数据库,用Dao层来实现数据的增加,用Service来服务于D ...
- 向数据库添加学生信息。存放在REQUEST对象里
代码前几天已经发过了,但是程序一直还没运行出来,今天重新建立了一个数据库,才可以,下面补充上数据截图
- javeweb_学生信息添加系统
在text.jsp中画出界面,以及设置提交选项的限制 <%@ page language="java" contentType="text/html; charse ...
随机推荐
- 714 - Copying Books——[贪心、二分查找]
Before the invention of book-printing, it was very hard to make a copy of a book. All the contents h ...
- vue-learning:39 - router - vue-router的基本使用
vue-router路由的基本使用 一张图阐述vue-router的基本使用步骤 // 0. 如果全局使用CDN引入:vue 引入在前,vue-router引入在后 // <script src ...
- CF1169(div2)题解报告
CF1169(div2)题解报告 A 不管 B 首先可以证明,如果存在解 其中必定有一个数的出现次数大于等于\(\frac{m}{2}\) 暴力枚举所有出现次数大于等于$\frac{m}{2} $的数 ...
- The Struts dispatcher cannot be found异常的解决方法
系统错误:HTTP Status 500 异常信息:The Struts dispatcher cannot be found. This is usually caused by using St ...
- 第二阶段:1.流程图:10.visio绘制泳道图
选择跨智能 同时水平 设置好泳道图标题以及泳道名字 泳道位置可以拖拽更换 左侧有一些基本的形状 包括分隔符等等 添加分隔符并填上分隔符上面的阶段名称 左边选择形状界面 然后拖拽使用 同时可以用连接线链 ...
- javascript继承的几种方法
继承是面向对象编程中很重要的概念,在其它面向对象的语言中大都很简单,例如java中有关键词extends来实现 javascript语言在ES6也新增了extends关键词可以实现继承,用法与java ...
- RecursiveTask和RecursiveAction的使用总结
一:什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架.我们再通 ...
- Appium+Pytest实现app并发测试
前言 这个功能已经写完很长时间了,一直没有发出来,今天先把代码发出来吧,有一些代码是参考网上写的,具体的代码说明今天暂时先不发了,代码解释的太详细还得我花点时间^_^, 毕竟想让每个人都能看明白也不容 ...
- 深入ThreadLocal的底层实现机制以及对应的使用风险
学习Java中常用的开源框架,Mybatis.Hibernate中线程通过数据库连接对象Connection,对其数据进行操作,都会使用ThreadLocal类来保证Java多线程程序访问和数据库数据 ...
- 【题解】ARC101F Robots and Exits(DP转格路+树状数组优化DP)
[题解]ARC101F Robots and Exits(DP转格路+树状数组优化DP) 先删去所有只能进入一个洞的机器人,这对答案没有贡献 考虑一个机器人只能进入两个洞,且真正的限制条件是操作的前缀 ...