web前后端的区别
详细的解释一下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)javaweb包括了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前端需要掌握的技术有:DIVCSS,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、formtable、ulli、p、span、font这些标签,这些都是最常用的,特别是div和table,div用于布局、table也可以用于布局,但是不灵活,基本table是用来和数据打交道。
2、学习css。这里说的css不包括css3,一般我们看到web前端开发工程师的要求里面,有一个会使用csshtml或者cssdiv来进行界面布局,所以css是用于辅助html来布局和展示的,我们称之为“css样式”,为什么会说cssdiv呢因为我上面说了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、学习css3html5,可能这个对于更接手的新人来说有点困难,需要较强的代码知识与经验,但是如果你们是准备专门搞前端,那么最好还是学一下,这样对于将来的工作会有更大的帮助。
七、从事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并发包javaconcurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。
希望对您有所帮助!~
第一阶段:Java面向对象编程
1Java基本数据类型与表达式,分支循环。 2String和StringBuffer的使用、正则表达式。 3面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。 4对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。 5Java异常处理,异常的机制原理。 6常用的设计模式:Singleton、Template、Strategy模式。 7JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。 8Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。 9Java I/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。 10Java高级特性:反射、代理和泛型。 11多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。 12Socket网络编程。
第二阶段:Java Web开发
1Java解析XML文件DOM4J。 2MySql数据库的应用、多表连接查询的应用。 3Jsp和Servlet应用。 4Http协议解析。 5Tomcat服务器的应用配置。 6WebService服务配置应用。
第三阶段:android UI编程
1、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2、Android初级控件的使用:
TextView控件的使用Button控件的使用方法EditText控件的使用方法ImageView的使用方法RadioButton的使用方法Checkbox的使用方法Menu的使用方法
3、Android高级控件的使用:
Autocompletion的使用方法ListView的使用方法GridView的使用方法Adapter的使用方法Spinner的使用方法Gallary的使用方法ScrollView的使用方法
4、对话框与菜单的使用:
Dialog的基本概念AlertDialog的使用方法DatePickerDialog的使用方法Menu的使用方法自定义Menu的实现方法
5、控件的布局方法:
线性布局的使用方法相对布局的使用方法表格布局的使用方法
6、多Acitivity管理:
AndroidManifestxml文件的作用 Intent的使用方法使用Intent传递数据的方法启动Activity的方法IntentFilter的使用方法Activity Group的使用方法
7、自定义控件实现方法:
自定义ListView的实现方法可折叠ListView的使用方法自定义Adapter的实现方法自定义View的实现方法动态控件布局的上实现方法
第四阶段:android网络编程与数据存储
1、基于Android平台的HTTP通讯:
Http协议回顾Apache Commons 工具包介绍使用Get方法向服务器提交数据的方法解析服务器响应数据的方法使用POST方法向服务器提交数据的实现方法向服务器提交非文本数据的实现方法使用Http协议实现多线程下载使用Http协议实现断点续传
2、Android数据存储技术:
SQLite3数据库简介SQL语句回顾SQLite3编程接口介绍SQLite3事务管理SQLite3游标使用方法SQLite3性能分析访问SDCard的方法访问SharedPreferences的方法
3、ContentProvider使用方法:
ContentProvider实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的监听Android当中的异步操作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。
第五阶段:android手机硬件管理
1、地图及定位技术:GPS简介;LocationManager的使用方法;在Google Map上添加标记的方法;查询某地附近建筑的方法;使用Google Map实现点对点导航。
2、传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
3、近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
4、媒体管理技术:MediaPlayer的使用方法。
5、触摸屏技术:手势识别;多点触摸技术。
第六阶段:Android图形编程技术
1、图形处理基础:2D图形编程基础;2、点、线、面等基本图形元素绘制方法;3、Android动画框架简介;4、位移动画的实现方法;5、淡入淡出动画的实现方法;6、旋转动画的实现方法;7、Matrix的使用方法。第七阶段:Android游戏开发1、Android游戏开发:Android游戏开发概述;2、SurfaceView的使用方法;3、物理小球技术;4、碰撞检测技术;5、、文字和背景音乐等资源的使用方法;6、游戏引擎基础概念;7、Cocoa2d-Android引擎使用方法;8、OpenGL ES使用方法。
视情况而定,oracle是主流的大型数据库,大多数电信项目都是使用的oracle,而sqlserver与mysql主要是个人以及小型公司使用的的数据库,但是sqlserver需要收费,mysql不用;如果按功能上来说,oracle最为强大,oracle支持递归查询,二后两者不支持。
三个数据库中,只有sqlserver有完整的图形化操作界面,而oracle与mysql都要借助于其他的第三方数据库图形操作界面,比如oracle用的大多都是plsql。
如果是本地数据的需求用SQlite,如果像登陆有用验证或者网络间共享数据的话,就需要调用WebService与后台服务器数据交互,这两种数据是没有联系的。一个是本地数据库,一个是服务器端数据库。本地用数据库就是SQlite,别的不太可能,终端没有那么高的性能,再说甲骨文公司也没出手机端oracle啊。
如果你的数据是已知的,静态的,没有太多的变化,满可以在本地SQlite中存储、读取。这样不会因网络问题而降低效率和成功率。如果数据未知、有实时的变化或者有与其他用户交互、共享的数据必然需要后台服务器数据。
不能与数据库连接的
Android客户端不能直接与服务器数据库连接。数据库是需要非常大的内存,安装之后有好几G,连接数据库要有一个像SQLServer里的webservice,这样的一个桥梁来间接访问。就是在服务器运行一个服务端程序,该服务端程序通过接收来自android客户端的指令,对数据库进行操作。
客户端的http请求可以通过 HttpClient类实现,在anddroid 40之后,客户端的网络请求已经不被允许在主线程中运行,所以还需注意另开启一个子线程进行网络请求。
扩展资料:
Android安全权限机制:
Android默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的操作。这其中包括读写用户隐私数据(联系人或电子邮件),读写其他应用文件,访问网络或阻止设备待机等。安装应用时,在检查程序签名提及的权限,且经过用户确认后,软件包安装器会给予应用权限。
下载一款Android应用通常会要求如下的权限:拨打电话、发送短信或彩信、修改/删除SD卡上的内容、读取联系人的信息、读取日程信的息,写入日程数据、读取电话状态或识别码、精确的(基于GPS)地理位置、模糊的(基于网络获取)地理位置、创建蓝牙连接、
还有对互联网的完全访问、查看网络状态,查看WiFi状态、避免手机待机、修改系统全局设置、读取同步设定、开机自启动、重启其他应用、终止运行中的应用、设定偏好应用、震动控制、拍摄等。
——Android
0条评论