第一步创建一个表

 1 create database liyongzhendb default character set utf8 collate utf8_bin;
2
3 CREATE TABLE IF NOT EXISTS student (
4 id INT AUTO_INCREMENT,
5 name VARCHAR(255) NOT NULL,
6 password VARCHAR(255) NOT NULL,
7 date_of_birth DATE,
8 description TEXT,
9 PRIMARY KEY (id)
10 )ENGINE=InnoDB

第二步创建一个Web工程,工程名叫servlet-jsp-curd

第三步创建一个POJO

 1 package model;
2
3 import java.util.Date;
4
5 public class Student {
6
7 private int id;
8 private String name;
9 private String password;
10 private Date dateOfBirth;
11 private String description;
12
13 public Student() {
14 }
15
16 public int getId() {
17 return id;
18 }
19
20 public void setId(int id) {
21 this.id = id;
22 }
23
24 public String getName() {
25 return name;
26 }
27
28 public void setName(String name) {
29 this.name = name;
30 }
31
32 public String getPassword() {
33 return password;
34 }
35
36 public void setPassword(String password) {
37 this.password = password;
38 }
39
40 public Date getDateOfBirth() {
41 return dateOfBirth;
42 }
43
44 public void setDateOfBirth(Date dateOfBirth) {
45 this.dateOfBirth = dateOfBirth;
46 }
47
48 public String getDescription() {
49 return description;
50 }
51
52 public void setDescription(String description) {
53 this.description = description;
54 }
55
56 }

add.jsp类

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html>
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>添加学生</title>
8 <link rel="stylesheet"
9 href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
10 <style type="text/css">
11 body {
12 padding-top: 50px;
13 }
14
15 form {
16 padding: 40px 15px;
17 width: 600px;
18 margin: 0 auto;
19 }
20
21 .group {
22 margin: 10px;
23 padding-bottom: 10px;
24 max-width: 600px;
25 }
26
27 input {
28 width: 400px;
29 }
30
31 .submit {
32 text-align: right;
33 }
34 </style>
35 </head>
36 <body>
37 <jsp:include page="nav.jsp"/>
38 <div class="container">
39 <form action="save.do" method="post">
40 <div class="group">
41 <label for="name" class="title">姓名:</label> <input type="text"
42 id="name" name="name" />
43 </div>
44 <div class="group">
45 <label for="password" class="title">密码:</label> <input
46 type="password" id="password" name="password" />
47 </div>
48 <div class="group">
49 <label for="description" class="description">说明:</label> <input
50 id="description" name="description" />
51 </div>
52 <div class="submit">
53 <button type="submit" value="提交" id="submit">保存</button>
54 </div>
55 </form>
56 </div>
57 </body>
58 </html>

nav.jsp类实现添加功能

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <nav class="navbar navbar-inverse navbar-fixed-top">
4 <div class="container">
5 <div class="navbar-header">
6 <button type="button" class="navbar-toggle collapsed"
7 data-toggle="collapse" data-target="#navbar" aria-expanded="false"
8 aria-controls="navbar">
9 <span class="sr-only">Toggle navigation</span> <span
10 class="icon-bar"></span> <span class="icon-bar"></span> <span
11 class="icon-bar"></span>
12 </button>
13 <a class="navbar-brand" href="#">JSP增删改查示例</a>
14 </div>
15 <div id="navbar" class="collapse navbar-collapse">
16 <ul class="nav navbar-nav">
17 <li class="active"><a href="students.jsp">列表</a></li>
18 <li><a href="add.jsp">添加</a></li>
19 </ul>
20 </div>
21 </div>
22 </nav>

list.jsp类是查询所有的

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%><%@ taglib prefix="c"
3 uri="http://java.sun.com/jsp/jstl/core"%>
4 <!DOCTYPE html>
5 <html>
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
8 <title>学生列表</title>
9 <link rel="stylesheet"
10 href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
11 <style type="text/css">
12 table {
13 margin-top: 80px;
14 }
15 </style>
16 </head>
17 <body>
18 <jsp:include page="nav.jsp" />
19 <div class="container">
20 <table class="table">
21 <tr>
22 <th>ID</th>
23 <th>姓名</th>
24 <th>密码</th>
25 <th>说明</th>
26 <th>操作</th>
27 </tr>
28 <c:forEach var="student" items="${students}">
29 <tr>
30 <td>${student.id}</td>
31 <td>${student.name}</td>
32 <td>${student.password}</td>
33 <td>${student.description}</td>
34 <td><a href="edit.do?id=${student.id}">修改</a> | <a
35 href="delete.do?id=${student.id}">删除</a></td>
36 </tr>
37 </c:forEach>
38 </table>
39 </div>
40 </body>
41 </html>

创建一个edit.jsp类实现编辑功能,编辑功能分两部分,一部分将数据查询出来,放到表单里。另一部分是将表单的数据更新到数据库。

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html>
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>修改学生</title>
8 <link rel="stylesheet"
9 href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
10 <style type="text/css">
11 body {
12 padding-top: 50px;
13 }
14
15 form {
16 padding: 40px 15px;
17 width: 600px;
18 margin: 0 auto;
19 }
20
21 .group {
22 margin: 10px;
23 padding-bottom: 10px;
24 max-width: 600px;
25 }
26
27 input {
28 width: 400px;
29 }
30
31 .submit {
32 text-align: right;
33 }
34 </style>
35 </head>
36 <body>
37 <jsp:include page="nav.jsp"/>
38 <div class="container">
39 <form action="update.do" method="post">
40 <input type="hidden" name="id" value="${student.id}">
41
42 <div class="group">
43 <label for="name" class="title">姓名:</label> <input type="text"
44 id="name" name="name" value="${student.name}" />
45 </div>
46 <div class="group">
47 <label for="password" class="title">密码:</label> <input
48 type="password" id="password" name="password" value="${student.password}" />
49 </div>
50 <div class="group">
51 <label for="description" class="description">说明:</label> <input
52 id="description" name="description" value="${student.description}" />
53 </div>
54 <div class="submit">
55 <button type="submit" value="提交" id="submit">保存</button>
56 </div>
57 </form>
58 </div>
59 </body>
60 </html>

这样一个增删改查的工程就做好了

使用Servlet编写增删改查的更多相关文章

  1. 最简单的jsp+servlet的增删改查代码

    package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  2. 一个Servlet处理增删改查的方法

    处理的思路是在servlet中定义不同的增删改查方法,页面请求 的时候携带请求的参数,根据参数判断调用不同的方法. package cn.xm.small.Servlet; import java.i ...

  3. Servlet简单增删改查

    前台页面是别人给的. 例子: package cn.itcast.cus.dao; import java.sql.SQLException; import java.util.ArrayList; ...

  4. jsp+servlet+mysql增删改查

    用的IntelliJ IDEA开发的,jdk1.8 1 首先是项目结构,如下图所示 2看各层的代码 首先是web.xml <?xml version="1.0" encodi ...

  5. java中编写增删改查

    按照图书数据库来说 //查询 :查询的返回值有两种类型,如果返回的数据你不确定是一条还是多条就返回一个List集合.如果你确定数据返回的是一条,可以把返回值换成Book实体类型.public List ...

  6. JPA-day02 项目结构 编写增删改查测试类

  7. servlet增删改查

    Servlet 使用Servlet进行增删改查 步骤 1.  导入以下几个jar包到WEB-INF下的lib包里,必要时build path,其中jstl.jar和standard.jar是使用jst ...

  8. 12 Servlet_04 Servlet增删改查 静态页面与动态页面 EL表达式 table表格的一些样式

    今天学习了servlet的增删改查: 存储数据 setAttribute(String name,Object obj );获取数据 getAttribute(String name);删除数据 re ...

  9. SSM整合_年轻人的第一个增删改查_基础环境搭建

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

随机推荐

  1. 【C# .Net GC】后台垃圾回收

    在后台垃圾回收 (GC) 中,在进行第 2 代回收的过程中,将会根据需要收集暂时代(第 0 代和第 1 代). 后台垃圾回收是在一个或多个专用线程上执行的,具体取决于它是后台还是服务器 GC,它只适用 ...

  2. 【C# 异常处理】调试器 管理异常

    装载自:https://docs.microsoft.com/zh-cn/visualstudio/debugger/managing-exceptions-with-the-debugger?vie ...

  3. Solving Large-Scale Granular Resource Allocation Problems Efficiently with POP(2021-POP-SOSP-文献阅读笔记)

    读者 这篇文章来自2021的SOSP,单位是斯坦福大学和微软.选该文章的理由有二,一是资源分配的主题较为相关:二是文章结构.语言很清晰,读起来很舒服. 本文的中心思想可以概括为:分化瓦解,各个击破.即 ...

  4. maven-mvnd安装使用

    目录 安装使用 官方介绍 使用注意 安装使用 下载 https://github.com/apache/maven-mvnd/releases/tag/0.7.1 ,mvnd-0.7.1-darwin ...

  5. docker:nginx+confd动态生成配置

    docker:nginx+confd动态生成配置 当我们项目越来越多时手动去服务器修改nginx配置是一件很麻烦而且可能出错的事情.我们可以通过nginx+confd+配置中心实现一套方案避免出错并减 ...

  6. MySQL查看数据库中所有表占用的空间大小

    select TABLE_NAME, concat(truncate(data_length/1024/1024,2),'MB') as data_size, concat(truncate(inde ...

  7. Python之ini配置文件详解

    INI介绍 INI是英文"初始化"(initialization)的缩写,被用来对操作系统或特定程序初始化或进行参数设置.由节(section). 键(key).值(value)构 ...

  8. Qt:QJsonParseError

    0.说明 QJsonParseError用于JSON解析时报告error. 1.模块和加载项 Header #include<QJsonParseError> qmake QT += co ...

  9. async-validator 源码学习(一):文档翻译

    async-validator 是一个表单异步校验库,阿里旗下的 Ant-design 和 Element 组件库中的表单验证使用的都是 async-validator ,目前版本已更新到 4.0.7 ...

  10. pandas常用操作详解——pandas的去重操作df.duplicated()与df.drop_duplicates()

    df.duplicated() 参数详解: subset:检测重复的数据范围.默认为数据集的所有列,可指定特定数据列: keep: 标记哪个重复数据,默认为'first'.1.'first':标记重复 ...