前端开发

SpringMVC工作原理

元气小坏坏 提交于 2019-12-22 12:30:28
SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给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响应用户。 组件说明: 以下组件通常使用框架提供实现: DispatcherServlet:作为前端控制器

关于css,js放置位置的问题

一笑奈何 提交于 2019-12-22 07:57:00
一天,小明正在网上查找资料,项目中遇到的问题需要通过查阅资料来解决,他看到一个标题很有意思,觉得这应该是他要找的答案,于是他就点了进去,结果进入网站后几秒钟的时间,网页还是一片空白,过了好久才加载完成。 为什么会出现这种情况? 说到这那我们就有必要先了解一下网站加载的整个完整过程了。 1.首先浏览器从服务器接收到html代码,然后开始解析html 2.构建DOM树(根据html代码自顶向下进行构建),并且在同时构建渲染树 3.遇到js文件加载执行,将阻塞DOM树的构建;遇到css文件,将阻塞渲染树的构建 (script标签中的defer属性:构建DOM树的过程和js文件的加载异步(并行)进行,但是js文件执行需要在DOM树构建完成之后 script标签中的async属性:构建DOM树、渲染树的过程和js文件的加载和执行异步(并行)进行) 为什么要对css,js的放置位置进行调整? 从以上过程可以知道,当js文件放在head中时,浏览器构建DOM树的时候遇到js文件加载会阻塞,也就是说,浏览器不会加载body中的标签,一旦这个js文件的数量和内容都比较大,那么就会造成刚刚小明遇到的那种情况,就不会给用户一个十分良好的可视化回馈,而在前端开发中,给予用户的可视化回馈十分重要。 我们现在十分青睐于用进度条来描述一个过程,而对用户的可视化回馈,就是网页加载的进度条。

CSS隐藏元素的方法及区别

微笑、不失礼 提交于 2019-12-22 06:12:12
1.opacity opacity:0将元素本身及其子元素都置为不可见的,而元素本身依然占据它自己的位置并对网页的布局起作用,它会响应用户交互。 **2.visibility ** visibility:hidden将元素本身及其子元素都置为不可见的,而元素本身依然占据它自己的位置并对网页的布局起作用,它不会响应用户交互。如果想让子元素显示,则设置子元素的visibility:visibility; 3.display display:none使用这个属性,被隐藏的元素对网页的布局不起作用。不仅如此,一旦display设为none任何对该元素直接的用户交互操作都不可能生效。此外,读屏软件也不会读到元素的内容。这种方式产生的效果就像元素完全不存在。通过DOM依然可以访问到这个元素。因此你可以通过DOM来操作它。 4.position position:absolute 将top和left设置成足够大的负数,相当于把元素放到可视区域外,它不会影响布局,能够让元素保持可操作性,在读屏软件上可以被识别。 总结一下: opacity,visibility影响布局,前者不影响交互,后者影响交互; display不影响布局,影响交互; position 不影响布局,不影响交互; 下面给出例子:可以自行调试 专门建立的学习Q-q-u-n: 731771211,分享学习方法和需要注意的小细节

Python进阶实战爬虫:极滑块验证思路

孤街浪徒 提交于 2019-12-22 05:29:06
`代码大家自己加油琢磨,我给你们思路, 获取极验证两个图片一个有缺口一个没有缺口 然后对于图片进行分析 获取移动偏差 这里一定要进行仿人类移动滑块, 代码网上一堆哈 给大家获取图片的提示,一般他图片前端页面都已经渲染出来了,可能就是 display:none 或者透明度0进行隐藏 也有种可能是ajax提交,但是这里一般都会进行 js加密 还有种解决思路就是 调用第三方接口 就是要 花钱 推荐Python大牛在线分享技术 扣qun:855408893 领域:web开发,爬虫,数据分析,数据挖掘,人工智能 零基础到项目实战,7天学习上手做项目 来源: CSDN 作者: 学习-永无止境 链接: https://blog.csdn.net/weixin_45974628/article/details/103648647

企业对前端开发人员有哪些要求?硬核技能+辅助要求缺一不可

旧街凉风 提交于 2019-12-22 05:07:20
优秀的大前端人才应该具备熟练编写任何一个互联网系统的前端页面、交互代码的能力,作者从事IT6年,目前是一名全栈开发工程师,根据这些年在职场的经验,结合目前互联网环境下对于前端工程师的招聘要求分析,总结出企业要求主要分为硬核技能、辅助要求两部分。 一、硬核技能 第一阶段:HTML+CSS:HTML、CSS基础、div+css布局 JavaScript基础:Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。 JS基本特效:例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。 JS高级特征:正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础 JQuery基础使用:悬着器、DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用 第二:HTML5和移动Web开发 HTML5: HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、Web Socket、Canvas. CSS3: CSS3新选择器、伪元素、脸色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作。 Bootstrap

第09组 Beta冲刺(2/5)

限于喜欢 提交于 2019-12-22 01:56:11
队名:观光队 链接 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 学习 展示GitHub当日代码/文档签入记录 接下来的计划 完成短租车,页面美化 还剩下哪些任务 s 完成短租车,页面美化 遇到了哪些困难 暂无 有哪些收获和疑问 1、收获:暂无 2、疑问:暂无 许培荣 过去两天完成了哪些任务 文字/口头描述 使用dbutils并发连接数据库 展示GitHub当日代码/文档签入记录 接下来的计划 优化后台,完善前端。 还剩下哪些任务 地图功能模块未连入前端页面。有时间可优化前端页面效果。 燃尽图 遇到了哪些困难 完善一些细节功能 有哪些收获和疑问 1、收获:无 2、疑问:迷茫中 陈湘怡 过去两天完成了哪些任务 文字/口头描述 重构认证页面UI,思考短租车UI完善方案 展示GitHub当日代码/文档签入记录 最近无 接下来的计划 完善UI 还剩下哪些任务 前端页面与后端接口的完善 燃尽图 组内共享 遇到了哪些困难 暂无 有哪些收获和疑问 1、收获:收获夜间寒冷 2、疑问:暂无 陈超颖 过去两天完成了哪些任务 文字/口头描述 完成短租车后端接口部分代码、测试 展示GitHub当日代码/文档签入记录 接下来的计划 与前端、数据库连接,完善接口、继续找bug 还剩下哪些任务 与前端、数据库连接,完善接口,继续找bug 遇到了哪些困难 暂无 有哪些收获和疑问

自己动手写一个前端路由插件

纵然是瞬间 提交于 2019-12-22 00:58:53
在单页应用上,前端路由并不陌生。单页应用是指在浏览器中运行的应用,在使用期间页面不会重新加载。 基本原理: 以 hash 形式(也可以使用 History API 来处理)为例,当 url 的 hash 发生改变时,触发 hashchange 注册的回调,回调中去进行不同的操作,进行不同的内容的展示。 基于hash的前端路由优点是:能兼容低版本的浏览器。 history 是 HTML5 才有的新 API,可以用来操作浏览器的 session history (会话历史)。 从性能和用户体验的层面来比较的话, 后端路由 每次访问一个新页面的时候都要向服务器发送请求,然后服务器再响应请求,这个过程肯定会有延迟。而 前端路由 在访问一个新页面的时候仅仅是变换了一下路径而已,没有了网络延迟,对于用户体验来说会有相当大的提升。 SPA的核心即是前端路由。何为路由呢?说的通俗点就是网址,比如https://www.talkingcoder.com/article/6333760306895988699;专业点就是每次GET或者POST等请求,在服务端有一个专门的正则配置列表,然后匹配到具体的一条路径后,分发到不同的Controller,然后进行各种操作后,最终将html或数据返回给前端,这就完成了一次IO。当然,目前绝大多数的网站都是这种后端路由,也就是多页面的,这样的好处有很多

web前端入门到实战:背景关联和缩写以及插图图片和背景图片的区别

梦想与她 提交于 2019-12-21 22:33:23
一、背景属性缩写的格式 1.backgound:背景颜色 背景图片 平铺方式 关联方式 定位方式 2.注意点: 这里的所有值都可以省略,但是至少需要一个 3.什么是背景关联方式 默认情况下,背景图片会随着滚动条的滚动而滚动,如果不想这样,那么我们可以修改它们的关联方式 4.格式: background-attachment:值; 值的取值范围: scroll:默认值,会随着滚动条而滚动。 fixed:不会随着滚动条滚动而滚动。 5.例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>d99_background_abbreviation</title> <style> div{ width: 1100px; height:5000px; background:red url("image/snow.jpg") no-repeat fixed center center;/*背景颜色 图片地址 平铺方式 关联方式 定位方式*/ /*这里的所有值都可以省略,但是至少需要一个*/ /*background-attachment: fixed;*/ } </style> ​ </head> <body> <div> <br> <br> <br> <br> <br> <br> <br> <br>

如何实现vue前端跨域,proxyTable解决开发环境前端跨域问题

时光怂恿深爱的人放手 提交于 2019-12-21 19:10:00
在开发环境与后端调试的时候难免会遇到跨域问题,很多人说跨域交给后端解决就好了。 其实不然,前端也有很多方法可以解决跨域,方便也快捷。 常见的有nginx转发、node代理。 在vue项目中常用的是proxyTable,这个用起来很方便。 打开config下面的index.js,找到proxyTable,添加以下代码即可: '/api': { //替换代理地址名称 target: ' http://api.douban.com/ ', //代理地址 changeOrigin: true, //可否跨域 pathRewrite: { '^/api': '' //重写接口,去掉/api } } 配置完之后需要重启下项目 npm run dev 重启之后,就可以调用,实现跨域了 具体使用: 在需要调用的接口前加上“/api”即可 不出意料,点击按钮之后控制台会打印出返回结果 为了方便打包后去除'/api',建议把'/api'设成全局,在main.js中添加 Vue.prototype.api = process.env.NODE_ENV === 'production' ? '' : '/api' 调用接口的时候的url就可以写成api + '接口地址' 到此结束,希望有所帮助。 来源: 51CTO 作者: xxxpjgl 链接: https://blog.51cto.com

前端技术学习路线及技术汇总

送分小仙女□ 提交于 2019-12-21 13:55:21
学习路线: 按照上图顺序所学,基础多看,安全方面的作为了解。 前端所需技术: 结构--HTML:描述页面的结构--HTML5 样式--CSS:美化页面--CSS3 行为--JavaScript:交互,提升用户体验--JavaScript2016 参考w3school网站学习 https://www.sublimetext.com----写网页的轻量级工具 jQuery---是JavaScript的函数库(框架),是一个轻量级的“写的少,做的多”的JavaScript库。 jQuery UI----是一个建立在jQuery JavaScript库上的小部件和交互库,可以使用它创建高度交互的 Web应用程序。继承jQuery简易使用特性,提供高度抽象接口,短期改善网站易用性。 jQuery EasyUI---是一个基于jQuery的框架,集成了各种用户界面插件。提供了创建网页所需的一切。 Vue.js-----是一套构建用户界面的渐进式框架。Vue只关注视图层,通过尽可能简单的API实现响应的数据绑定和组合的视图组件。 Node.js----是一个让JavaScript运行在服务端的开发平台。 AJAX-----是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 JSON-----是存储和交换文本信息的语法。类似XML。 JSP----其根本是一个简化的Servlet设计