2019年11月18日 JAVA期中考试 增删改查

一、题目

 石家庄铁道大学

青年志愿者服务网(20分)

 

1、项目需求:

为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需建设青年志愿者服务网,推进石家庄铁道大学青年志愿者事业发展。

2.系统要求与功能设计

2.1 页面功能要求

(1)能够在Tomcat服务器中正确部署,并通过浏览器查看;(1分)

(2)网站页面整体风格统一;

 

 

 

 

图1 青年志愿者信息管理系统功能结构图

(3)主页面:要求显示志愿者登记、修改志愿者信息、删除志愿者信息、查询志愿者信息,志愿者信息浏览五个子菜单。(1分)

(4)志愿者登记页面:(5分)

①完成添加志愿者个人信息登记,基本信息如下表所示

②性别要求采用单选框形式,选项包括“男”、“女”两项;

③政治面目要求采用下拉框选择,选项内容包括“群众”、“共青团员”、“中共党员”三项。

④服务类别采用多选框形式选择,最多选择四项服务类别。

⑤点击“提交”按钮,保存成功则跳转到志愿者基本信息浏览界面,新录入的信息置顶显示。失败则提示错误信息,返回当前页面

评分标准:

①完成志愿者登记页面(未完成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分。)

 

二、源程序代码

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;
    }
    
    
    
    
}
Dao
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...获取到。
    }
}
Select Servlet
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);
    
    
    }
}
Servlet
<%@ 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>
login
<%@ 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">
                性别:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" id="sex" name="sex" checked="checked" value="男">&nbsp;&nbsp;
                    <input type="radio" id="sex" name="sex" value="女">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            </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">
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;政治面貌:<select name="landscape"  style="width:150px">
                                                            <option value="群众">群众</option>
                                                            <option value="共青团员">共青团员</option>
                                                             <option value="中共党员">中共党员</option>
                                                        </select>
            </div>
            <div class="a">
                 服务类别(最多4项):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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">&nbsp;&nbsp;&nbsp;</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>
add
<%@ 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>
find
<%@ 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">&nbsp;&nbsp;&nbsp;</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>
Find One
<%@ 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}&ethnic=${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>
select
<%@ 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">&nbsp;&nbsp;&nbsp;</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>
change

三、编程体验(心得)

  当时考试的时候可以说思路有点不清晰,为了得复选框的那0.5分没有写3分的单项选择的题,主要还是能力的欠缺,这些基础的知识掌握的还不够牢固,在这次考试中也暴露出了许多的问题,比如对数据库连接的不够熟练,调试了好久才连接上,比如还有很多的知识只是套的模板,自己对其中的知识点还不是很了解,比如界面画的还是很丑,对CSS等画页面的技术的学习也有待进一步的提高!

 

posted @ 2019-11-21 09:36  酸奶面包  阅读(342)  评论(0编辑  收藏  举报