2019年11月18日 JAVA期中考试 增删改查
一、题目
石家庄铁道大学
青年志愿者服务网(20分)
1、项目需求:
为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需建设青年志愿者服务网,推进石家庄铁道大学青年志愿者事业发展。
2.系统要求与功能设计
2.1 页面功能要求
(1)能够在Tomcat服务器中正确部署,并通过浏览器查看;(1分)
(2)网站页面整体风格统一;
图1 青年志愿者信息管理系统功能结构图
(3)主页面:要求显示志愿者登记、修改志愿者信息、删除志愿者信息、查询志愿者信息,志愿者信息浏览五个子菜单。(1分)
(4)志愿者登记页面:(5分)
①完成添加志愿者个人信息登记,基本信息如下表所示
![](https://img2018.cnblogs.com/i-beta/1718812/201911/1718812-20191121092209844-1838538986.png)
②性别要求采用单选框形式,选项包括“男”、“女”两项;
③政治面目要求采用下拉框选择,选项内容包括“群众”、“共青团员”、“中共党员”三项。
④服务类别采用多选框形式选择,最多选择四项服务类别。
⑤点击“提交”按钮,保存成功则跳转到志愿者基本信息浏览界面,新录入的信息置顶显示。失败则提示错误信息,返回当前页面
评分标准:
①完成志愿者登记页面(未完成0分,完成1分)
②保存志愿者信息入库(未完成0分,完成1分)
③性别单选框录入(未完成0分,完成0.5分)
④ 政治面目下拉框录入(未完成0分,完成0.5分)
⑤服务类别多选框录入功能(未完成0分,完成0.5分)
⑥服务类别限制最多四项选项功能;(未完成0分,完成0.5分)
⑦提交后页面跳转功能;(未完成0分,完成1分)
(5)修改志愿者个人信息页面:
输入志愿者姓名,显示其余信息,可对性别、政治面目、服务类别进行修改。(性别、政治面目、服务类别必须符合录入要求);如果该名志愿者信息数据库不存在,则提示“该志愿者信息不存在”。(3分)
评分标准:
①完成修改志愿者个人信息页面(未完成0分,完成0.5分)
② 实现数据库中信息更新(未完成0分,完成1分)
③修改信息判断是否符合要求。(未完成0分,完成0.5分)
④输入姓名,显示其余信息,若该信息不存在,提示错误信息;(未完成0分,完成1分)
(6)删除志愿者信息页面:录入志愿者姓名,显示详细信息后,点击“删除”按钮,弹出提示框,提示“是否确认删除该志愿者信息”,确认后删除该信息。(2分)
评分标准:
①输入志愿者姓名可显示其余信息。(未完成0分,完成0.5分)
②提示确认信息。(未完成0分,完成0.5分)
③对应删除数据库中信息(未完成0分,完成1分)
(7)浏览志愿者信息页面:(2分)
以列表形式显示志愿者基本信息,结果列表中显示姓名、性别,民族、政治面目基本信息,点击姓名,可以跳转到个人详细信息。
①实现以列表形式显示志愿者基本信息,结果列表中显示姓名、性别,民族、政治面目基本信息(未完成0分,完成1分)
②实现跳转个人详细信息页面。(未完成0分,完成1分)
(8)查询志愿者信息页面:(3分)
要求可以根据志愿者姓名、性别、民族、政治面目、服务类别、注册时间六种条件实现模糊查询,输出结果以列表形式显示,显示姓名、性别,民族、政治面目基本信息,点击列表中的姓名,跳转到志愿者个人详细信息页面。
评分标准:
①缺少一种查询条件扣除0.5分。(未完成0分,完成3分)
2.2 功能要求
(1)设计出合理的数据库和数据表,要求使用mysql、sqlserver、oracle三种数据库中一种(1分)
(2)使用Serverlet实现页面交互(1分)。
(3)使用Java Bean封装数据库连接操作(1分。)
二、源程序代码
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package Dao; 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 DBUtil.DBUtil; import User.User; public class Dao{ //Dao层实现对数据库的操作 //增 //添加到 %表名% 表中 public boolean insert(User user){ //插入的sql语句 String sql="insert into volunteer(name,sex,ethnic,time,old,landscape) values('"+user.getName()+"','"+user.getSex()+"','"+user.getEthnic()+"','"+user.getTime()+"','"+user.getOld()+"','"+user.getLandscape()+"')"; System.out.println(sql); //insert语句: //insert into table_name (column1,column2,column3,...) values (value1,value2,value3,...); //注意:insert这里 values(100,'String','"+bianliang+"'),数字可以直接上,字符串的话用 '',变量的话要用 '"++"' Connection conn=DBUtil.getConn();//添加数据库,加载驱动 Statement state=null;//创建statement对象并置空 try { //实例化statement对象 方便操作 state=conn.createStatement(); state.executeUpdate(sql); //执行数据库更新操作用于执行insert、update或delete语句以及SQLDDL(数据定义语言)语句, //例如creattable和droptable,(创建表和删除表) } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常), //经常被用在需要释放资源的情况下。 finally { DBUtil.close(state, conn);//clase 释放资源 } return false; } //删 //根据ID删除 public boolean delete(String name){ //插入sql 语句 String sql="delete from volunteer 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 (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBUtil.close(state, conn); } return false; } //改 //根据ID更改 public boolean update(User user) { //插入sql 语句 String sql="update user set sex='"+user.getSex()+"',ethnic='"+user.getEthnic()+"',time='"+user.getTime()+"',old='"+user.getOld()+"',landscape='"+user.getLandscape()+"' where name='"+user.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) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBUtil.close(state, conn); } return false; } //查 //按照姓名查 public List<User> selectByName(String name1) { //插入sql 语句 String sql="select * from volunteer where name like '%"+name1+"%'"; System.out.println(sql); Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); List<User>list=new ArrayList<>(); while(rs.next()) { String name=rs.getString("name"); String sex=rs.getString("sex"); String ethnic=rs.getString("ethnic"); String time=rs.getString("time"); String old=rs.getString("old"); String landscape=rs.getString("landscape"); User user=new User(name,sex,ethnic,time,old,landscape); list.add(user); return list; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return null; } //按姓名查 public List<User> selectBySex(String sex1) { //插入sql 语句 String sql="select * from volunteer where sex = '"+sex1+"'"; System.out.println(sql); Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); List<User>list=new ArrayList<>(); while(rs.next()) { String name=rs.getString("name"); String sex=rs.getString("sex"); String ethnic=rs.getString("ethnic"); String time=rs.getString("time"); String old=rs.getString("old"); String landscape=rs.getString("landscape"); User user=new User(name,sex,ethnic,time,old,landscape); list.add(user); return list; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return null; } //按照民族查 public List<User> selectByEthnic(String ethnic1) { //插入sql 语句 String sql="select * from volunteer where ethnic = '"+ethnic1+"'"; System.out.println(sql); Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); List<User>list=new ArrayList<>(); while(rs.next()) { String name=rs.getString("name"); String sex=rs.getString("sex"); String ethnic=rs.getString("ethnic"); String time=rs.getString("time"); String old=rs.getString("old"); String landscape=rs.getString("landscape"); User user=new User(name,sex,ethnic,time,old,landscape); list.add(user); return list; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return null; } //按照时间查 public List<User> selectByTime(String time1) { //插入sql 语句 String sql="select * from volunteer where time like '%"+time1+"%'"; System.out.println(sql); Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); List<User>list=new ArrayList<>(); while(rs.next()) { String name=rs.getString("name"); String sex=rs.getString("sex"); String time=rs.getString("time"); String ethnic=rs.getString("ethnic"); String old=rs.getString("old"); String landscape=rs.getString("landscape"); User user=new User(name,sex,ethnic,time,old,landscape); list.add(user); return list; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return null; } //按照政治面貌查 public List<User> selectByLandscape(String landscape1) { //插入sql 语句 String sql="select * from volunteer where landscape = '"+landscape1+"'"; System.out.println(sql); Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); List<User>list=new ArrayList<>(); while(rs.next()) { String name=rs.getString("name"); String landscape=rs.getString("landscape"); String ethnic=rs.getString("ethnic"); String time=rs.getString("time"); String old=rs.getString("old"); String sex=rs.getString("sex"); User user=new User(name,sex,ethnic,time,old,landscape); list.add(user); return list; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return null; } //按照年龄查 public List<User> selectByOld(String old1) { //插入sql 语句 String sql="select * from volunteer where old = '"+old1+"'"; System.out.println(sql); Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try { state=conn.createStatement(); rs=state.executeQuery(sql); List<User>list=new ArrayList<>(); while(rs.next()) { String name=rs.getString("name"); String old=rs.getString("old"); String ethnic=rs.getString("ethnic"); String time=rs.getString("time"); String landscape=rs.getString("landscape"); String sex=rs.getString("sex"); User user=new User(name,sex,ethnic,time,old,landscape); list.add(user); return list; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return null; } //遍历 public List<User> list(){ //插入sql语句 String sql="select * from volunteer order by name asc"; //select语句 //select * from tabel_name 这是查询所有,若要查询某一列 //select column1_name,column2_name,column3_name from table_name List<User>list=new ArrayList<>(); //给集合list创造(new)一个存储空间用于存放数据 Connection conn=DBUtil.getConn(); Statement state=null; ResultSet rs=null; try{ state=conn.createStatement(); rs=state.executeQuery(sql); User user=null; while(rs.next()) {//注意:这里用双引号,ID是表user里的ID列 String name=rs.getString("name"); String sex=rs.getString("sex"); String ethnic=rs.getString("ethnic"); String time=rs.getString("time"); String old=rs.getString("old"); String landscape=rs.getString("landscape"); user=new User(name,sex,ethnic,time,old,landscape); list.add(user); //表示,把bean里的数据存入到list当中 } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } return list; } //验证ID唯一 public boolean only(String name) { //定义标记 boolean flag=false; //插入sql语句 String sql="select * from volunteer where name = '"+name+"'"; 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) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(rs, state, conn); } return flag; } }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package Servlet; 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 Service.Service; import User.User; /** * Servlet implementation class SelectServlet */ @WebServlet("/selectServlet") public class SelectServlet 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 way=req.getParameter("way");//getParameter()获取的是客户端设置的数据。 // if("name".equals(way)) { selectByName(req,resp); } // else if("sex".equals(way)) { selectBySex(req,resp); } // else if("ethnic".equals(way)) { selectByEthnic(req,resp); } // else if("old".equals(way)) { selectByOld(req,resp); } // else if("landscape".equals(way)) { selectByLandscape(req,resp); } // else if("time".equals(way)) { selectByTime(req,resp); } } //按照姓名 private void selectByName(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String name=req.getParameter("mes"); List<User> user=service.selectByName(name); req.setAttribute("user", user); req.getRequestDispatcher("find.jsp").forward(req,resp); //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } //按照性别 private void selectBySex(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String sex=req.getParameter("mes"); List<User> user=service.selectBySex(sex); req.setAttribute("user", user); req.getRequestDispatcher("find.jsp").forward(req,resp); //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } //按照年龄 private void selectByOld(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String old=req.getParameter("mes"); List<User> user=service.selectByOld(old); req.setAttribute("user", user); req.getRequestDispatcher("find.jsp").forward(req,resp); //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } //按照民族 private void selectByEthnic(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String ethnic=req.getParameter("mes"); List<User> user=service.selectByEthnic(ethnic); req.setAttribute("user", user); req.getRequestDispatcher("find.jsp").forward(req,resp); //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } //按照政治面貌 private void selectByLandscape(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String landscape=req.getParameter("mes"); List<User> user=service.selectByLandscape(landscape); req.setAttribute("user", user); req.getRequestDispatcher("find.jsp").forward(req,resp); //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } //按照时间 private void selectByTime(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); String time=req.getParameter("mes"); List<User> user=service.selectByTime(time); req.setAttribute("user", user); req.getRequestDispatcher("find.jsp").forward(req,resp); //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package Servlet; import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.util.ArrayList; 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 Service.Service; import User.User; @WebServlet("/servlet") public class Servlet extends HttpServlet { 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("select".equals(method)) { // select(req,resp); // } //遍历 else if("list".equals(method)) { list(req,resp); } } //增 private void insert(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException { //首先读取前端网页数据并将数据存入创建的User存储空间里,即 jsp/html → servlet req.setCharacterEncoding("utf-8");//解码方式 String name=req.getParameter("name"); String sex=req.getParameter("sex"); String ethnic=req.getParameter("ethnic"); String time=req.getParameter("time"); String old=req.getParameter("old"); String landscape=req.getParameter("landscape"); //req.getParameter 只能获得String类型的数据 //如果是其他类型的数据需要用到Integer.parseInt(req.getParameter())来数据类型转换 User user=new User(name,sex,ethnic,time,old,landscape); //其次进行把user里的数据与添加到数据库里,即 servlet → mysql数据库 //并跳转,req.getRequestDispatcher("add.jsp").forward(req, resp);这一步是跳转到前端jsp/html界面 if(service.insert(user)) { //如果添加成功 req.setAttribute("message", "添加成功"); //这里表示,在req的作用域中设置一个massage变量,变量内容是:添加成功 //然后,当跳转到它下一个界面时,这个作用域里的值可以通过Object message =request.getAttribute("message")拿出来使用 req.getRequestDispatcher("login.jsp").forward(req, resp); } else { //处理失败 req.setAttribute("message", "添加重复,请重新输入"); req.getRequestDispatcher("add.jsp").forward(req, resp); } } //删除 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("servlet?method=list").forward(req, resp); } //修改 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 ethnic=req.getParameter("ethnic"); String time=req.getParameter("time"); String old=req.getParameter("old"); String landscape=req.getParameter("landscape"); User user=new User(name,sex,ethnic,time,old,landscape); service.update(user); //对数据库进行修改; req.setAttribute("message", "修改成功"); req.getRequestDispatcher("servlet?method=list").forward(req,resp); //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 } //查 // private void select(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { // req.setCharacterEncoding("utf-8"); // String name=req.getParameter("name"); // List<User> user=service.select(name); // // req.setAttribute("user", user); // req.getRequestDispatcher("find.jsp").forward(req,resp); // //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。 // } //全部 private void list(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8"); List<User> user = service.list(); req.setAttribute("user", user); req.getRequestDispatcher("select.jsp").forward(req,resp); } }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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{ font-size: 26px; margin-top: 20px; } </style> </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: blue;">志愿信息系统</h1> <div class="a"> <a href="add.jsp">添加志愿者信息</a> </div> <div class="a"> <a href="servlet?method=list">删除志愿者信息</a> </div> <div class="a"> <a href="servlet?method=list">修改志愿者信息</a> </div> <div class="a"> <a href="FindOne.jsp">查询志愿者信息</a> </div> <div class="a"> <a href="servlet?method=list">志愿者信息浏览</a> </div> </div> </body> </html>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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> <% 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: blue;">添加信息</h1> <a href="login.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" checked="checked" value="男">男 <input type="radio" id="sex" name="sex" value="女">女 </div> <div class="a"> 民族:<input type="text" id="ethnic" name="ethnic" /> </div> <div class="a"> 时间:<input type="text" id="time" name="time" /> </div> <div class="a"> 年龄:<input type="text" id="old" name="old" /> </div> <div class="a"> 政治面貌:<select name="landscape" style="width:150px"> <option value="群众">群众</option> <option value="共青团员">共青团员</option> <option value="中共党员">中共党员</option> </select> </div> <div class="a"> 服务类别(最多4项): <br> <input type="checkbox" name="matters" value="扶危济困" οnclick="chkbox(this);"/>扶危济困 <input type="checkbox" name="matters" value="敬老助残" οnclick="chkbox(this);"/>敬老助残 <input type="checkbox" name="matters" value="社区服务" οnclick="chkbox(this);"/>社区服务 <input type="checkbox" name="matters" value="秩序维护" οnclick="chkbox(this);"/>秩序维护<br> <input type="checkbox" name="matters" value="文体服务" οnclick="chkbox(this);"/>文体服务 <input type="checkbox" name="matters" value="环境保护" οnclick="chkbox(this);"/>环境保护 <input type="checkbox" name="matters" value="治安防范" οnclick="chkbox(this);"/>治安防范 <input type="checkbox" name="matters" value="医疗救治" οnclick="chkbox(this);"/>医疗救治 <br> <input type="checkbox" name="matters" value="法律援助" οnclick="chkbox(this);"/>法律援助 <input type="checkbox" name="matters" value="大型活动" οnclick="chkbox(this);"/>大型活动 <input type="checkbox" name="matters" value="心理疏导" οnclick="chkbox(this);"/>心理疏导 <input type="checkbox" name="matters" value="精神抚慰" οnclick="chkbox(this);"/>精神抚慰<br> <input type="checkbox" name="matters" value="支教支医" οnclick="chkbox(this);"/>支教支医 <input type="checkbox" name="matters" value="科学普及" οnclick="chkbox(this);"/>科学普及 <input type="checkbox" name="matters" value="应急救援" οnclick="chkbox(this);"/>应急救援 <input type="checkbox" name="matters" value="便民服务" οnclick="chkbox(this);"/>便民服务<br> <input type="checkbox" name="matters" value="民事调解" οnclick="chkbox(this);"/>民事调解 <input type="checkbox" name="matters" value="文明引导 " οnclick="chkbox(this);"/>文明引导 <input type="checkbox" name="matters" value="安全生产" οnclick="chkbox(this);"/>安全生产 <input type="checkbox" name="matters" value="禁毒宣传" οnclick="chkbox(this);"/>禁毒宣传<br> </div> <div class="a"> <button type="submit" class="b">添 加</button> </div> </form> </div> <script type="text/javascript"> function chkbox(elm) { var obj=document.getElementsByName("matters"); var num=0; for (var i=0;i<obj.length ;i++ ) if (obj[i].checked ) num+=1; if (num>4) { alert("最多可以选择四个!"); elm.checked=false; } } function check() { var name = document.getElementById("name"); var sex= document.getElementById("sex"); var ethnic = document.getElementById("ethnic"); var time = document.getElementById("time"); var old = document.getElementById("old"); var landscape = document.getElementById("landscape"); //判断是否空 if(name.value == '') { alert('姓名为空'); name.focus(); return false; } else if(sex.value == '') { alert('性别为空'); sex.focus(); return false; } else if(ethnic.value == '') { alert('民族为空'); ethnic.focus(); return false; } else if(time.value == '') { alert('时间为空'); time.focus(); return false; } else if(old.value == '') { alert('年龄为空'); old.focus(); return false; } else if(landscape.value == '') { alert('政治面貌为空'); landscape.focus(); return false; } } </script> </body> </html>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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> <% Object message = request.getAttribute("message"); Object user = request.getAttribute("user"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: red;">信息列表</h1> <a href="login.jsp">返回主页</a> <table class="tb"> <tr> <td>姓名</td> <td>性别</td> <td>民族</td> <td>政治面貌</td> <td>年龄</td> </tr> <c:forEach items="${user}" var="item"> <tr> <td >${item.name}</td> <td>${item.sex}</td> <td>${item.ethnic}</td> <td>${item.landscape}</td> <td>${item.old}</td> </tr> </c:forEach> </table> </div> </body> </html>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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; } </style> </head> <body> <% Object message = request.getAttribute("message"); Object user = request.getAttribute("user"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <form action="selectServlet?" method="post" onsubmit="return check()"> <div class="a"> 选择你想要查询的方式: <select name="way" style="width:150px"> <option value="name">按照姓名查询</option> <option value="sex">按照性别查询</option> <option value="ethnic">按照民族查询</option> <option value="time">按照登记时间查询</option> <option value="old">按照年龄查询</option> <option value="landescape">按照政治面貌查询</option> </select> </div> <div class="a"> 输入你要查询的信息: <input type="text" name="mes"> </div> <div class="a"> <button type="submit" class="b">查 询</button> </div> </form> <script type="text/javascript"> function check(){ var way=document.getElmentId("way"); if(mes.value==''){ alert("输入搜索信息为空!") mes.focus; return false; } return false; } </script> </body> </html>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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> <% Object message = request.getAttribute("message"); Object user = request.getAttribute("user"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: red;">信息列表</h1> <a href="login.jsp">返回主页</a> <table class="tb"> <tr> <td>姓名</td> <td>性别</td> <td>民族</td> <td>政治面貌</td> <td align="center" colspan="2">操作</td> </tr> <c:forEach items="${user}" var="item"> <tr> <td><a href="servlet?method=select&name=${item.name}">${item.name}</a></td> <td>${item.sex}</td> <td>${item.ethnic}</td> <td>${item.landscape}</td> <td><a href="change.jsp?name=${item.name}&sex=${item.sex}ðnic=${item.ethnic}&landscape=${item.landscape}">修改</a></td> <td><a href="javascript:if(confirm('确实要删除该内容吗?')){location='servlet?method=delete&name=${item.name}'}">删除</a></td> </tr> </c:forEach> </table> </div> </body> </html>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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; } .c{ margin-top: 20px; color: red; } </style> </head> <body> <div align="center"> <h1 style="color: red;">学生信息修改</h1> <a href="login.jsp">返回主页</a> <form action="servlet?method=update" method="post" onsubmit="return check()"> <div class="c"> 姓名<input type="text" id="name" name="name" value="${param.name}"/> </div> <div class="a"> 性别<input type="text" id="sex" name="sex" value="${param.sex}"/> </div> <div class="a"> 民族<input type="text" id="ethnic" name="ethnic" value="${param.ethnic}"/> </div> <div class="a"> 时间<input type="text" id="time" name="time" value="${param.time}"/> </div> <div class="a"> 年龄<input type="text" id="old" name="old" value="${param.old}"/> </div> <div class="a"> 政治面貌<input type="text" id="landscape" name="landscape" value="${param.landscape}"/> </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 ethnic = document.getElementById("ethnic"); var time = document.getElementById("time"); var old = document.getElementById("old"); var landscape = document.getElementById("landscape"); //非空 if(name.value == '') { alert('姓名为空'); name.focus(); return false; } else if(sex.value == '') { alert('性别为空'); sex.focus(); return false; } else if(ethnic.value == '') { alert('民族为空'); ethnic.focus(); return false; } else if(time.value == '') { alert('时间为空'); time.focus(); return false; } else if(old.value == '') { alert('年龄为空'); old.focus(); return false; } else if(landscape.value == '') { alert('政治面貌为空'); landscape.focus(); return false; } } </script> </body> </html>
三、编程体验(心得)
当时考试的时候可以说思路有点不清晰,为了得复选框的那0.5分没有写3分的单项选择的题,主要还是能力的欠缺,这些基础的知识掌握的还不够牢固,在这次考试中也暴露出了许多的问题,比如对数据库连接的不够熟练,调试了好久才连接上,比如还有很多的知识只是套的模板,自己对其中的知识点还不是很了解,比如界面画的还是很丑,对CSS等画页面的技术的学习也有待进一步的提高!