听说你JavaWeb学的不好?(三十)

65 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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。 - 第二种:重定向。