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)























 

posted @ 2018-12-20 22:33  payn  阅读(202)  评论(0)    收藏  举报