zoukankan      html  css  js  c++  java
  • 做一个完整的Java Web项目需要掌握的技能

     

    最近自己做了几个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层与数据层之间要有缓存层,或者访问压力增大后,需要使用集群,负载均衡等高级技术,但在这里,我们就不深入讨论复杂架构了。

    开发:

    视图层技术——HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker持久层技术——MyBatis,HibernateSpring , Spring MVC项目构建工具Maven日志Log4j版本控制 Git

    数据库技术:

    SQL语句参数调优

    操作系统:

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

    服务器技术:

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

    附加:

    缓存技术:

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

    非关系型数据库

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

    中间件技术:

    JMS:activeMQ和kafkaRPC: Dubbo

    设计模式:

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

    网络:

    熟练使用并理解一个网络开发技术(Netty)熟悉http,TCP协议

    Java虚拟机:

    熟悉jvm运行原理,内存分布jvm参数调优

  • 相关阅读:
    Win10 安装GNU 编译器(gcc、g++ 和 gfortran)
    三维地图制作 数据选型 相关参考资料
    借助mapshaper的简化来修复geojson的拓扑错误
    一种改进后的turf.idw算法
    基于Geojson的点集的抽稀Js实现
    OL3-Cesium 二三维鼠标事件统一处理
    About TopoJSON
    基于 geojson数据类型面转线Transforms Polygons and MultiPolygons to LineStrings.
    数据库文档编写辅助脚本
    Extensible Messaging and Presence Protocol (XMPP): Core
  • 原文地址:https://www.cnblogs.com/zhoumin6012/p/9943002.html
Copyright © 2011-2022 走看看