javaweb模板-老司机教你完成一个JavaWeb项目要用到哪些专业技能_第1页
javaweb模板-老司机教你完成一个JavaWeb项目要用到哪些专业技能_第2页
javaweb模板-老司机教你完成一个JavaWeb项目要用到哪些专业技能_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

javaweb_JavaWeb项⽬要⽤到哪些专业技能在⼀个经典的JavaWeb的开发模式中,我们使⽤Jsp技术来作为展现层的实现,也就是所谓的前端。Web开发中经典的MVC模式,Model-View-Controller。最近做了⼏个JavaWeb项⽬,写篇⽂章总结⼀下收获,列举出在做项⽬的整个过程中,所需要⽤到的技能和知识点,带给还没有真正接触过完整JavaWeb项⽬的同学⼀个⽐较完整的视⾓。⾸先我们从⽹站的架构谈起,⼀般来说,我们将⽹站分为前端和后端。前端主要负责页⾯的展⽰,后端则是业务逻辑的实现。由于html5的兴起,前端领域已经越来越⽕热,前端技术发展极快,今天我们不做过多介绍,因为现在的互联⽹公司,前端⼯程师和Java⼯程师是完全不同的两种技术岗位。所以我们还是以Java的⾓度去看待⼀个项⽬。在前端没有那么⽕的前⼏年,或者说在经典的JavaWeb的开发模式中,我们使⽤Jsp技术来作为展现层的实现,其实也就是所谓的前端。当然只懂得Jsp是不够的还需要懂html,css,js,ajax等⼀些前端的基础技术,Jsp技术在其中扮演外层包装的⾓⾊。那么后端呢?后端是由于⼀些实现了业务逻辑Java代码和数据库组成。说到这,就可以推出Web开发中经典的MVC模式,Model-View-Controller。View,,就是指表现层,Model,是⽤来承载数据的抽象结构,⽽Controller则是View和Model的桥梁。View存在与前端代码中,Controller,Model存在与后端代码中。在后端代码中,为了保证代码的整洁,易读性,⼀般会采⽤分层的办法,⾃顶向下分为controller层,service层,dao层,数据层或者叫持久层(直接与数据库打交道)。有时候,为了达到解耦的⽬的,会在上述基层中间加⼊响应的接⼝层,以使得接⼝与实现分离。在更加⼤型的⽹站中,会出现更加复杂的架构,⽐如dao层与数据层之间要有缓存层,或者访问压⼒增⼤后,需要使⽤集群,负载均衡等⾼级技术,但在这⾥,我们就不深⼊讨论复杂架构了。以上我们看到,⼀个Web项⽬前端需要表现层,后端有controller层,service层,dao层,持久层。在表现层,除了刚才提到的html,css,js,ajax,jsp等基础知识,在实际开发中,我们还会⽤到许多框架技术,⽐如tiles,velocity,freemarker等模板技术来简化表现层的开发。在持久层,除了jdbc外,还有Mybatis,Hibernate等框架来提⾼开发效率。在JavaWeb中最耀眼的当属Spring了,Spring作为⼀个贯穿整个项⽬的框架,为项⽬开发带来依赖注⼊,⾯向切⾯编程的功能。除了这些,我们还需要熟练掌握⼀种关系型数据库的使⽤,如MySQL,Oracle等,当然更好地话还需要掌握⼀种⾮关系型数据库,MongoDB,Redis。掌握了以上知识点,那么你就可以开始写JavaWeb项⽬了。但是只会写⽽不会部署,我们的项⽬仍然不能拿出来⽤。我们需要找⼀个容器来运⾏我们的代码。这⾥的容器是当然不是指Java⾥的数据类型,⽽是指应⽤服务器,此处要特别区分应⽤服务器与Web服务器,⾄于Web服务器是什么,稍后会介绍。(如果有同学不是很清楚服务器的概念,可以先看下⼀段,再回来看)⽬前,市⾯主要流⾏的应⽤服务器有Tomcat,Jetty,JBoss等。很多⼈会问我们为什么需要应⽤服务器?顾名思义,应⽤服务器就是⽤来运⾏我们的应⽤代码的。这⾥需要特别提到的是,JavaWeb⽤到了像Jsp,servlet这样的动态web技术,⽽这些技术的代码是必须运⾏中应⽤服务器中的。所以当我们写好应⽤代码后,需要把⾃⼰的应⽤部署到应⽤服务器上。应⽤部署好后,那么⽤户们该怎么访问呢?直接访问应⽤服务器吗?这个时候就需要web服务器出场了。在互联⽹上,最强⼤的应⽤层协议当属http协议了,⼈们访问⽹站就是通过http协议来进⾏访问的,⽽Web服务器就是⽀持http协议的服务器,所以就叫http服务器。Web服务器接收http请求,然后再将请求转交给应⽤服务器。有⼈会问⽤户直接访问应⽤服务器不好吗?为什么要给web服务器,然后再到应⽤服务器?从功能实现上来说,是可以的。许多应⽤服务器,⽐如Tomcat是具有web服务器的功能,所以直接访问也可以。但是由于在实际的⽣产环境中,由于负载均衡,cdn加速等原因,我们还是需要在应⽤服务器的前端再加⼀个web服务器来提⾼访问效率,常⽤的有Nginx,Apache这样的服务器。⽼是在讲这个服务器,其实服务器这个概念呢,我们应该在真正接触计算机专业领域之前早就听说过,⽐如以前打游戏觉得卡的时候⼤家都时不时会⽤到服务器这个词汇。但是我真正理解并研究服务器是在学习tomcat,jetty之后才开始的。服务器到底什么呢?服务器其实很简单,就是⼀台电脑,那它和我们⽇常⽤的电脑有什么区别?第⼀,它⼀般没有显⽰器,它只有主机。第⼆,它的操作系统不同于我们常⽤的windows,MacOS。更多的是*nix系统。第三,它运⾏了⼀些服务器端软件。⽐如说,我们上⽂提到的Tomcat,Jetty,Nginx,Apache,其实这些都是服务器软件,只是主机运⾏了这些软件,所以有时候⼤家就混淆了叫法。所以所谓的数据库服务器,⼤家也知道了,其实就是运⾏了数据库的主机。说到服务器,我们所需要掌握的重点知识就是服务器操作系统,也就是*nix系统,⽐如CentOS,Ubuntu等。说到这⾥,其实⼀个简单的完整的JavaWeb项⽬就差不多了。我们简单回顾⼀下⾸先,我们需要利⽤各种框架和开发技术写出应⽤代码。接下来,我们需要⼀个台安装了*nix系统的主机,在上⾯安装好Web服务器软件,应⽤服务器软件,再把我们的应⽤代码部署到应⽤服务器上。现在我们只需要获取到主机的IP地址,就能够远程访问应⽤了。知识点列表:开发:1、视图层技术——HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker2、持久层技术——MyBatis,Hibernate3、Spring,SpringMVC4、项⽬构建⼯具Maven5、⽇志Log4j6、版本控制Git数据库技术:1、SQL语句2、参数调优操作系统:1、熟练掌握⼀种Linux系统,原理,Shell命令服务器技术:1、熟练使⽤并理解⼀个应⽤服务器技术的原理(Tomcat)2、熟练使⽤并理解⼀个Web服务器技术的原理(Nginx)附加:缓存技术:1、熟练使⽤并理解⼀种缓存技术(Redis,Memcache,EhCache)⾮关系型数据库1、熟练使⽤并理解⼀种⾮关系型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论