[TOC]

1.首先这个Myeclipse的包名以及一些实现的类(这样子写是我的习惯)

2.接下来我们创建数据库(MySQL)

3.在数据库里面添加数据

4.首先是BaseDao,这个是重中之重,注意那个数据库的名字,强调所在的包名

package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class BaseDao {

    /***
     * 
     * @author 数据库连接类
     *
     */
        private String driver ="com.mysql.jdbc.Driver";
        private String url="jdbc:mysql://localhost:3306/表名";        ---------自己写数据库表名,只要数据库的表名跟这里的一样就行
        private String name="数据库名称";      ----------你自己数据库的名称
        private String pwd="密码";        -----------你自己数据库的密码
          Connection conn=null;
          /***
           * 
           * @return 打开连接
           */
        /*  public Connection getconn(){
              Connection conn=null;
              Context ctx;
              try {
                  ctx = new InitialContext();
                  DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/news");    
                  conn=ds.getConnection();
              }catch (Exception e) {
                  e.printStackTrace();
              }
              return conn;
          }     */
        protected  Connection getconn(){
            conn=null;    
            try {
                Class.forName(driver);
                conn=DriverManager.getConnection(url,name,pwd);
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }        
            return conn;
        }

        /****
         * 
         * @param 关闭数据库连接
         */
        protected void closeAll(Connection conn ,PreparedStatement ps,ResultSet rs){        
            if(rs!=null)
                try {
                    if(rs!=null)
                    rs.close();
                    if(ps!=null)
                    ps.close();
                    if(conn!=null)
                    conn.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }                
        }
        /***
         * 
         * @param 增删改方法
         * @param 接受 参数为 SQL语句 和 对象数组
         * @return 返回受影响行数
         */
        public int executeUpdate(String sql ,Object []ob){
            conn=getconn();
            PreparedStatement ps=null;
            try {
                ps=prepareStatement(conn,sql,ob);
                int i=ps.executeUpdate();
                return i;    
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                //    e.printStackTrace();
                return 0;
            }finally{            
                closeAll(conn, ps, null);
            }

        }    
        /***
         * 查询方法
         */
        protected PreparedStatement prepareStatement(Connection conn,String sql,Object []ob){        
            PreparedStatement ps=null;
                    try {
                        int index=1;
                        ps = conn.prepareStatement(sql);
                            if(ps!=null&&ob!=null){
                                for (int i = 0; i < ob.length; i++) {            
                                        ps.setObject(index, ob[i]);    
                                        index++; 
                                }
                            }
                    } catch (SQLException e1) {
                        e1.printStackTrace();
                    }
             return ps;
        }

}

5.这个是实体类,我相信大家都会写,注意所在的包名

package entity;

public class Booking {
    private int id;
    private int categoryId;
    private String title;
    private String summary;
    private String uploaduser;
    private String createdate;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getCategoryId() {
        return categoryId;
    }
    public void setCategoryId(int categoryId) {
        this.categoryId = categoryId;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    public String getUploaduser() {
        return uploaduser;
    }
    public void setUploaduser(String uploaduser) {
        this.uploaduser = uploaduser;
    }
    public String getCreatedate() {
        return createdate;
    }
    public void setCreatedate(String createdate) {
        this.createdate = createdate;
    }


}

6.接下来我们写BookingDao

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import entity.Booking;

public class BookingDao extends BaseDao{

    public List<Booking> search(String sql,Object...params){
        List<Booking> list =new ArrayList<Booking>();
        Connection conn=this.getconn();
        PreparedStatement pst=null;
        ResultSet rs=null;
        try {
            pst=this.prepareStatement(conn, sql, params);
            rs=pst.executeQuery();
            while(rs.next()){
                Booking wor=new Booking();
                wor.setId(rs.getInt(1));
                wor.setCategoryId(rs.getInt(2));
                wor.setTitle(rs.getString(3));
                wor.setSummary(rs.getString(4));
                wor.setUploaduser(rs.getString(5));
                wor.setCreatedate(rs.getString(6));
                list.add(wor);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            closeAll(conn, pst, rs);
        }
        return list;
    }

    //查询表
    public List<Booking> findAll(){
        String sql="SELECT * FROM `Book`";
        return search(sql);
    }

    //添加方法
    public int insert(Booking t){
        String str="INSERT INTO `book`(categoryId,title,summary,uploaduser,createdate) VALUE(?,?,?,?,?)";
        return executeUpdate(str, new Object[]{t.getCategoryId(),t.getTitle(),t.getSummary(),t.getUploaduser(),t.getCreatedate()});
    }

    //修改方法
    public int update(Booking r){
        String sql="UPDATE `book` SET `categoryId`=?,`title`=?,`summary`=?,`uploaduser`=?,`createdate`=? WHERE id=?";
        return executeUpdate(sql, new Object[]{r.getCategoryId(),r.getTitle(),r.getSummary(),r.getUploaduser(),r.getCreatedate(),r.getId()});
    }

    //删除方法
    public int delete(Booking e){
        String sql="DELETE FROM `book` WHERE id=?";
        return executeUpdate(sql, new Object[]{e.getId()});
    }


}

7.下面我们写Servlet

1.查询的Servlet

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookingDao;
import entity.Booking;

public class selectServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public selectServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        String opr=request.getParameter("opr");


        if(opr==null||opr.equals("list")){
            //刷新
            BookingDao goodsDao=new BookingDao();
            List<Booking> list=goodsDao.findAll();
            request.getSession().setAttribute("list", list);
            response.sendRedirect("index.jsp");
        }




        out.flush();
        out.close();
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

}

2.添加的Servlet

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookingDao;
import entity.Booking;

public class insertServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public insertServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();

        BookingDao rms=new BookingDao(); 
          int categoryId=Integer.parseInt(request.getParameter("categoryId"));
          String title=request.getParameter("title");
          String summary=request.getParameter("summary");
          String uploaduser=request.getParameter("uploaduser");
          String createdate=request.getParameter("createdate");
          Booking rm=new Booking();
              rm.setCategoryId(categoryId);
              rm.setTitle(title);
              rm.setSummary(summary);
              rm.setUploaduser(uploaduser);
              rm.setCreatedate(createdate);
             int i=rms.insert(rm);
             if(i>0){
                 out.print("true");
                //刷新
                    List<Booking> listrm=rms.findAll();
                    request.getSession().setAttribute("list", listrm);
             }else{
                 out.print("false");
             }

        out.flush();
        out.close();
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

}

3.修改的Servlet

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookingDao;
import entity.Booking;

public class updateServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public updateServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();


        BookingDao booking=new BookingDao();
            int id=Integer.parseInt(request.getParameter("id"));
             int categoryId=Integer.parseInt(request.getParameter("categoryId"));
              String title=request.getParameter("title");
              String summary=request.getParameter("summary");
              String uploaduser=request.getParameter("uploaduser");
              String createdate=request.getParameter("createdate");
              Booking rm=new Booking();
                  rm.setId(id);
                  rm.setCategoryId(categoryId);
                  rm.setTitle(title);
                  rm.setSummary(summary);
                  rm.setUploaduser(uploaduser);
                  rm.setCreatedate(createdate);
            int i=booking.update(rm);
             if(i>0){
                //刷新
                    List<Booking> listrm=booking.findAll();
                    request.getSession().setAttribute("list", listrm);
                    out.print("<script>alert('修改成功!!!');location.href='index.jsp';</script>");
             }else{
                 out.print("<script>alert('修改失败!!!');location.href='Update.jsp';</script>");
             }

        out.flush();
        out.close();
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

}

4.删除的Servlet

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BookingDao;
import entity.Booking;

public class deleteServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public deleteServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        BookingDao rms=new BookingDao();
        Booking rm=new Booking();
        int id=Integer.parseInt(request.getParameter("id"));
        rm.setId(id);
        int i=rms.delete(rm);
        if(i>0){
            List<Booking> listrm=rms.findAll();
            request.getSession().setAttribute("list", listrm);
            out.print("<script>alert('删除成功!!!');location.href='index.jsp';</script>");
        }else{
            out.print("<script>alert('删除失败!!!');location.href='index.jsp';</script>");
        }

        out.flush();
        out.close();
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

}

8.配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>selectServlet</servlet-name>
    <servlet-class>servlet.selectServlet</servlet-class>
  </servlet>
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>insertServlet</servlet-name>
    <servlet-class>servlet.insertServlet</servlet-class>
  </servlet>
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>updateServlet</servlet-name>
    <servlet-class>servlet.updateServlet</servlet-class>
  </servlet>
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>deleteServlet</servlet-name>
    <servlet-class>servlet.deleteServlet</servlet-class>
  </servlet>
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>idServlet</servlet-name>
    <servlet-class>servlet.idServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>selectServlet</servlet-name>
    <url-pattern>/selectServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>insertServlet</servlet-name>
    <url-pattern>/insertServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>updateServlet</servlet-name>
    <url-pattern>/updateServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>deleteServlet</servlet-name>
    <url-pattern>/deleteServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>idServlet</servlet-name>
    <url-pattern>/idServlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

</web-app>

需要注意的是下面段,在上面是web.xml中比较下面,

标签声明了与该servlet相应的匹配规则,每个标签代表1个匹配规则。含了两个子元素元素给出的Servlet名字必须是 在元素中声明过的Servlet的名字。元素指定对应于Servlet的URL路 径,该路径是相对于Web应用程序上下文根的路径。

<servlet-mapping>
   <servlet-name></servlet-name>
   <url-pattern></url-pattern>
</servlet-mapping>

9.再次写JSP页面

1.index.jsp 初始界面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title></title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>

      <c:if test="${list==null}">
     <jsp:forward page="selectServlet"></jsp:forward>
    </c:if>
    <a href="insert.jsp"><input type="button" value="新增图书"></a>

    <table border="1">
        <tr><td>电子图书列表</td></tr>
        <tr><td>书品编号</td><td>书名</td><td>摘要</td><td>上传人</td><td>上传时间</td><td>操作</td></tr>
        <c:forEach items="${list}" var="gd">
          <tr>
              <td>${gd.categoryId}</td>
              <td>${gd.title}</td>
              <td>${gd.summary}</td>
              <td>${gd.uploaduser}</td>
              <td>${gd.createdate }</td>
              <td><a href="idServlet?id=${gd.id}"><input type="button" value="修改"></a></td>
              <td><a href="deleteServlet?id=${gd.id}"><input type="button" value="删除"></a></td>
          </tr>
       </c:forEach>

    </table>

  </body>
</html>

2.insert.jsp 添加页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title></title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

    <script type="text/javascript" src="js/jquery-1.12.4.js"></script>
    <script type="text/javascript">
    $(function(){

           $("#submit").click(function(){
                //非空验证
                    var $form=$("form").serialize();
                    alert($form);
                  $.get("insertServlet",$form,function(data){
                      if(data=="true"){
                         alert("新增成功");
                         window.location="index.jsp";
                      }else{
                       alert("新增失败");
                      }
                  });
       });
       });
    </script>

  </head>

  <body>
      <form action="">
          <h2>新增书本</h2>
          书本编号:<input type="text" name="categoryId"><br>
          书本名称:<input type="text" name="title"><br>
          摘要:<input type="text" name="summary"><br>
          上传人:<input type="text" name="uploaduser"><br>
          上传时间:<input type="text" name="createdate"><br>
          <input type="button" id="submit" value="提交"><input type="reset" value="重置">
      </form>

  </body>
</html>

3.Update.jsp 修改页面

​ (1)这个是修改的主要

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title></title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>

  <body>
        <form action="updateServlet">
          <h2>修改书本</h2>
          <input type="hidden" value="${idid}" name="id">
          书本编号:<input type="text" name="categoryId"><br>
          书本名称:<input type="text" name="title"><br>
          摘要:<input type="text" name="summary"><br>
          上传人:<input type="text" name="uploaduser"><br>
          上传时间:<input type="text" name="createdate"><br>
          <input type="submit" id="submit" value="提交"><input type="reset" value="重置">
      </form>
  </body>
</html>

(2)这个idServlet是我后面出现的BUG,我现在只能给又加了一个Servlet

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class idServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public idServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        int id=Integer.parseInt(request.getParameter("id"));
        request.getSession().setAttribute("idid", id);
        response.sendRedirect("Update.jsp");

        out.flush();
        out.close();
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

}

10. 最后这个是在浏览器中显示的效果,这个是查询效果,查询全表如下

1.查询

2.增加

3.修改(接下里我们把刚才我们添加的数据修改)

4.删除(这个效果可能不是很明显,但为了界面我还是把它给截图下来了)

​ 我把刚才我们上面操作的添加和修改给删除掉看看效果!

好了,这个项目也算了做完了,是个完整的,虽然在往数据库传数据的时候出现了中文乱码,但是我会去调这个BUG的,但至少功能实现了,以上就是这个项目了,虽然在有些地方大家看到的效果不是跟明显,如果本篇文章看了对大家有帮助,麻烦大家点个赞,谢谢,如果对本篇有疑问或者是想要我一步一步做给你看,加我QQ3506346737(备注:CSDN博客+QQ名字),很期待您的好友申请,也很期待大家对本篇文章的一些改进建议,谢谢

附源码获取下载地址:百度网盘。下载代码后遇到问题及时联系本人,尽快修正错误。

链接:https://pan.baidu.com/s/1nlOSG10a0dW72qeeUKrS2g
提取码:ycqr


一个好奇的人