JavaWeb学习08 | 使用纯Servlet开发一个单表的CURD操作
使用纯粹的Servlet完成单表{部门表}的增删改查操作
实现步骤
- 第一步:准备一张数据库表
create table dept(
deptno int primary key
dname varchar(255),
loc varchar(255)
);
insert into dept(deptno,dname,loc) values(10,"sales","new york")
- 第二步:准备一套HTML页面
- 把HTML页面准备好
- 然后将HTML页面中的链接都能跑通
- 应该设计哪些页面?
- 新增页面 add.html
- 修改页面 edit.html
- 详情页面 detail.html
- 欢迎页面 index.html
- 列表页面 list.html(核心页面)
- 第三步:分析系统包括哪些功能?
- 什么叫做一个功能?
- 包括哪些功能?
- 查看部门列表
- 新增部门
- 删除部门
- 查看用户详细信息
- 跳转到修改页面
- 修改部门
- 第四步:在IDEA中搭建开发环境
- 创建一个webapp
- 向webapp中添加数据库连接jar包(mysql驱动)
- 必须在WEB-INF目录下新建一个lib目录,然后引入jar包
- JDBC的工具类
- 第五步:实现第一个功能:查看部门列表
- 修改前端页面的超链接/xmm/dept/list
- 编写web.xml文件 /dept/list
- 编写DeptListServlet类继承HttpServlet,然后重写doGet方法
- 在DeptListServlet类的doGet方法中连接数据库,查询所有部门,动态展示部门列表页面。(只用Servlet代码太过繁琐)
- 第六步:查看部门详情
- 先找到用户点击的“详情”在哪里
- 详情是需要连接数据库的,所以这个超链接点击之后也是需要执行一段Java代码的。所以要将这个超链接的路径进行修改"/oa/dept/detail"
- 重点:向服务器提交数据的格式:url?name=value&name=value&name=value
- 编写web.xml文件 /dept/detail
- 编写DeptDetailServlet类继承HttpServlet,然后重写doGet方法
- 在doGet方法中:连接数据库,根据部门编号查询该部门的信息,动态展示部门详情页面。
- 第七步:删除部门
- 第八步:新增部门
- 类似上述过程
- 最后保存成功之后,转发到/dept/list的时候,会出现405,为什么?
- 1.保存用的是post请求,底层需要执行doPost方法
- 2.转发一次请求,之前是post,之后还是post,因为它是一次请求
- /dept/list Servlet当中只有一个doGet方法。
- 解决方法:
- 1.在/dept/list Servlet中添加doPost方法,然后在doPost方法中调用doGet。
- 2.重定向
- 第九步:部门修改
- 编写过程中的一些问题:
报404错误
- (1) 注册驱动Class.forName(driver)写成 Class.forName("driver");
- (2) mysql使用版本不对,应当使用8版本,且要右键add library as