第一步创建一个表

 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. [旧][Android] Retrofit 源码分析之 Retrofit 对象

    备注 原发表于2016.04.27,资料已过时,仅作备份,谨慎参考 前言 在上一周学习了一下 Retrofit 的执行流程.接下来的文章要更为深入地学习 Retrofit 的各个类,这次我们先学习一下 ...

  2. EasyUI Datagrid 数据网格 点击选中行 再次单击取消选中行

    适用于jquery-easyui-1.9.15版本: 在项目中全局搜索: opts.singleSelect==true 或者在jquery.easyui.min.js中搜索: opts.single ...

  3. linux 平台实现 web 服务器的自动化发布 (纯shell 版本,存在ssh 不能自动退出问题,待解决)

    转至:https://www.cnblogs.com/vmsky/p/13824172.html 背景说明 1.集团OA系统上线,web App 部署在6台服务器中,因项目初期,每次更新都需要进行大量 ...

  4. Qt:QVector

    0.说明 template <typename T> class QVector QVector是存储同一个类型T数据的模板类,其功能是动态数组,数据在其中的存储是一系列连续的存储空间. ...

  5. Python:在cmd中使用pip安装第三方库时出现SyntaxError

    原因:pip安装库时不需要进入Python环境,在Python环境下安装就会出现SyntaxError 解决方法:输入exit(),退出Python环境,然后就可以pip安装了

  6. laravel 框架登录 实际操作

    //登录中间件 Route::group(['middleware'=>'checkage'],function (){ Route::get('/mou/list','MouControlle ...

  7. mysql更改my.ini配置文件以后mysql服务无法启动

    最近在调试mysql时,更改了mysql的端口以后发现,mysql怎么改都启动不了,从其它机器重新复制一个my.ini文件就可以启动,这是由于一般用记事本打开配置文件同时更改的ini的格式,我们需要重 ...

  8. C++高并发场景下读多写少的优化方案

    概述 一谈到高并发的优化方案,往往能想到模块水平拆分.数据库读写分离.分库分表,加缓存.加mq等,这些都是从系统架构上解决.单模块作为系统的组成单元,其性能好坏也能很大的影响整体性能,本文从单模块下读 ...

  9. ArcMap操作随记(3)

    1.地图四要素: 图名.图例.比例尺.指北针 2.[栅格计算器].[加权叠加]和[加权总和]的不同 [栅格计算器]的结果是浮点型小数 [加权叠加]工具,输入栅格必须为整型.若成本栅格涉及重分类,最好用 ...

  10. RepLKNet:不是大卷积不好,而是卷积不够大,31x31卷积了解一下 | CVPR 2022

    论文提出引入少数超大卷积核层来有效地扩大有效感受域,拉近了CNN网络与ViT网络之间的差距,特别是下游任务中的性能.整篇论文阐述十分详细,而且也优化了实际运行的表现,值得读一读.试一试   来源:晓飞 ...