做为一枚Java程序猿,必须掌握什么技术和工具来完成一个JavaWeb新项目呢?今日列举一些常见技术和工具,这种技术全是我这10年工作上使用的比较多的,我明白技术栈远远不止这种,自己只列自身了解和用最多的,进行一个项目肯定够用。说这么多技术并不是让大家都要了解,有一些太老的现在会用的减少了根本不用了,自己关键融合我这10年项目经验告诉你们JavaWeb的常见技术栈。

什么叫技术栈? 举例说明: 开发设计一个普通智能管理系统,要用到Sprin Boot MyBatis Spring Mysql Redis RabbitMq Nginx Vue Shiro html 这些,这种技术连起来就能称之为技术栈。
我们将技术栈也分为5块状:前面、后面、消息中间件、数据库系统和工具。

JSP全名Java Server Pages,是一种动态网站开发设计技术。它采用JSP标识在HTML页面中插进Java代码。
JSP实质上是一个servlet,主要运用于完成Java web应用的程序操作界面一部分。
<%
out.println("Hello World!");
%>
JSP这类网页页面技术我想5年以内的程序猿基本上没接触过,10年以前我接触的一个项目前面基本上都采用的JSP技术,jsp相互配合各种各样html jquery/JavaScript css进行前端页面开发设计。
DWZ、EasyUI、EXT、BootStrap、KendoUI 都是围绕根据 HTML、CSS、JavaScript/jquery的一些富文本手机客户端UI架构,在那个年代简直就是后端工程师人员的福利。这种架构的特点就是网站上带来了各种各样部件使用方法,后面工作人员只需套到JSP页面上,开展数据渲染就可以。这种UI架构设计风格基本已经固定不动,更合适开发设计一些管理类专业系统软件,都包括:强悍的数据库,通用拖拖拉拉(Drag-and-Drop)作用,模版,和UI控制。
是中国人自己研发的根据jQuery达到的Ajax RIA开源框架,设计目标是简单方便,快速开发,减少ajax项目成本。
官方网站:https://jui.org/

easyui是一种基于jQuery的操作界面外挂结合,为建立智能化,互动交流,JavaScript应用软件,给予必须的作用。使用easyui你不用写许多编码,你只要根据撰写一些简易HTML标识,就能界定操作界面,为网站开发时间和经营规模。

官方网站;http://www.jeasyui.com/
ExtJS都是基于YUI(雅虎网操作界面)的sencha的JavaScript架构与产品,它大部分是有着当代UI的桌面应用程序软件开发平台。

中文官网:
http://extjs-doc-cn.github.io/ext4api/#!/api/Ext
bootstrap是Twitter推出一个用以前端工程师的开源系统工具包

中文官网:https://www.bootcss.com/
是一套 JavaScript 函式库,给予抽象概念、可自定的主题 GUI 操纵项与动态效果。根据 jQuery JavaScript 函式库,主要用来构建互动型的 Web 运用
官方网站:http://www.kendoui.io/
FreeMarker是一个免费的模板模块,一个根据模版形成文字输出通用性工具,应用纯Java编写的,用于形成HTML Web网页页面,尤其是根据MVC方式的应用软件。一般由Java程序流程准备要表明的信息,由FreeMarker形成网页页面,根据模版表明提前准备的信息(如下图所示)

FreeMarker不是一个Web应用架构,FreeMarker与器皿不相干,还可以在模版中应用JSP标识库。
Our latest product:
${latestProduct.name}!
html
上边许多前端框架都是围绕html的,想要你有js/jq、css基本,这是所有前端框架的前提。由于光架构有时候并无法满足我们自己的要求,有时候必须对架构难以实现功能的必须在架构前提下调节;还有这种高速发展的网络时代,对前面的需求愈来愈高,原生html获得了迅速发展,基本上全部前面实际效果应用原生态的时候可以达到的。
vue.js 用了根据 HTML 的模版词法,容许开发人员声明式地把 DOM 关联至最底层 Vue 案例的信息。全部 Vue.js 的模版都是违法的 HTML,因此会被遵照标准浏览器和 HTML 在线解析分析。
在底层的建立上,Vue 将模版编译成虚似 DOM 3D渲染函数公式。融合回应系统软件,Vue 能自动化地算出至少需重新3D渲染是多少部件,然后把 DOM 实际操作频次降到至少。
VUE elementUI现阶段应用数最多的,特别是开发设计一些后台管理界面或是非常简单方便快捷的。

servlet是Server Applet的通称,翻译出来便是系统服务,简单讲就是是运作在服务器上的一个小程序流程,用于解决网络服务器要求的。我们可以通过浏览器登录一个运用,在这过程中,大家浏览器推送浏览要求,网络服务器接受要求,对其浏览器的要求做出对应的解决,这是我们耳熟能详的B/S实体模型(电脑浏览器-网络服务器实体模型).而servlet便是对要求作出处理的部件,运作于适用Java的网站服务器中。如下图如果是:

struts主如果指struts1和struts2,是经典MVC架构,去除一些老项目,现在用的也越来越少。但struts1和struts2是有区别的,关键差别二者实质不一样。
struts1:根据选用Java Servlet/JSP技术,完成了根据Java EE Web应使用的Model-View-Controller(MVC)程序设计模式的应用框架,是MVC传统程序设计模式中的一个传统商品。
struts2:以WebWork为基础,选用回调函数机制的去处理客户请求,这样的设计也使业务流程程序控制器能够和ServletAPI彻底摆脱开,因此Struts 2可以看作WebWork的升级商品。
最经典组成strutsMVC SPring Hibernate,称为SSH,当初全是招聘面试必问的问题技术。
Spring框架是一个开源系统Java应用框架,克服了开发人员在研发过程中遇到的诸多常见的现象,带来了功能齐全IOC、AOP及Web MVC等服务。Spring可单独用于应用软件,还可以和Struts、Webwork等多个Web架构组成应用。Spring框架主要是由七组成,各是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。

jdbc
JDBC(Java Data Base Connectivity,java数据库联接)是一种用以实行SQL词句的Java API,能够为多种多样关系型数据库给予统一浏览,它是由一组用Java语言编写的类和接口构成。JDBC提供了一种标准,根据能够搭建更好的工具和插口,使数据库系统开发者可以撰写数据库应用程序流程。
初期新项目大多数都是根据对JDBC封装形式来操作数据库,完成增删,对特性考虑到不多,随时间流逝持续催生出许多架构,比如:mybatis,hibernate等。


ibatis
iBATIS一词来自“internet”和“abatis”的搭配,是一个由Clinton Begin在2001年发起开放源代码新项目。最开始偏重于密码软件的研发,如今是一个根据Java的持久层架构。iBATIS所提供的持久层架构包含SQL Maps和Data Access Objects(DAO),另外还提供一个利用这个框架开发的JPetStore案例。
iBATIS 现阶段带来了三种语言完成版本的,包含:Java、.NET及其Ruby。
mybatis
MyBatis 本是apache的一个开源软件iBatis, 2010年这样的项目由apache software foundation 迁移到了google code,而且更名为MyBatis 。
MyBatis 是一款出色的持久层架构,它适用个性化SQL、sql语句及其高端映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
{n}
{n}{t}MyBatis-Plus
{n}
{n}{t}Mybatis 增强工具包 – 只做增强不做改变,简化CRUD操作
{n}
{n}{t}JPA
{n}
{n}{t}JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
{n}
{n}{t}Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java






























原创文章,作者:leping,如若转载,请注明出处:https://www.wxymghbl.com/hq-235.html