当前课程知识点:Web后端开发技术 > 第9章 某高校毕业生信息发布系统开发 > 9.3 系统实现 > 9.3.2完善简历添加功能
同学你好
今天我们学习这个知识点
本节给大家去演示一下
我们简历添加功能如何进行完善
大家注意
虽然说我们这里是简历添加
但是大家去想
实际上添加功能对于我们操作应该是
一个数据库更新操作
因为用户首先他会先注册
它有了用户名和密码
注册完以后
登录上来以后
他才能进行他的简历添加
这时候我要根据它的自动生成 ID号
把他的信息找出来以后
把它输入的这些真实的用户名称
性别等等这些信息更新到数据库里
所以这个操作实际上并不是一个
添加操作
而是一个更新操作
那么为了完成这个功能
首先我们先看studentdao
我们的dao
我现在新增加了两个方法
一个方法叫做getById
也就是说我传进一个Id值
然后我的SQL语句是根据这条
根据这条ID值去查找我student的对象
那么写法跟我们上面之前讲过的
studentByName
基本上是一样的
只不过这里查询条件是name
而我们这里的查询条件是ID
同样把数据查出来以后
把我查出来这些数值依次的
设到我student对象当中s当中
然后把我的student那样
返回就可以了
如果根据这个ID没有查着
同样返回的是一个空值
那么第2个方法就是我的
update方法
那么update方法
我传进来的是一个student对象
大家可以看到我update方法
我是依次去设置
除了我那个ID不进行设置
我的所有的属性
name
password
还有真实姓名等等这些属性
我都依次的根据我传进来的
student对象
对他们进行一个相关的设置
然后进行更新
返回就可以了
那么紧接着我们看一下我们的
student service
这个javaBean
首先我们也要有一个getById方法
它直接调调用的是 student dao
下面getById
没有做任何的操作
那么我这里还有一个
student update的方法
同样也是我直接调用的到dao
update student
那么大家去想
因为我这里的业务比较简单
我就是直接调用的是student dao
那么在实际情况当中
你传进来 student你是不是
首先要根据我的用户名
因为我这个更新方法不一定用在简历
这块更新
有可能我在修改账号的时候也要用更新
这时候你的这里的业务就应该判断
用户名
你更新完以后
用户名在数据库里存不存在
如果存在了就不让你更新了
给你一个错误提示信息
总之在实际复杂的场景当中
service层并不是简简单单的调一个dao
这么简单
只不过这里我们的业务比较简单
所以说就直接的调用这个dao
来进行更新了
那么回到我们的servlet
CvAddServlet
这是我们之前写过的代码
首先我们从页面上获取到这些值
设到student对象里
但是这时候student对象
并不是new出来的
应该是从session当中拿到我们
student Id
根据这个ID
我们先把我们student对象查出来
所以说我这里先有一个ID值
它是从这个用户必须得登录的
getAttribute
大家不要忘记在我们之前写过的
student登录的这个章节当中
我们当他登录成功的时候
我们是要放一个name属性值进去的
所以说这时候我们就要根据name值
把它拿出来
拿出来的是一个student对象
我们这里不是ID
是student对象
因为我放的就是 student对象
所以说我拿到的就是
student对象
那么如果没有登录就说明我是不能够
更新的
那么 student对象对应的也
就是空
所以说我这里要判断一下
如果s是空值的话
说明我没有登录
没有登录
那么我就给你返回到我的这里
我写了一个错误的页面
叫做error.jsp
我就直接给一个非法操作了
那么我就直接转向到error.jsp就可以了
叫JSP
我的程序也不要往下运行了
那么如果这个student拿到了
说明他正常登录了
正常登录以后
我把我页面上输入这些值
重新设置到我 student的
对象里面
设置完以后
我要调用数据库的方法
保存到数据库当中
这是我们之前给大家留的
对吧
现在我们就可以用到了
我们把这段话先拷贝过来
我就不再写了
service对象
我们首先在cvaddServlet里面也要用到对象
所以说定义成这样的一个
student service
这样的一个对象定义出来
然后我们调用它的方法进行update
把我们的student传进去
就可以了
我们这里叫s然后更新完以后
我回到我的还是跳转到我们的首页
这样的话我们整个逻辑就完成了
保存一下
我们测试一下我们的效果
首先我必须得是登录
用户名jjq
密码123
好
登录完以后
我要调用我的cvAdd的这个页面
当然我这现在没有链接
所以说我就只能手动的去输了
cvAdd的页面
姓名
我输
纪佳琪
男
人工智能
随便写一些简介
添加
大家看已经回到我这个首页了
我们看看数据库里值有没有
正常更新进去
我们看到这个值它没有正常的更新去
后台报的一个错误
我们看一下是什么错误
这是这个原因
大家看我们这里还有一个叫做
major
这个ID
而我这里选的 major
大家来看
我之前选 major是人工智能
它对应的是1234
对吧
但是我数据库里大家可以看到
因为我
数据库还没有进行初始化
这个major里是没有任何内容的
所以说我把这里的内容给添加一下
好
我现在已经把major表里的数据
都已经加进去了
然后我们再运行一下我们的程序
重新点击
添加按钮
回到这个页面
我们看一下我们的数据库里有没有值
Ok
大家可以看到我们对应的纪佳琪1
以及我们刚才填的值major是4
这些数据都已经更新进来了
所以这就是我们简历添加的功能
那么实际上它是一个更新的功能
这个知识点就讲到这里
谢谢
-1.0 导学
--1.0.1 导学
-1.1 Web应用开发概述
--1.1.3 测试
-1.2 准备Java Web应用开发环境
--1.2.2 测试
-1.3 任务实现:Hello World Web项目
--1.3.2 测试
-1.4 小结
--1.4.1 小结
-本课程所有代码
--课程参考代码
-2.0 导学
--2.0.1 导学
-2.1 Servlet概述
--2.1.3 测试
-2.2 创建Servlet
--2,2,3 作业
-2.3 Servlet应用
--2.3.4 测试
-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)
--2.4.3 测试
-2.5 ServletConfig接口
-2.6 ServletContext接口
-2.7 HttpServletRequest接口
--2.7.5 测验
-2.8 HttpServletResponse接口
--2.8.3 测试
-2.9 任务实现:某高校毕业生信息发布系统-简历添加
--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加
-2.10 小结
-动画演示:Java Web应用服务器处理客户端请求的过程
-3.0 导学
--3.0.1 导学
-3.1 Cookie技术
--3.1.3 测试
-3.2 Session技术
--3.2.2 Session技术-Session技术应用购物车
--3.2.3 测试
-3.3 URL重写与隐藏表单域
--3.3.2 测试
-3.4 任务实现:某高校毕业生信息发布系统-简历修改
--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改
-3.5 小结
--3.5.1 小结
-4.0 导学
-4.1 jsp概述
--4.1.2 测试
-4.2 脚本元素
--4.2.2 测试
-4.3 指令元素
--4.3.2 测试
-4.4 动作元素
--4.4.3 测试
-4.5 内置对象
--4.5.3 测试
-4.6 JavaBean
--4.6.3 测试
-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)
--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)
-4.8 小结
--4.8.1 小结
-5.0 导学
--5.0.2 测试
-5.1 el语法
--5.1.2 测试
-5.2 el隐含对象
--5.2.2 测试
-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.2 测试
-5.4 小结
--5.4.1 小结
-6.0 导学
--6.0.2 测试
-6.1 核心标签库
--6.1.5 测试
-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.2 测试
-6.3 小结
--6.3.1 小结
-7.0 导学
--7.0_导学
-7.1 过滤器
--7.1.3 测试
-7.2 监听器
--7.2.1.1与ServletContext相关的监听器
--7.2.4 测试
-7.3 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.2 测试
-7.4 小结
--7.4.1小结
-8.0 导学
--8.0_导学
-8.1 JDBC API
--8.1.2 测试
-8.2 JDBC API访问MySQL基本步骤
--8.2.2 测试
-8.3 任务实现:某高校毕业生信息发布系统-注册与登录
--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)
--8.3.2 测试
-8.4 小结
--8.4.1小结
-9.0导学
--9.0导学
-9.1 技术准备
--9.1.5 测试.
-9.2 系统设计
-9.3 系统实现
-9.4 小结
--9.4.1小结



