8年开发老司机告诉你完成一个java Web完整项目要用到的专业技能

完成Java Web项目用到哪些专业技能?在经典的Java Web的开发模式中,我们使用Jsp技术来作为展现层的实现,其实也就是所谓的前端。Web开发中经典的MVC模式,Model-View-Controller。

最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java Web项目的同学一个比较完整的视角,提供一个所谓的“大局观”,也以便于同学们更有针对性地学习。

当然,这里所用到的例子项目是非常初级,简单的项目,所以大神们就可以不用往下看了。

首先我们从网站的架构谈起

一般来说,我们将网站分为前端和后端。前端主要负责页面的展示,后端则是业务逻辑的实现。由于html5的兴起,前端领域已经越来越火热,前端技术发展极快,今天我们不做过多介绍,因为现在的互联网公司,前端工程师和Java工程师是完全不同的两种技术岗位。所以我们还是以Java的角度去看待一个项目。

在前端没有那么火的前几年,或者说在经典的Java Web的开发模式中,我们使用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等框架来提高开发效率。在Java Web中最耀眼的当属Spring了,Spring作为一个贯穿整个项目的框架,为项目开发带来依赖注入,面向切面编程的功能。除了这些,我们还需要熟练掌握一种关系型数据库的使用,如MySQL,Oracle等,当然更好地话还需要掌握一种非关系型数据库,MongoDBRedis

掌握了以上知识点,恭喜你,你已经可以开始写Java Web项目了。但是只会写而不会部署,我们的项目仍然不能拿出来用。

找一个容器来运行我们的代码

所以说到这里,我们的项目代码已经写好,接下来该怎么办呢?当然是需要找一个容器来运行我们的代码。这里的容器是当然不是指Java里的数据类型,而是指应用服务器,此处要特别区分应用服务器与web服务器,至于Web服务器是什么,稍后会介绍。(如果有同学不是很清楚服务器的概念,可以先看下一段,再回来看)

目前,市面主要流行的应用服务器有Tomcat,Jetty,JBoss等。很多人会问我们为什么需要应用服务器?顾名思义,应用服务器就是用来运行我们的应用代码的。这里需要特别提到的是,Java Web用到了像Jsp,servlet这样的动态web技术,而这些技术的代码是必须运行中应用服务器中的。

所以当我们写好应用代码后,需要把自己的应用部署到应用服务器上。应用部署好后,那么用户们该怎么访问呢?直接访问应用服务器吗?这个时候就需要web服务器出场了。

在互联网上,最强大的应用层协议当属http协议了,人们访问网站就是通过http协议来进行访问的,而Web服务器就是支持http协议的服务器,所以就叫http服务器。Web服务器接收http请求,然后再将请求转交给应用服务器。有人会问用户直接访问应用服务器不好吗?为什么要给web服务器,然后再到应用服务器?

从功能实现上来说,是可以的。许多应用服务器,比如Tomcat是具有web服务器的功能,所以直接访问也可以。但是由于在实际的生产环境中,由于负载均衡,cdn加速等原因,我们还是需要在应用服务器的前端再加一个web服务器来提高访问效率,常用的有Nginx,Apache这样的服务器。

之前老是在讲这个服务器,那个服务器,不知道有没有同学听懵了。其实服务器这个概念,我们应该在真正接触计算机专业领域之前早就听说过,比如以前打游戏觉得卡的时候大家都时不时会用到服务器这个词汇。但是我真正理解并研究服务器是在学习tomcat, jetty之后才开始的。

那么服务器到底什么呢?

服务器这个概念其实很简单,就是一台电脑,那它和我们日常用的电脑有什么区别?

第一,它一般没有显示器,它只有主机。

第二,它的操作系统不同于我们常用的windows , Mac OS。更多的是*nix系统。

第三,它运行了一些服务器端软件。

比如说,我们上文提到的Tomcat , Jetty , Nginx,Apache,其实这些都是服务器软件,只是主机运行了这些软件,所以有时候大家就混淆了叫法。所以所谓的数据库服务器,大家也知道了,其实就是运行了数据库的主机。说到服务器,我们所需要掌握的重点知识就是服务器操作系统,也就是*nix系统,比如CentOS , Ubuntu等。

说到这里,其实一个简单的完整的Java Web项目就差不多了。我们简单回顾一下

首先,我们需要利用各种框架和开发技术写出应用代码。

接下来,我们需要一个台安装了*nix系统的主机,在上面安装好Web服务器软件,应用服务器软件,再把我们的应用代码部署到应用服务器上。

现在我们只需要获取到主机的IP地址,就能够远程访问应用了。

年开发老司机告诉你完成一个java

知识点列表:

开发:

1、视图层技术——HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker

2、持久层技术——MyBatis,Hibernate

3、Spring , Spring MVC

4、项目构建工具Maven

5、日志Log4j

6、版本控制 Git

数据库技术:

1、SQL语句

2、参数调优

操作系统:

1、熟练掌握一种Linux系统,原理,Shell命令

服务器技术:

1、熟练使用并理解一个应用服务器技术的原理(Tomcat)

2、熟练使用并理解一个Web服务器技术的原理(Nginx)

附加:

缓存技术:

1、熟练使用并理解一种缓存技术(Redis,Memcache,EhCache)

非关系型数据库

1、熟练使用并理解一种非关系型数据库(MongoDB)

中间件技术:

1、JMS:activeMQ和kafka

2、RPC: Dubbo

设计模式:

1、了解并能够使用几种最主要的设计模式

网络:

1、熟练使用并理解一个网络开发技术(Netty)

2、熟悉http,TCP协议

Java虚拟机:

1、熟悉jvm运行原理,内存分布

2、jvm参数调优

求职拿高薪,最主要的还是要有一身过硬的本领,学一门时下最流行,并且未来发展前景好的技术。作为编程界的不老传奇,Java是很多人入门的首选。想入门就和业内大咖学习吧,手把手带你入行拿高薪。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年5月13日 上午10:25
下一篇 2023年5月13日 上午10:41

相关推荐

  • 销售项目管理工具

    销售项目管理工具:提升销售效率的关键 随着市场竞争的加剧,销售管理的难度也在不断增加。传统的销售管理方式已经无法适应现代商业的需求,因此,销售项目管理工具的出现成为了提高销售效率的…

    科研百科 2024年5月26日
    55
  • 项目管理oa系统

    项目管理oa系统:提升企业效率的利器 随着现代企业竞争的加剧,项目管理已经成为了企业成功的关键因素之一。然而,传统的项目管理方法已经无法满足现代企业的需求,因此,开发一款高效的项目…

    科研百科 2024年7月24日
    30
  • 电子档案管理系统背景

    电子档案管理系统的背景 随着信息技术的不断发展,档案管理也逐渐变得更加数字化和智能化。在过去,人们通常使用传统的纸质档案进行存储和管理,但是这种方法存在着很多缺陷,比如易于丢失、损…

    科研百科 2024年9月25日
    15
  • 浪潮天工开务低代码开发平台

    浪潮天工开务低代码开发平台:构建数字化制造解决方案的利器 随着数字化制造的兴起,越来越多的企业开始采用低代码开发平台来简化制造流程,提高生产效率和产品质量。浪潮天工开务低代码开发平…

    科研百科 2024年10月11日
    10
  • 国网福建罗源县供电公司:深化“党建+物资管理”变旧为“宝”提质增效

    近日,国网罗源县供电公司物资供应分中心根据上级要求,完成2022年省公司第3次废旧物资的评估、入库、资料准备及挂网拍卖的工作任务。这是罗源县供电公司以“党建 ”工程为抓手助推专业工…

    科研百科 2023年6月22日
    114
  • 人事档案管理制度(人力资源部档案管理制度)

    篇1:人事档案管理制度 人事档案管理制度 一、人事档案管理范围:专业技术干部、管理干部、工人等各类人员(包括出国不归、失踪、除名、逃亡职工和残死亡、离休、退休职工)的人事档案, 二…

    科研百科 2024年6月30日
    26
  • 工程质量控制管理制度方案(工程质量控制管理办法)_1

    项目鸟瞰图 一、总则 为了落实集团公司战略部署,提升项目部施工总承包能力,强化项目人员安全生产责任制,细化分解集团公司下达的各项目标、指标,做到目标重担大家挑,人人肩上有指标。进一…

    2022年7月18日
    97
  • 文科做科研项目怎么样知乎文科做科研项目怎么样知乎

    文科做科研项目,可以参考下述建议: 1. 寻找合适的导师:在开始科研项目之前,需要找到一位合适的导师。导师可以指导研究方向,提供学术资源,帮助解决问题。在确定导师之后,需要与他们进…

    科研百科 2024年9月11日
    29
  • 项目管理世界大学排名(项目管理 排名)

    项目管理排名项目管理排名1.项目管理:项目管理是项目管理的核心内容,一般包括项目管理、项目管理、项目管理、项目管理、项目管理。项目管理包括项目管理、项目管理、项目管理、项目管理等。…

    科研百科 2024年7月31日
    32
  • 万字长文扒一扒企业服务产品:探马scrm

    编辑导语:企业服务产品对于企业进行客户营销和精细化运营等业务来说十分重要,本文作者详细分析了一款企业服务产品——探马SCRM,从宏观环境、行业情况、公司信息和商品定位等进行分析,并…

    2022年8月23日
    154