志愿者系统--增删改查
今天又强化了一下基础知识,想起来曾经做的一个测试还有的地方不太完善,我就将其改善了一番。明天早上会自己过一遍选课系统,看自己再时间内是否有完成的能力。
我先把java代码发到上面
dao层:
package com; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.User; public class dao { //添加 //添加入Grade表里 public boolean insert(Grade grade) { String sql="insert into q (name,sex,nation,time,age,zzmm,class_) values('"+grade.getName()+"','"+grade.getSex()+"','"+grade.getNation()+"','"+grade.getTime()+"','"+grade.getAge()+"','"+grade.getZzmm()+"','"+grade.getFuwu()+"')"; System.out.println(sql); //insert语句: //insert INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...); //注意:insert这里 values(100,'李泽宇','"+bianliang+"'),数字可以直接上,字符串的话用 '',变量的话要用 '"++"' Connection conn=DBUtil.getConn();//数据库连接,加载驱动 Statement state=null;//数据库操作 try { state=conn.createStatement();//实例化Statement对象,方便对sql语句进行操作 state.executeUpdate(sql); //执行数据库更新操作用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句, //例如CREATETABLE和DROPTABLE,(创建表和删除表) }catch(Exception e)//当try语句中出现异常时,会执行catch中的语句 { e.printStackTrace();//捕获异常的语句 } finally //finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下。 { DBUtil.close(state, conn); //close释放资源 } return false; } //删除 //根据ID删除 public boolean delete(String name) { String sql="delete from q where name='"+name+"'" ; //删除语句: //delete from table_name where some_colume=some_value Connection conn=DBUtil.getConn(); Statement state=null; try { state=conn.createStatement(); state.executeUpdate(sql); }catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } return true; } // //修改 //根据学号修改 public boolean update(Grade grade) { String sql="update q set sex='"+grade.getSex()+"',nation='"+grade.getNation()+"',time='"+grade.getTime()+"',age='"+grade.getAge()+"',zzmm='"+grade.getZzmm()+"',class_='"+grade.getFuwu()+"' where name='"+grade.getName()+"' "; //update语句: //update table_name set column1=value1,column2=value2 where some_column=some_value; Connection conn=DBUtil.getConn(); Statement state=null; try { state=conn.createStatement(); state.executeUpdate(sql); }catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } return false; } //查询 //查询全部并存入list //List指的是集合.<>是泛型,里面指定了这个集合中存放的是什么数据 //泛型是程序设计语言的一种特性。 //允许程序员在强类型程序设计语言中编写代码时定义一些可变部分, //但是,那些部分在使用前必须作出指明。 public List<Grade> list() { String sql="select * from q "; //select语句 //select * from tabel_name 这是查询所有,若要查询某一列 //select column1_name,column2_name,column3_name from table_name List<Grade>list=new ArrayList<>(); //给集合list创造(new)一个存储空间用于存放数据 Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); Grade grade=null; while(rs.next()) //这里表示,当rs.next()有值得时候,即收到查询结果 { String NAME=rs.getString("name"); //注意:这里用双引号,ID是表grade_student里的ID列 String sex=rs.getString("sex"); String nation=rs.getString("nation"); String time=rs.getString("time"); String age=rs.getString("age"); String zzmm=rs.getString("zzmm"); String fuwu=rs.getString("class_"); grade=new Grade(NAME,sex,nation,time,age,zzmm,fuwu); list.add(grade); //表示,把bean里的数据存入到list当中 } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } return list; } public boolean add1(User user) { // TODO Auto-generated method stub String sql = "SELECT * FROM user WHERE username='"+user.getUsername()+"' and password='"+user.getPassword()+"' "; Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; ResultSet RS = null; try { state = conn.createStatement(); RS=state.executeQuery(sql); if(RS.next()) { f=true; } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } return f; } public Grade selectByName(String name) { // TODO Auto-generated method stub String sql="select * from q where name like '%"+name+"%'"; Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); while(rs.next()) { String Name=rs.getString("name"); String sex=rs.getString("sex"); String nation=rs.getString("nation"); String time=rs.getString("time"); String age=rs.getString("age"); String zzmm=rs.getString("zzmm"); String fuwu=rs.getString("class_"); Grade grade=new Grade(Name,sex,nation,time,age,zzmm,fuwu); return grade; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return null; } //验证学生是否唯一 // public boolean id(String id) { // // boolean flag = false; // // String sql = "select ID from grade_student where ID = '" + id + "'"; // Connection conn = DBUtil.getConn(); // Statement state = null; // ResultSet rs = null; // // try { // state = conn.createStatement(); // rs = state.executeQuery(sql); // //要用statement类的executeQuery()方法来下达select指令以查询数据库, // //executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。 // while (rs.next()) { // flag = true; // } // } // catch (SQLException e) { // e.printStackTrace(); // } finally { // DBUtil.close(rs, state, conn); // } // return flag; // } }
两个servlet层:
package com; import java.io.IOException; import java.util.List; 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 com.service; import com.User; @WebServlet("/servlet") public class servlet extends HttpServlet // 继承的是 HttpServlet方法,和网页交互的方法 { private static final long serialVersionUID = 1L; service service = new service(); // 方法选择 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // req是Request(请求)的简写,指的是从jsp/html界面请求回数据,即 jsp/html → 底层 // resp是Response(回答)的简写,指的是发送给jsp/html的数据,,即 底层 → jsp/html req.setCharacterEncoding("utf-8");// 设置从jsp或HTML中请求数据的值,也就是设置为中文,防止乱码 String method = req.getParameter("method");// getParameter()获取的是客户端设置的数据。 if ("insert".equals(method)) { insert(req, resp); } // // 增 else if ("delete".equals(method)) { delete(req, resp); } // // 删 else if ("update".equals(method)) { update(req, resp); } // 改 else if ("list".equals(method)) { list(req, resp); }else if ("add1".equals(method)) { add1(req, resp); } // 查 } // 添加 private void insert(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { // 首先读取前端网页数据并将数据存入我创建的grade存储空间里,即 jsp/html → servlet req.setCharacterEncoding("utf-8"); // 从网页获得数据 String name = req.getParameter("name"); String sex = req.getParameter("sex"); // 因为req.getParameter只能获得String类型的数据 // 所以下面需要用Integer.parseInt(req.getParameter())来把String类型的数据转换成我们所需的int数据 String nation = req.getParameter("nation"); String time = req.getParameter("time"); String age = req.getParameter("age"); String zzmm = req.getParameter("zzmm"); String s[]=new String[10]; s[0]=""; s = req.getParameterValues("category"); String fuwu=""; for(int i=0;i<s.length;i++) { fuwu+=s[i]; if(i!=s.length-1) { fuwu+=","; } } Grade grade = new Grade(name, sex,nation,time,age,zzmm,fuwu); // 其次进行把grade里的数据与添加到数据库里,即 servlet → mysql数据库 // 并跳转,req.getRequestDispatcher("add.jsp").forward(req, // resp);这一步是跳转到前端jsp/html界面 if (service.insert(grade)) // 如果添加成功 { req.setAttribute("message", "添加"+grade.getName()+"成功"); // 这里表示,在req的作用域中设置一个massage变量,变量内容是:添加成功 // 然后,当跳转到它下一个界面时,这个作用域里的值可以通过Object message // =request.getAttribute("message")拿出来使用 req.getRequestDispatcher("index.jsp").forward(req, resp); // 处理完了,分发到下一个JSP页面或者下一个Action继续处理。 } else { req.setAttribute("message", "添加失败!"); req.getRequestDispatcher("insert.jsp").forward(req, resp); } } // 删除delete private void delete(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("UTF-8"); String name = req.getParameter("name"); service.delete(name); // 进行数据库的删除操作 req.setAttribute("message", "删除成功"); req.getRequestDispatcher("index.jsp").forward(req, resp); } // 修改update private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String name = req.getParameter("name"); String sex = req.getParameter("sex"); String action = req.getParameter("nation"); String time = req.getParameter("time"); String age = req.getParameter("age"); String zzmm = req.getParameter("zzmm"); String s[]=new String[10]; s[0]=""; s = req.getParameterValues("category"); String fuwu=""; for(int i=0;i<s.length;i++) { fuwu+=s[i]; if(i!=s.length-1) { fuwu+=","; } } Grade user = new Grade(name,sex,action,time,age,zzmm,fuwu); service.update(user);// 进行数据库的修改操作 req.setAttribute("message", "修改成功"); req.setAttribute("user", user); req.getRequestDispatcher("delete.jsp").forward(req, resp); // ?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } // 全部 private void add1(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); String username = req.getParameter("username"); String password = req.getParameter("password"); User user = new User(username,password); dao dao =new dao(); boolean f=dao.add1(user); if(f) { req.setAttribute("message", "登录成功!"); req.getRequestDispatcher("index.jsp").forward(req,resp); } else { req.setAttribute("message", "用户名或者账号错误!"); req.getRequestDispatcher("denglu.jsp").forward(req,resp); } } private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); List<Grade> grade_list = service.list(); req.setAttribute("grade_list", grade_list); req.getRequestDispatcher("list.jsp").forward(req, resp); } }
package com; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class findservlet */ @WebServlet("/findservlet") public class findservlet extends HttpServlet { private static final long serialVersionUID = 1L; service service=new service(); protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //req是Request(请求)的简写,指的是从jsp/html界面请求回数据,即 jsp/html → 底层 //resp是Response(回答)的简写,指的是发送给jsp/html的数据,,即 底层 → jsp/html req.setCharacterEncoding("utf-8");//设置从jsp或HTML中请求数据的值,也就是设置为中文,防止乱码 String method=req.getParameter("method"); if(method.equals("selectByName1")) { selectByName1(req,resp); }else if(method.equals("selectByName2")) { selectByName2(req,resp); }else if(method.equals("selectByName3")) { selectByName3(req,resp); } } private void selectByName1(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String name=req.getParameter("Name"); System.out.println(name+"...."); Grade user=service.selectByName(name); if(user==null) { req.setAttribute("message", "未找到此人!"); req.getRequestDispatcher("find.jsp").forward(req,resp); }else { System.out.println("**"+user.getName()); req.setAttribute("user", user); req.getRequestDispatcher("delete.jsp").forward(req,resp); } //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } private void selectByName2(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String name=req.getParameter("name"); Grade user=service.selectByName(name); if(user==null) { req.setAttribute("message", "未找到此人!"); req.getRequestDispatcher("find.jsp").forward(req,resp); }else { req.setAttribute("user", user); req.getRequestDispatcher("update.jsp").forward(req,resp); } //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } private void selectByName3(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String name=req.getParameter("name"); System.out.println("--"+name); Grade user=service.selectByName(name); if(user==null) { req.setAttribute("message", "未找到此人!"); req.getRequestDispatcher("find.jsp").forward(req,resp); }else{ req.setAttribute("user", user); req.getRequestDispatcher("delete.jsp").forward(req,resp); } //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } }
service层:
package com; import java.util.List; /** * CourseService * 服务层 * @author Hu * */ //service层相当于一个封装层,封装那些与业务相关的通用数据接口 public class service { dao cdao=new dao(); /** * 添加 * @param course * @return */ public boolean insert(Grade grade) { // boolean f=false; // if(!cdao.id(grade.getID())) // { // cdao.insert(grade); // f=true; // } cdao.insert(grade); return true; } //删除 public void delete(String name) { cdao.delete(name); System.out.println(2); } //修改 public void update (Grade grade) { cdao.update(grade); } //通过ID得到一个Course //通过name得到一个Course //查找 //全部数据遍历 public List<Grade> list() { return cdao.list(); } public Grade selectByName(String name) { // TODO Auto-generated method stub return cdao.selectByName(name); } }
DBUtil层:
package com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBUtil { //联结字符串 //数据库名test public static String db_url = "jdbc:mysql://localhost:3306/user?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; //数据库用户名 public static String db_user = "root"; //数据库密码名 public static String db_pass = "123"; public static Connection getConn () { //声明与数据库的连接并实例化为null 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; } /** * 关闭连接 * @param state * @param 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(); } } } }
实物类:
package com; public class Grade { private String name; private String sex; private String nation; private String time; private String age; private String zzmm; private String fuwu; public String getFuwu() { return fuwu; } public void setFuwu(String fuwu) { this.fuwu = fuwu; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getNation() { return nation; } public void setNation(String nation) { this.nation = nation; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getZzmm() { return zzmm; } public void setZzmm(String zzmm) { this.zzmm = zzmm; } public Grade(String name, String sex, String nation, String time, String age, String zzmm, String fuwu) { super(); this.name = name; this.sex = sex; this.nation = nation; this.time = time; this.age = age; this.zzmm = zzmm; this.fuwu = fuwu; } }
package com; public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public User(String username, String password) { super(); this.username = username; this.password = password; } }
想着多加强一些知识练习,就给这个程序也加了一个登录界面,界面不太美观。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> function check() { var username = document.getElementById("username"); var password = document.getElementById("password"); var span1 = document.getElementById("span1"); var span2 = document.getElementById("span2"); var judge= /^[\w\u4e00-\u9fa5]{3,9}$/; var userlength=document.getElementById("username").value.length; var user1length=document.getElementById("password").value.length; if((!judge.test(username.value))||userlength<4||userlength>10) { span1.innerHTML="用户名必须为4-10位数字/字母/下划线组成!"; username.focus; return false; } else{ span1.innerHTML=""; } if((!judge.test(password.value))||(user1length<4||user1length>10)) { span2.innerHTML="密码必须为4-10位数字/字母/下划线组成!"; password.focus; return false; }else{ span2.innerHTML=""; } } </script> </head> <body background=""> <% Object message = request.getAttribute("message"); if (message != null && !"".equals(message)) { %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <% } %> <form action="servlet?method=add1" method="post" onsubmit="return check()"> <table style="position:relative;top:200px;left:600px"> <tr> <td>用户名 </td> <td><input type="text" id="username" name="username" placeholder="Username"></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td><span id="span1" style="color:red;font-size:15px;text-align:left"></span></td> <td></td> </tr> <tr> <td> 密码 </td> <td><input type="password" id="password" name="password" placeholder="Password"></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td><span id="span2" style="color:red;font-size:15px;text-align:left"></span></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> <tr align="center" > <td colspan="3" > <input type="submit" value="登陆" name="botton" style="position:relative;width:170px;heigth:60px;" > </td> </tr> </table> </form> </body> </html>
登录界面截图:
登录进去的主界面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>首页</title> <style> .a{ font-size: 26px; margin-top: 20px; } </style> </head> <body style="background-color: #9999CC "> <% 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: red;">青年志愿者服务网</h1> <div class="a"> <a href="insert.jsp">信息登记</a> </div> <div class="a"> <a href="find.jsp">删除志愿者信息</a> </div> <div class="a"> <a href="find.jsp">修改志愿者信息</a> </div> <div class="a"> <a href="servlet?method=list">志愿者信息浏览</a> </div> <div class="a"> <a href="find.jsp">查询志愿者信息</a> </div> </div> </body> </html>
主页面截图:
增添信息功能:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加信息</title>
<style>
.a{
margin-top: 20px;
}
.b{
font-size: 20px;
width: 160px;
color: white;
background-color: greenyellow;
}
</style>
</head>
<body style=" #9999CC ">
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加信息</title>
<style>
.a{
margin-top: 20px;
}
.b{
font-size: 20px;
width: 160px;
color: white;
background-color: greenyellow;
}
</style>
</head>
<body style=" #9999CC ">
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("${message}"); //弹出对话框
</script>
<%} %>
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("${message}"); //弹出对话框
</script>
<%} %>
<div align="center">
<h1 style="color: blue;">添加信息</h1>
<a href="index.jsp">返回主页</a>
<form action="servlet?method=insert" method="post" onsubmit="return check()">
<div class="a">
姓名:<input type="text" id="name" name="name" />
</div>
<div class="a">
性别: <input type="radio" id="sex" name="sex" value="男"/>男 <input type="radio" id="sex" name="sex" value="女"/>女
</div>
<div class="a">
民族:<input type="text" id="nation" name="nation" />
</div>
<div class="a">
注册时间: <input type="text" id="time" name="time" placeholder="例:20191118"/>
</div>
<div class="a">
年龄:<input type="text" id="age" name="age" />
</div>
<div class="a">
政治面貌: <select name="zzmm" id="zzmm">
<option value="群众">群众</option>
<option value="共青团员">共青团员</option>
<option value="中共党员">中共党员</option>
</select>
</div>
<div class="a">
<h4>服务类型</h4>
<input type="checkbox" name="category" value="扶危济贫" />扶危济贫
<input type="checkbox" name="category" value="敬老助残" />敬老助残
<input type="checkbox" name="category" value="社区服务" />社区服务
<input type="checkbox" name="category" value="秩序维护" />秩序维护
<input type="checkbox" name="category" value="文体服务" />文体服务 <br>
<input type="checkbox" name="category" value="环境保护" />环境保护
<input type="checkbox" name="category" value="治安防范" />治安防范
<input type="checkbox" name="category" value="医疗救治" />医疗救治
<input type="checkbox" name="category" value="法律援助" />法律援助
<input type="checkbox" name="category" value="大型活动" />大型活动 <br>
<input type="checkbox" name="category" value="心理疏导" />心理疏导
<input type="checkbox" name="category" value="精神抚慰" />精神抚慰
<input type="checkbox" name="category" value="支教支医" />支教支医
<input type="checkbox" name="category" value="科学普及" />科学普及
<input type="checkbox" name="category" value="应急救援" />应急救援 <br>
<input type="checkbox" name="category" value="便民服务" />便民服务
<input type="checkbox" name="category" value="民事调解" />民事调解
<input type="checkbox" name="category" value="文明引导" />文明引导
<input type="checkbox" name="category" value="安全生产" />安全生产
<input type="checkbox" name="category" value="禁毒宣传" />禁毒宣传
</div>
<div >
<button id="btnOperate" type="submit" class="class="layui-btn layui-btn-normal layui-btn-radius"">添 加</button>
</div>
</form>
</div>
<script type="text/javascript">
function check()
{
var name = document.getElementById("name");
var sex = document.getElementById("sex");
var nation= document.getElementById("nation");
var time = document.getElementById("time").value;
var age = document.getElementById("age");
var zzmm = document.getElementById("zzmm");
var fuwu = document.getElementsByName("category");
//判断是否空
if(name.value == '')
{
alert('姓名为空');
name.focus();
return false;
}
else if(sex.value == '')
{
alert('性别为空');
sex.focus();
return false;
}
else if(nation.value == '')
{
alert('民族为空');
nation.focus();
return false;
}
else if(time.length != 8)
{
alert('注册日期格式不对');
<h1 style="color: blue;">添加信息</h1>
<a href="index.jsp">返回主页</a>
<form action="servlet?method=insert" method="post" onsubmit="return check()">
<div class="a">
姓名:<input type="text" id="name" name="name" />
</div>
<div class="a">
性别: <input type="radio" id="sex" name="sex" value="男"/>男 <input type="radio" id="sex" name="sex" value="女"/>女
</div>
<div class="a">
民族:<input type="text" id="nation" name="nation" />
</div>
<div class="a">
注册时间: <input type="text" id="time" name="time" placeholder="例:20191118"/>
</div>
<div class="a">
年龄:<input type="text" id="age" name="age" />
</div>
<div class="a">
政治面貌: <select name="zzmm" id="zzmm">
<option value="群众">群众</option>
<option value="共青团员">共青团员</option>
<option value="中共党员">中共党员</option>
</select>
</div>
<div class="a">
<h4>服务类型</h4>
<input type="checkbox" name="category" value="扶危济贫" />扶危济贫
<input type="checkbox" name="category" value="敬老助残" />敬老助残
<input type="checkbox" name="category" value="社区服务" />社区服务
<input type="checkbox" name="category" value="秩序维护" />秩序维护
<input type="checkbox" name="category" value="文体服务" />文体服务 <br>
<input type="checkbox" name="category" value="环境保护" />环境保护
<input type="checkbox" name="category" value="治安防范" />治安防范
<input type="checkbox" name="category" value="医疗救治" />医疗救治
<input type="checkbox" name="category" value="法律援助" />法律援助
<input type="checkbox" name="category" value="大型活动" />大型活动 <br>
<input type="checkbox" name="category" value="心理疏导" />心理疏导
<input type="checkbox" name="category" value="精神抚慰" />精神抚慰
<input type="checkbox" name="category" value="支教支医" />支教支医
<input type="checkbox" name="category" value="科学普及" />科学普及
<input type="checkbox" name="category" value="应急救援" />应急救援 <br>
<input type="checkbox" name="category" value="便民服务" />便民服务
<input type="checkbox" name="category" value="民事调解" />民事调解
<input type="checkbox" name="category" value="文明引导" />文明引导
<input type="checkbox" name="category" value="安全生产" />安全生产
<input type="checkbox" name="category" value="禁毒宣传" />禁毒宣传
</div>
<div >
<button id="btnOperate" type="submit" class="class="layui-btn layui-btn-normal layui-btn-radius"">添 加</button>
</div>
</form>
</div>
<script type="text/javascript">
function check()
{
var name = document.getElementById("name");
var sex = document.getElementById("sex");
var nation= document.getElementById("nation");
var time = document.getElementById("time").value;
var age = document.getElementById("age");
var zzmm = document.getElementById("zzmm");
var fuwu = document.getElementsByName("category");
//判断是否空
if(name.value == '')
{
alert('姓名为空');
name.focus();
return false;
}
else if(sex.value == '')
{
alert('性别为空');
sex.focus();
return false;
}
else if(nation.value == '')
{
alert('民族为空');
nation.focus();
return false;
}
else if(time.length != 8)
{
alert('注册日期格式不对');
return false;
}
else if(age.value == '')
{
alert('年龄为空');
age.focus();
return false;
}
var arr = new Array();
var items = document.getElementsByName("category");
for (i = 0; i < items.length; i++) {
if (items[i].checked) {
arr.push(items[i].value);
}
}
if(arr.length>4){
alert('只能最多选择四个!');
return false;
}
}
</script>
</body>
</html>
}
else if(age.value == '')
{
alert('年龄为空');
age.focus();
return false;
}
var arr = new Array();
var items = document.getElementsByName("category");
for (i = 0; i < items.length; i++) {
if (items[i].checked) {
arr.push(items[i].value);
}
}
if(arr.length>4){
alert('只能最多选择四个!');
return false;
}
}
</script>
</body>
</html>
界面截图:
删除功能:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body style="background-color: #9999CC "> <% Object message = request.getAttribute("message"); Object user = request.getAttribute("user"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <table align="center" width="900" border="1"> <tr > <td colspan="9" align="center"> <a href="index.jsp">返回首页</a> </td> </tr> <tr> <td>姓名</td> <td>性别</td> <td>民族</td> <td>注册时间</td> <td>年龄</td> <td>政治面貌</td> <td>服务类型</td> <td>操作</td> <td>操作</td> </tr> <tr> <td>${user.name}</td> <td>${user.sex}</td> <td>${user.nation}</td> <td>${user.time}</td> <td>${user.age}</td> <td>${user.zzmm}</td> <td>${user.fuwu}</td> <td><a href="servlet?method=delete&name=${user.name}">删除</a></td> <td><a href="findservlet?method=selectByName2&name=${user.name}">修改</a></td> </tr> </table> </body> </html>
截图:
修改:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>按名字查询</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <% Object message = request.getAttribute("message"); Object grade_list = request.getAttribute("grade_list"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <body style="background-color: #9999CC "> <div align="center"> <h1 style="color: red;">信息修改</h1> <a href="index.jsp">返回主页</a> <form action="servlet?method=update" method="post" onsubmit="return check()"> <div class="a"> 姓名:<input type="text" id="name" name="name" readonly="true" value="${user.name}"/> </div> <div class="a"> 性别:<input type="text" id="sex" name="sex" readonly="true" value="${user.sex}"/> </div> <div class="a"> 民族:<input type="text" id="nation" name="nation" value="${user.nation}"/> </div> <div class="a"> 时间:<input type="text" id="time" name="time" value="${user.time}"/> </div> <div class="a"> 年龄:<input type="text" id="age" name="age" value="${user.age}"/> </div> <div class="a"> 政治面貌:<input type="text" id="zzmm" name="zzmm" value="${user.zzmm}"/> </div> <div class="a"> <h4>服务类型</h4> <input type="checkbox" name="category" value="扶危济贫" />扶危济贫 <input type="checkbox" name="category" value="敬老助残" />敬老助残 <input type="checkbox" name="category" value="社区服务" />社区服务 <input type="checkbox" name="category" value="秩序维护" />秩序维护 <input type="checkbox" name="category" value="文体服务" />文体服务 <br> <input type="checkbox" name="category" value="环境保护" />环境保护 <input type="checkbox" name="category" value="治安防范" />治安防范 <input type="checkbox" name="category" value="医疗救治" />医疗救治 <input type="checkbox" name="category" value="法律援助" />法律援助 <input type="checkbox" name="category" value="大型活动" />大型活动 <br> <input type="checkbox" name="category" value="心理疏导" />心理疏导 <input type="checkbox" name="category" value="精神抚慰" />精神抚慰 <input type="checkbox" name="category" value="支教支医" />支教支医 <input type="checkbox" name="category" value="科学普及" />科学普及 <input type="checkbox" name="category" value="应急救援" />应急救援 <br> <input type="checkbox" name="category" value="便民服务" />便民服务 <input type="checkbox" name="category" value="民事调解" />民事调解 <input type="checkbox" name="category" value="文明引导" />文明引导 <input type="checkbox" name="category" value="安全生产" />安全生产 <input type="checkbox" name="category" value="禁毒宣传" />禁毒宣传 </div> <div class="a"> <button type="submit" class="b">修 改</button> </div> </form> </div> <script type="text/javascript"> function check() { var name = document.getElementById("name"); var sex = document.getElementById("sex"); var nation= document.getElementById("nation"); var time = document.getElementById("time").value; var age = document.getElementById("age"); var zzmm = document.getElementById("zzmm"); var fuwu = document.getElementsByName("category"); //判断是否空 if(name.value == '') { alert('姓名为空'); name.focus(); return false; } else if(sex.value == '') { alert('性别为空'); sex.focus(); return false; } else if(nation.value == '') { alert('民族为空'); nation.focus(); return false; } else if(time.length != 8) { alert('注册日期格式不对'); return false; } else if(age.value == '') { alert('年龄为空'); age.focus(); return false; } var arr = new Array(); var items = document.getElementsByName("category"); for (i = 0; i < items.length; i++) { if (items[i].checked) { arr.push(items[i].value); } } if(arr.length>4){ alert('只能最多选择四个!'); return false; } } </script> </body> </html>
(内容回写,有点不足,就是多选框下拉框没有弄回写功能,修改成功可以再次显示该人所有信息)截图:
浏览全部信息:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>遍历</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } .tb,td { border: 1px solid black; font-size: 22px; } </style> </head> <body style="background-color: #9999CC "> <% Object message = request.getAttribute("message"); Object grade_list = request.getAttribute("grade_list"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: red;">信息列表</h1> <a href="index.jsp">返回主页</a> <table class="tb"> <tr> <td>姓名</td> <td>性别</td> <td>民族</td> <td>注册时间</td> <td>年龄</td> <td>政治面貌</td> <td>服务类型</td> </tr> <c:forEach items="${grade_list}" var="item"> <tr> <td><a href="findservlet?method=selectByName3&name=${item.name}">${item.name}</a></td> <td>${item.sex}</td> <td>${item.nation}</td> <td>${item.time}</td> <td>${item.age}</td> <td>${item.zzmm}</td> <td>${item.fuwu}</td> </tr> </c:forEach> </table> </div> </body> </html>
截图(点击名字可以跳转到详细浏览个人信息页面):
简单用名字实现模糊查询:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style> .a{ margin-top: 20px; } </style> </head> <body style="background-color: #9999CC "> <% Object message = request.getAttribute("message"); Object grade_list = request.getAttribute("grade_list"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <form action="findservlet?method=selectByName1" method="post"> <div align="center" class="a"> 姓名:<input type="text" name="Name"> <div class="a"> <button type="submit" >确 定</button> </div> </div> </form> </body> </html>
截图:
做的h还有很多不足,以后会更加努力!