1. OA项目总结
(1) 项目中大量应用到请求转发和重定向,再次简述请求转发和重定向的区别。
转发是带着request和response 过去
重定向,为俩次请求
(2) 简述MVC分层模式,并简述一下分层开发的优点。
视图层 JSP JSTL/EL
• 控制层 Servlet
• 模型层:接口+实现类
• 业务层 JavaBean
• 数据访问层 DAO+JDBC
• 各层功能分配
• 实体类、DAO层基本和数据库表对应
• 业务层、控制层、视图层更倾向于按照模块来划分 • 事务加到业务层ThreadLocal
(3) 总结JSP的四个作用域。
Request application session pageContext
(4) 简述 ajax异步请求的步骤
异步访问,局部刷新;提高用户体验
• 控制层直接返回json字符串,而不是转发和重定向
(5) 概述我们在项目中用到过哪些插件?
日期插件 富文本编辑器 POI 验证码 Echarts
(6) 在做项目中经常伴随着各种各样的错误,对于程序出错,你有哪些收获?
答:可以使用debug进行调试,慢慢找出错误
2. 分页意义和实现思路
(1) 为什么需要分页?分页跟增删改查中的哪个操作有关系?
和查询相关
(2) 简述分页的实现思路
3. 理解PageBean
(1) PageBean中有哪些属性?作用是什么?
每页几条记录size 可以有默认值5
当前页号 index 可以有默认值1
记录总数totalCount:没有默认值,需查询数据库获取真正记录总数
4. 基本分页的后台操作
(1) 基本分页的后台操作控制层如何处理,业务层如何处理,数据访问层如何处理?
String sql = "select * from (select rownum r,e2.* from( select e.* from student e order by score desc) e2 where rownum<=end ) where r>start
5. 基本分页的前台操作
(1) 基本分页的前台操作,如何处理?贴出代码,并解释代码的含义
改变每页记录数
• 直接跳到某一页
• 代码优化,提取JS方法
• 控制层
• 取当前页号和每页记录数
function change(index,size){ location.href="servlet/ShowAllServlet
}
?index="+index+"&size="+size;
6. 基本分页的完善
(1) 本节课完善了分页的那些功能?是如何实现的,贴出前端代码,后端代码,并写出注释
改变每页记录数
直接跳到某一页
代码优化,提取JS方法 控制层取当前页号和每页记录数
function change(index,size){ location.href="servlet/ShowAllServlet
}
?index="+index+"&size="+size;
7. 带查询条件的分页
(1) 带查询条件的分页跟不带查询条件的分页有什么区别?
需求说明: • 视图层:
• 查询表单
• 记忆查询条件 • 控制层:
• 获取表单数据,将表单数据(查询条件)传递到业务层 • 业务层:
• 获取符合查询条件的记录总数
• 获取符合查询条件的记录数据 • DAO层:
• 改变SQL查询语句,需要根据查询条件拼接SQL语句
(2) 贴出带查询条件分页的前端代码,后端代码,并写出注释
• 需求说明:
点击页码超链接的同时要提交表单 • 实现1:修改form的action属性
document.forms[0].action="servlet/ShowAllServlet?index="+index+"&size="+size; • 实现2:给表单添加hidden属性,表示index和size
<input type="hidden" id="index" name="index" >
<input type="hidden" id="size" name="size" >
document.getElementById("index").value=index;
document.getElementById("size").value=size;
• 实现直接输入页号并提交 • 与上个功能类似
• 更新删除后仍旧跳回当前页,而不是第一页
8. 完善带查询条件的分页
(1) 完善了哪些功能?简述完善的思路.
• 需求说明:
点击页码超链接的同时要提交表单 • 实现1:修改form的action属性
document.forms[0].action="servlet/ShowAllServlet?index="+index+"&size="+size; • 实现2:给表单添加hidden属性,表示index和size
<input type="hidden" id="index" name="index" >
<input type="hidden" id="size" name="size" >
document.getElementById("index").value=index;
document.getElementById("size").value=size;
• 实现直接输入页号并提交 • 与上个功能类似
• 更新删除后仍旧跳回当前页,而不是第一页