开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情
使用纯Servlet做一个单表的CRUD操作
-
使用纯粹的Servlet完成单表【对部门的】的增删改查操作。(B/S结构的。)
-
实现步骤
-
第一步:准备一张数据库表。(sql脚本)
-
第二步:准备一套HTML页面(项目原型)【前端开发工具使用HBuilder】
-
把HTML页面准备好
-
然后将HTML页面中的链接都能够跑通。(页面流转没问题。)
-
应该设计哪些页面呢?
- 欢迎页面:index.html
- 列表页面:list.html(以列表页面为核心,展开其他操作。)
- 新增页面:add.html
- 修改页面:edit.html
- 详情页面:detail.html
-
-
第三步:分析我们这个系统包括哪些功能?
-
什么叫做一个功能呢?
- 只要这个操作连接了数据库,就表示一个独立的功能。
-
-
包括哪些功能?
- 查看部门列表
- 新增部门
- 删除部门
- 查看部门详细信息
- 跳转到修改页面
- 修改部门
-
第四步:在IDEA当中搭建开发环境
- 创建一个webapp(给这个webapp添加servlet-api.jar和jsp-api.jar到classpath当中。)
- 向webapp中添加连接数据库的jar包(mysql驱动)
- 必须在WEB-INF目录下新建lib目录,然后将mysql的驱动jar包拷贝到这个lib目录下。这个目录名必须叫做lib,全部小写的。
- JDBC的工具类
- 将所有HTML页面拷贝到web目录下。
-
第五步:实现第一个功能:查看部门列表
-
我们应该怎么去实现一个功能呢?
-
建议:你可以从后端往前端一步一步写。也可以从前端一步一步往后端写。都可以。但是千万要记住不要想起来什么写什么。你写代码的过程最好是程序的执行过程。也就是说:程序执行到哪里,你就写哪里。这样一个顺序流下来之后,基本上不会出现什么错误、意外。
-
从哪里开始?
- 假设从前端开始,那么一定是从用户点击按钮那里开始的。
-
-
-
-
注意:新增功能时:最后保存成功之后,转发到 /dept/list 的时候,会出现405,为什么? - 原因:该功能用的是post请求,而此处用的是转发,转发是一次请求,只不过由doPost转发到 /dept/list ,而里面只有doGet,那么就会因调用父类得doPost方法而喜提405。 - 怎么解决?两种方案 - 第一种:在/dept/list Servlet中添加doPost方法,然后在doPost方法中调用doGet。 - 第二种:重定向。