A. 前端跟后端的MVC架构有什么不同
相对而言,后端的特点,能访问数据库,页面是整个刷新掉的。而前端的特点,只能缓存服务器给的数据,界面需要局部更新来保证用户体验。
这两个差别导致 Model 跟 View 的关系大相径庭。一个结果就是前端数据界面的绑定相对严重。
B. 网页设计前端和后端的区别越详细越好。
详细的解释一下web前后端的区别
1、
前台:呈现给用户的视觉和基本的操作。
后台:用户浏览网页时,我们看不见的后台数据跑动。后台包括前端、后端。
前端:对应我们写的html、css、javascript 等网页语言作用在前端网页。
后端:对应jsp、javaBean、层、action层和service层的业务逻辑代码。(包括数据库)
为什么jsp是后端呢?主要是jsp的运行原理是在tomcat服务器运行的。
2、
(1)javaweb是java开发中的一个方向 java有搞安卓的,搞web的,搞嵌入式的等。javaweb就是指搞web方向的,javaweb分两块,一块是服务器端叫后端,另一块叫前端,也就是web前端。前端就是用户能看到的部分,比如淘宝网,qq空间,网页上你能看到的都是web前端做的。后端做的就是为前端的展示业务逻辑功能做处理。
(2)java web包括了jsp,servelt以及一些框架比如spring,structs以及与数据库交互的知识,当然也涉及到了html,css等前端技术,但是更侧重于后端的开发。web前端主要是html,css,javascript之类的技术。
jaweb是javaee的一个方向,Javaweb,由前端、Java代码、和数据库三个大方面组成,前端只是其中之一。
(3)在我们的机子上看到的界面,安装的程序,给用户看的,操作的就是前端;而你看不到的,帮你保存网络游戏数据,保存应用数据,处理数据的就是后端(服务器)。比如说:我们在用的知乎就是前端,而保存这个问题,还有把这个问题推送给你的就是后端。
二、定义不同
一般来说,我们将网站分为前端和后端。前端主要负责页面的展示,后端则是业务逻辑的实现。
1、Web前端:
顾名思义是来做Web的前端的。这里所说的前端泛指Web前端,也就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。
2、Web后端:
后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。
三、需要掌握的技术不同
1、Web前端:
精通JS,能熟练应用JQuery,懂CSS,能熟练运用这些知识,进行交互效果的开发。
(1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构;
(2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器;
(3)熟悉JavaScript,了解ECMAScript基础内容,掌握1-2种js框架,如JQuery;
(4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案;
(5)对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。
2、Web后端:
后端开发人员:会写Java代码,会写sql语句,能做简单的数据库设计,会Spring和iBatis,懂一些设计模式等。
(1)精通jsp,servlet,javabean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解;
(2)练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力;
(3)熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑;
(4)精通面向对象分析和设计技术,包括设计模式、UML建模等;
(5)熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力。
四、web后端和前端是怎么连接的?
1、web服务器(apache、tomcat等),网络协议(http、socket等),浏览器(chrome、FF、IE等)。浏览器发起建立连接请求,通过网络协议与服务器建立连接,服务器保持连接,获取浏览器想要的数据,服务器通过连接返回内容给浏览器,浏览器把数据呈现出来。
2、连接的协议一般是http,也有websocket。服务器以服务的方式存在,就像外卖店,你打个电话过去,人家就把饭菜送上门来了。
3、web服务器访问数据库一样要使用网络连接,端口只是开放服务的入口而已,就像外卖的电话。
五、JavaWeb与web前端的区别?
1、web前端,主要是给网站做静态页面的,也就是说你平时浏览的网站所看到的页面基本都出自web前端,不过网站版面可以是美工出图。
web前端需要掌握的技术有:DIV+CSS,j,jQuery更高一层的是可以去使用一些框架去网站页面。这样的框架也有很多。如Bootstrap,UIkit,Kube等等。
2、javaweb一般涉及到前端。而web前端开发只是有可能涉及到java。
前端开发一般只涉及到js,html,css,有些可能会用flash,photoshop这些。框架就jquery,ext,jodo等这些。
web前端的话他的后端可能是java,也可能是.net或者php等都可能,但javaweb可以确定后端就是java,web前端其实都一样。
前端和Javaweb的区别更多的在于一个主要负责前端的设计和效果,而Javaweb更专注于后端的内容。
3、刚开始从事web开发时,首先要选准学习方向,看是想从事前端部分还是后端程序部分。当然在工作的后期,就不会分的那么细致了。做前端到后期也会懂一些后端的技术,反之,后端也是。
六、学习Web前端开发都需要掌握哪些技能?
1、学习html。这个是最简单的,也是最基础的.要熟练掌握div、form table、ul li 、p、span、font这些标签,这些都是最常用的,特别是div和table,div用于布局、table也可以用于布局,但是不灵活,基本 table是用来和数据打交道。
2、学习css。这里说的css不包括css3,一般我们看到web前端开发工程师的要求里面,有一个会使用css+html 或者 css+div 来进行界面布局,所以css是用于辅助html来布局和展示的,我们称之为“css样式”,为什么会说css+div呢?因为我上面说了div就是 html主要用于布局的东西,所以div就是核心掌握的东西!那么css肯定必须要配合div来使用才好.css要熟练掌握float、 position、width、height,以及对于的最大最小、会使用百分百、overflow、margin、padding等等,这些都是跟布局 有关系的样式,一点要掌握。
3、学习js。可能前两个大家觉得还过的去,看到js就傻眼了,其实吧,js入门很简单的,不需要会很多东西的,只要会根据某个id、或者name拿到网页dom或者样式、或者值,然后会给某个id或者name的元素标签赋值、或者追加数据、追html,这个是跟数据有关系的操作,然后数据逻辑判断,效果方面的,无非就是跳转、弹框、隐藏什么的,把这些全部结合其他就是实际用途了,代码一点都不难,会了这些基础js,其他的直接网络就好了.然后看多了,用多了,就什么都不是问题了。
4、学习jquery。jquery是相当于把js封装了一套的一个js插件,目的就是操作起来更方便,代码写的更少,jquery入门也很简单,那些是入门需要学的和js一样,只是换成了jq的代码.其他的一样网络就够了。
5、最好会点后台语言,比如java、php,为什么呢?因为前台界面的数据都是从后台来的,如果会点后台代码,就知道怎么跟后台交互数据是最好的, 这样节约时间,也可以让前端代码更规范.不然可能因为你的写法和后端给来的数据不能结合上,那么前端代码又得重新写,那就更加麻烦了。
6、学习css3+html5,可能这个对于更接手的新人来说有点困难,需要较强的代码知识与经验,但是如果你们是准备专门搞前端,那么最好还是学一下,这样对于将来的工作会有更大的帮助。
七、从事Java后端开发都需要掌握哪些技能?
对于初学Java并且有志于后端开发的同学来说,需要重点关注以下几个部分:
1、基础:比如计算机系统、算法、编译原理等等
2、Web开发:主要是Web开发相关的内容,包括HTML/CSS/js(前端页面)、 Servlet/JSP(J2EE)以及MySQL(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面)。还有一些前段框架比如easyui,还有js,jquery等技术。
3、J2EE:你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的。关于Servlet/Jsp部分视频的选择,业界比较认可马士兵的视频。 4、数据库:你需要学会使用数据库,mysql是个不错的入门选择,而且Java领域里主流的关系型数据库就是mysql。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat,sqlyog,二选一即可。
5、开发框架:目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。但你一定要可以快速的利用它们三个搭建出一个Web框架,你在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。
6、你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。总而言之,这个阶段,你需要做的是深入了解Java底层和Java类库(比如并发那本书就是Java并发包java.concurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。
希望对您有所帮助!~
C. 前端与后端的区别
从三方面具体来说说Web前端和后端的区别。
1、展示方式
前端是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、图片、视频,音频等内容。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。
后端用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。
2、技术实现
前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js 、Webpack,AngularJs,ReactJs,VueJs等技术;后端开发以java为例主要用到的是包括但不限于Struts spring springmvc Hibernate Http协议 Servlet Tomcat服务器等技术。
3、工作内容
前端工程师负责Web前端开发、移动端开发、大数据呈现端开发。Web前端开发针对PC端开发任务;移动端开发包括Android开发、iOS开发和各种小程序开发,在移动互联网迅速发展的带动下,移动端的开发任务量是比较大的;大数据呈现则主要是基于已有的平台完成最终分析结果的呈现,呈现方式通常也有多种选择。
后端工程师负责平台设计、接口设计和功能实现。平台设计主要是搭建后端的支撑服务容器;接口设计主要针对于不同行业进行相应的功能接口设计,通常一个平台有多套接口,就像卫星导航平台设有民用和军用两套接口一样;功能实现则是完成具体的业务逻辑实现。
前后端开发的相似点:函数式编程、模块化思想、分层思想、单元测试、lint、assert 方法、日志、声明式和命令式的实践经验、数据处理的本质实践与思考、部分库的使
前后端开发的区别:前端、重用户体验、对UI库的依赖较强、界面的个性化较强、处理各个浏览器平台对界面的渲染差异、后端、并发处理、事务、部署复杂,特别是微服务出来后、具体的功能特性,如大数据分析,AI方面的工作。
通过以上总结的Web前端和后端的区别,可以看出前端开发的内容是我们在网页看到的内容,而后端开发主要业务逻辑规则。
有的人认为,前端很好学,后端不好学。也有的人认为,前端不好学,后端好学,归根到底还得看个人兴趣。
D. 什么是前后端,有没有前后端分离,还有如何区分mvc与前后端分离
1>>前后端分离的意思是,前后端只通过 JSON 来交流...
同意其他几位,JSON 只是一种可选的协议,而不是唯一,也未必是前后端通信的最佳方案。
2>>组件化、工程化不需要依赖后端去实现...有哪些好处或弊端?
前端的组件化、工程化,js 等代码越来越胖,有点类似于过去 C/S 时代的 fat client。所以这个问题相当于,计算是主要放在 client 好,还是 server 好?
Fat client 好,还是 thin client 好,取决于所开发应用、产品、系统的类型、规模和特点,其中一些权衡因素主要包括软件复杂度、人机交互模型、网络带宽、server 与 client 的处理能力等等。无所谓好坏,适合就好。
Client-side MVC 确实是一个趋势,Web 架构设计上的一个创新。
E. mvc框架是前端还是后端
MVC属于后端的框架,MVC 是一种经典的设计模式,全名为 Model-View-Controller,即 模型-视图-控制器。
F. 前端和后端开发有什么区别吗
Web前端和后端的区别:
1、展示方式
前端是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、图片、视频,音频等内容。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。
后端用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。
2、技术实现
前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js 、Webpack,AngularJs,ReactJs,VueJs等技术;后端开发以java为例主要用到的是包括但不限于Struts spring springmvc Hibernate Http协议 Servlet Tomcat服务器等技术。
3、工作内容
前端工程师负责Web前端开发、移动端开发、大数据呈现端开发。Web前端开发针对PC端开发任务;移动端开发包括Android开发、iOS开发和各种小程序开发,在移动互联网迅速发展的带动下,移动端的开发任务量是比较大的;大数据呈现则主要是基于已有的平台完成最终分析结果的呈现,呈现方式通常也有多种选择。
后端工程师负责平台设计、接口设计和功能实现。平台设计主要是搭建后端的支撑服务容器;接口设计主要针对于不同行业进行相应的功能接口设计,通常一个平台有多套接口,就像卫星导航平台设有民用和军用两套接口一样;功能实现则是完成具体的业务逻辑实现。
前后端开发的相似点:函数式编程、模块化思想、分层思想、单元测试、lint、assert 方法、日志、声明式和命令式的实践经验、数据处理的本质实践与思考、部分库的使
前后端开发的区别:前端、重用户体验、对UI库的依赖较强、界面的个性化较强、处理各个浏览器平台对界面的渲染差异、后端、并发处理、事务、部署复杂,特别是微服务出来后、具体的功能特性,如大数据分析,AI方面的工作。
通过以上总结的Web前端和后端的区别,可以看出前端开发的内容是我们在网页看到的内容,而后端开发主要业务逻辑规则。
有的人认为,前端很好学,后端不好学。也有的人认为,前端不好学,后端好学,归根到底还得看个人兴趣。
G. mvc和mvvm是前端还是后端
你这个说法其实不严密,MVC这种三层结构本身与前后端无关,仅仅前端自己,也可以用MVVM三层来实现,像React、Vue都是这样的。
如果你是从整个服务角度宏观来看的话,MVC里面的M和C在后端,V在前端;MVVM中的M和VM在后端,V在前端(也有人认为VM不一定在后端,我倾向于VM和M的关系更紧密,实现也一般都在后端)
H. 前端,后台,数据库之间的关系是什么
前端将数据传输到后台,后台则与数据库直接关联,这样前端的数据即可通过后台传输到数据库;前端请求数据时,将请求发送到后台,后台再从数据库中调取数据传输到前端。
在实际情况中,浏览器将自动发送文件请求给后台,后台处理后将文件返回给前台,前端接收后,浏览器生成dom树、css树、js树,全部创建好之后开始渲染。静态界面加载完之后呈现给用户,用户进行注册登陆的操作,将操作数据(用户名、密码)发送给后台。
是整体的思维,以整个页面的布局(dom、css)、作用(js)为主要思路进行自己的处理。
后台:以单个的请求为单位进行出来。主要做的是,前端来一个请求后台处理该请求然后做出响应,再来再处理响应,流程是固定的,差异体现在处理过程上。
(8)前端后端mvc扩展阅读:
后端与前端比较的焦点之一在于安全性。在互联网发展初期,当浏览器不够安全且客户端计算机部署有限的资源时,尽可能在服务器端保留计算和逻辑是确保应用程序使用的稳定性和用户提供的信息安全性的唯一方法。
实际上,应用程序的前端和后端部分现在负责数据验证,但强烈建议在服务器端实现安全功能和最终数据验证机制,以使重要的应用程序组件不会暴露。
出于显而易见的原因,还在服务器端实现了事件记录和代码调试。由于服务器是一个持续监听来自客户端请求的进程,因此验证合法请求并阻止非法访问尝试是后端Web开发的重要部分。
参考资料来源:网络-前端
参考资料来源:网络-后台
参考资料来源:网络-数据库
I. 如何选择和评价前端ajax异步渲染与后端mvc渲染
1、到今天,几乎没人会禁掉js。
2、php生成全部代码,肯定比只生成框架,然后ajax要快。原因是,两种情况下,你的网线传输的数据K数基本是一样的,如果js执行innerHTML的话,会修改dom,造成重绘和重排,代价比较大。即使php只负责框子,但一般php项目都是使用了模板引擎的,即使提供框子也需要动用模板引擎,那么模板引擎处理框子和处理全部内容,是几乎感觉不出时间区别的。如果数据量大,那么ajax的优势是可以分段下载数据,这样就显得比php快。
3、忽略php比ajax快这种情况,它们的区别就是看使用场合,而且没有必须的规则,所以不要太较真。
ajax永远是跟“安全”的“频繁更新”的“格式的批量数据”以及“数据缓存”相关,而且用户没有欲望看旧的数据,也就是说,用户没兴趣、没必要点后退键,看老数据。因为ajax默认不支持后退键,如果想实现后退,需要做大量的工作。
也就是说:
A、如果抓的数据是敏感的,那么不要ajax,不敏感的话就可以ajax。如果抓的不是格式的批量数据,而是别的东西,比如抓了一条视频地址,即然只有一条,没必要ajax。如果预判用户会查阅大量的数据,那么用ajax先抓一批数据(或者首批数据用php输出),然后后台慢慢悠悠的再继续抓其他数据,然后缓存起来,这时候用ajax。
B、如果你的页面呈现完毕之后处于数据静止状态(不进行数据频繁更新),那就肯定是用php。(如果页面显示了当天日期,昨天是15日,今天是16日,也认为是数据静止。如果在某个位置显示了你的用户名,也认为是数据静止。)
C、如果你的页面呈现完毕之后不处于数据静止状态,也就是说在你观看页面的几十秒期间内,服务器数据库就有了大批量的数据更新,而且你有必要马上看到这些更新,那么就用ajax。或者说你的页面打开之后可能需要保持半小时、一小时不关闭,而且要随时看到数据更新,那肯定要用ajax。
从上述我的理论来讲,笼统说,你的公司内部网站,大量利用php,加上一丢丢的ajax,就对了。
关于分页,有人说用ajax来获取分页信息,岂不是美哉?这里道理其实是一样的,列表可以视为格式的批量数据,而且缓存有利于翻页,所以可以ajax。但是有可能列表页更新很慢,几天几周才新增一条,那又可以考虑php。所以这次就看情况而定。
如果一个网页展示了不算多的三四十条批量数据,今天是这些数据,明天仍是这些数据,没变过,这时候尽管符合“格式的批量数据”,但也推荐php,不推荐ajax。所以我才说,公司内网,可以大量用php。
对于php生成了html的情况,那就跟php无关了,如果一个html页面内的数据总要更新,当然ajax,没疑问。
J. 前端后端怎么连接起来
前端调用后端接口无外乎六种方法,如下:
1、打开vs,创建空的asp.net mvc演示项目【WebMVC】
(1)依次点击【文件】->【新建】->【项目】;
(2)在【新建项目】界面选择【Web】->【ASP.NET Web 应用程序(.NET Framework)】,输入名称,选择框架至少4.5版本,点击【确定】按钮;
(3)选择【空】->【MVC】->【确定】 ;
(4)创建好了项目。
2、在项目中
(1)在Controllers文件夹上点击鼠标右键,依次选择【添加】->【控制器】,即可完成HomeController的创建;
(2)在Controller的Index方法内,点击鼠标右键,选择【添加视图】;
(3)在项目中添加文件夹【Content】并添加jquery源文件;
(4)在Index页面添加jquery的引用。
3、在Index页面中添加一个输入文本框,一个按钮,以及显示结果的dom。
4、在HomeController中添加新的方法,用于接收前台传入的参数,组装后返回。
5、在Index页面,添加Jquery的ajax方式,调用后台接口,返回结果的处理代码。
6、在vs中,按F5调试运行结果,如下:
(1)在文本框中输入内容;
(2)点击按钮,调用接口,并将返回值显示在界面;
(3)如果要提交大量数据,或者敏感数据,请修改ajax的type方式,这样参数就不会在url地址栏中显示了。