26-综合案例02
复习json
request获取到的字符串,习惯性做下非空判断
service层的方法按照功能的名称进行命名
dao层的方法,根据sqll增删改查+列名(表名...)来命名
在次 实体类属性要和数据库的字段一样
关于servlet的底层执行流程和规范。。。。
9、优化Servlet--
目的:减少Servlet的数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet,相当于在数据库中一张表对应一个Servlet,在Servlet中提供不同的方法,完成用户的请求。
在BaseServlet中实现方法的分发的原理:
之前的写法,每一个servlet都是继承了HttpServlet。在HttpServlet中的service方法,根据请求的方式(7种不同的请求方式)的不同,完成对于方法的分发。
HttpServlet是servlet的规范和一部分实现。
那,我们无法去修改HttpServlet的源码来实现根据不同的请求方式。
只能通过baseServlet来继承HttpServlet,重写service方法。(访问的时候先找子类的service方法,再去找父类的service()方法。)
Idea控制台中文乱码解决:-Dfile.encoding=gb2312
this.getClass()获取字节码文件对象
然后修改之前的写的ajax请求中的路径
关于json对象的两种写法
//从session中获取登录用户
Object user = request.getSession().getAttribute("user");
//将user写回客户端
ObjectMapper mapper = new ObjectMapper();
response.setContentType("application/json;charset=utf-8");
mapper.writeValue(response.getOutputStream(),user);
查询分类的分析
因为前段使用的是html,和后端的数据交互是通过ajax,因此需要频发地发送ajax请求。因此可以将ajax的序列化抽取一个方法。
抽取在BaseServlet中。
**将servlet层中国的所有的方法都设置成public的!!
使用ajax请求得到的json数据每次是一样的。因此可以使用redis进行优化。
就是减少查询数据库的次数
jackson中对象没设置全属性互惠异常
属性的反射
并不是没写全属性的原因
JsonMappingException: (was java.lang.NullPointerException) (through reference chain:)
在Web项目中,我们经常会设计一些与界面相对应的JavaBean作为Entity,而为了兼容前台传入的空值,有些字段我们会用包装类型而不是基本类型。可是往往我的Entity已经设计完成,很多时候我们会在原来的Entity基础上修改字段返回值类型,而不是删去重写。于是问题就来了,一些大意的同学仅仅把属性的基本类型(如long)改为包装类型(如Long),而并没有将setter/getter的类型一起修改。
zrangeWithScore查询
Location search 设置或返回从问号 (?) 开始的 URL(查询部分)。
当前页开始的记录数据的公式
(当前页-1)*每页显示条数
PageBean<T>
PageBean<Route> pb = new PageBean<Route>();
(totalCount/pageSize)+1; 执行顺序
单引号嵌套双引号是为类不该变属性的" "
$.get("route/pageQuery",{cid:cid},function (pb) {
var str = 'one \'two\' three "four" five';
输出
one 'two' three "four" five
不管是单引号还是双引号,里面都可以套相反的引号
如过在引号里面使用相同的引号,需要用 \ 转义。
for (var i = 0; i < pb.list.length; i++) {
$.get("route/pageQuery",{cid:cid,currentPage:currentPage},function (pb) {
var li ='<li onclick="javascript:load('+cid+','+i+')"><a href="javascript:void(0)">'+i+'</a></li>';
VM5044:4 Uncaught TypeError: Cannot read property 'name' of null
at Object.success (<anonymous>:4:29)
at fire (jquery-3.3.1.js:3268)
at Object.fireWith [as resolveWith] (jquery-3.3.1.js:3398)
at done (jquery-3.3.1.js:9305)
at XMLHttpRequest.<anonymous> (jquery-3.3.1.js:9548)

浙公网安备 33010602011771号