layUI、bootstrap ElementUI 的优缺点
layui是国人 “闲心”开发的一套框架,2016年出来的,现在已更新到2.X版本了。比较新,轻量级,样式简单好看。
bootstrap 相对来说是比较成熟的一个框架,现在已经更新到4.X版本。是一个很成熟的框架,这个大部分人一般都用过。
layUI轻量级
bootstrap 比较成熟;所以就比较冗余
layui 其实更偏向与后端开发人员使用,在服务端页面上有非常好的效果。
bootstrap 在前端响应式方面做得很好,PC端和移动端表现都不错, 很适合做响应式网站
最后说一下 ElementUI 基于Vue的框架,能够实现数据的双向绑定。
项目中怎么使用cookie,为什么使用cookie
一般用在登录注册上面、我也跟同事讨论过,它是不安全的
Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。
Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。
因为不需要服务器资源,数据保存在客户端
ehcache、redis分别应用于什么场景
ehcache直接在jvm虚拟机中缓存,速度快,效率高,使用方便;但是缓存共享麻烦,集群分布式应用不方便。如果是单个应用或者对缓存访问要求很高的应用,用ehcache。
redis是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多,处理集群和分布式缓存方便,有成熟的方案。
如果是单个应用或者对缓存访问要求很高的应用,用ehcache。
如果是大型系统,存在缓存共享、分布式部署、缓存内容很大的,建议用redis。
ehcache也有缓存共享 它的缓存共享复杂,维护不方便;简单的共享可以,但是涉及到缓存恢复,大数据缓存,则不合适。
谈谈对微服务的理解
说到微服务的话就先谈谈传统的开发模式
传统的开发模式都在一台服务器上进行,例如:一个大型项目里面可能包含许多功能模块,而且模块之间肯定会存在一定的依赖关系,项目的复杂度非常高。如果其中某个模块出现问题,就有可能导致整个项目运行失败。
由于大型项目的复杂度高,项目的构件和部署的时间也会随之增加。而且,如果某一个功能模块出现问题,那么解决问题后需要重新把整个项目重新发布。在发布过程中项目的所有功能都无法使用。等等
然后我们再说说微服务
一说到微服务那就从“微”字开始说,微 从字面意思就知道是体积较小
微服务的每个模块都相当于一个小项目,代码量也减少了,遇到问题相对于传统的比较好解决
微服务每个模块都可以使用不同的开发技术,开发模式更灵活。
微服务的存储方式也不一样(radis)
前后端交互用到了zuul网关
讲讲springmvc的工作流程
1、用户发送请求至前端控制器DispatcherServlet
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、DispatcherServlet调用HandlerAdapter处理器适配器
5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6、Controller执行完成返回ModelAndView
7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9、ViewReslover解析后返回具体View
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户
持续更新