志愿者系统--增删改查

今天又强化了一下基础知识,想起来曾经做的一个测试还有的地方不太完善,我就将其改善了一番。明天早上会自己过一遍选课系统,看自己再时间内是否有完成的能力。

我先把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>用户名&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;密码&nbsp;&nbsp;</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 ">
 <%
      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">
    性别:&nbsp;&nbsp;&nbsp;<input type="radio"  id="sex" name="sex" value="男"/>男&nbsp;&nbsp;&nbsp;<input type="radio" id="sex" name="sex"  value="女"/>女
   </div>
   
   <div class="a">
    民族:<input type="text" id="nation" name="nation" />
   </div>
   <div class="a">
    注册时间:&nbsp;<input type="text" id="time" name="time" placeholder="例:20191118"/>
   </div>
   <div class="a">
    年龄:<input type="text" id="age" name="age" />
   </div>
   <div class="a">
     政治面貌:&nbsp;&nbsp;&nbsp;<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="扶危济贫" />扶危济贫   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="敬老助残" />敬老助残   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="社区服务" />社区服务   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="秩序维护" />秩序维护   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="文体服务" />文体服务 <br>
    <input type="checkbox" name="category" value="环境保护" />环境保护   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="治安防范" />治安防范   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="医疗救治" />医疗救治   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="法律援助" />法律援助   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="大型活动" />大型活动  <br>
    <input type="checkbox" name="category" value="心理疏导" />心理疏导  &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="精神抚慰" />精神抚慰  &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="支教支医" />支教支医  &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="科学普及" />科学普及   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="应急救援" />应急救援  <br>
    <input type="checkbox" name="category" value="便民服务" />便民服务   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="民事调解" />民事调解   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="文明引导" />文明引导   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="安全生产" />安全生产   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="禁毒宣传" />禁毒宣传  
   </div>
   
   <div >
   <button id="btnOperate" type="submit" class="class="layui-btn layui-btn-normal layui-btn-radius"">添&nbsp;&nbsp;&nbsp;加</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"%>
       
<!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="扶危济贫" />扶危济贫   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="敬老助残" />敬老助残   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="社区服务" />社区服务   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="秩序维护" />秩序维护   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="文体服务" />文体服务 <br>
    <input type="checkbox" name="category" value="环境保护" />环境保护   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="治安防范" />治安防范   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="医疗救治" />医疗救治   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="法律援助" />法律援助   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="大型活动" />大型活动  <br>
    <input type="checkbox" name="category" value="心理疏导" />心理疏导  &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="精神抚慰" />精神抚慰  &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="支教支医" />支教支医  &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="科学普及" />科学普及   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="应急救援" />应急救援  <br>
    <input type="checkbox" name="category" value="便民服务" />便民服务   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="民事调解" />民事调解   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="文明引导" />文明引导   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="安全生产" />安全生产   &nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="category" value="禁毒宣传" />禁毒宣传   
            </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 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" >确&nbsp;定</button>
</div>
</div>
</form>
</body>
</html>

截图:

 

做的h还有很多不足,以后会更加努力!

posted @ 2019-12-25 20:19  doublebest1  阅读(436)  评论(0编辑  收藏  举报