头部导航条分类信息展示
- html页面加载完发送Ajax请求,不需要参数。最后接收数据写入导航条。
- Servlet调用Service层方法,返回category对象,并转换为json发送给客户端。
Category{
int 索引
String 分类信息
}
- Service调用Dao层,返回List
- Dao层使用JdbcTemplate查询数据库
sql=“select * from tab_category”
旅游路线分类查找,分页显示功能
- html页面加载完发送Ajax请求,需要传递参数cid(分类id),分页需要加上currentPage(当前页)。
- Servlet接收参数,并校验参数,然后设定rowPage(每页显示数),调用Service层方法findPage(cid,currentPage,rowPage)//需要传这三个参数。返回PageBean对象
PageBean{
currentPage //当前页
rowPage //每页显示数
totalPage //总页数
totalCount //总条目
List //路线对象集合
}
- Service层调用Dao层方法,查询总条目数,查询路线对象集合,并封装为PageBean对象;
- Dao层 两个方法:1.查询总条目数。2.查询路线对象集合
旅游线路查询功能
- 前端发送Ajax请求,附带参数rid(旅游线路id)
- Servlet接收参数,调用Service层方法,返回Route对象,使用json发送给客户端浏览器。
- Service层调用Dao的方法,查询并封装成Route对象
- Dao层,根据需要查询的表创建对应的Dao接口,并实现方法。
总结
- JdbcTemplate的queryForObject一般用于执行聚合函数的Sql语句,可以返回数值
- 重写HttpServlet的service方法,使其能通过访问的URI调用子类对应的方法,并在Servlet中提供不同的方法,从而将减少Servlet个数,使一个Servlet对应一张表。
- Caused by: java.lang.NullPointerException
at cn.itcast.travel.web.servlet.UserServlet.getName
Servlet中接收参数后先判断,避免空指针异常。 - 谷歌浏览器的无痕窗口挺好用,调试时可以避免缓存的问题
- html目前只能使用Ajax的异步请求方式动态获取服务端数据,实现页面在不重新加载情况下,动态更新页面的部分数据。(主要和jsp的区别)
- html通过location.search获取参数,并用Ajax发送给服务端。
//根据传递过来的参数name获取对应的页面参数
function getParameter(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = location.search.substr(1).match(reg);
if (r!=null) return (r[2]); return null;
}