做一个完整的Java Web项目需要掌握哪些技术
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了做一个完整的Java Web项目需要掌握哪些技术相关的知识,希望对你有一定的参考价值。
分享作为千锋的Java开发工程师需要掌握的专业技能,大家可以参考一下。一、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。
二、熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发的经验。
三、对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
四、熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
五、熟练的使用html、CSS和javascript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。
六、熟悉常用的关系型数据库产品(mysql、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。
七、熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。
八、熟悉Apache、nginx、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
九、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。 参考技术A
视图层技术——HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker
持久层技术——MyBatis,Hibernate
Spring , Spring MVC
项目构建工具Maven
日志Log4j
版本控制 Git
数据库技术:
SQL语句
参数调优
操作系统:
熟练掌握一种Linux系统,原理,Shell命令
服务器技术:
熟练使用并理解一个应用服务器技术的原理(Tomcat)
熟练使用并理解一个Web服务器技术的原理(Nginx)
关于java web开发需要哪些技术要求(简单的web界面管理系统)
目前, 国内外信息化建设已经进入基于Web应用为核心的阶段, Java作为应用于网络的最好语言,前景无限看好。然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情。概括一下,实施Java的WEB项目需要掌握的技术如下:
lJava语言
l面向对象分析设计思想
l设计模式和框架结构
lXML语言
l网页脚本语言
l数据库
l应用服务器
l集成开发环境
下面我们具体地看每个技术.
1、Java语言
Java语言体系比较庞大,包括多个模块。从WEB项目应用角度讲有JSP、Servlet、JDBC、J
avaBean(Application)四部分技术。
(1)、Java Database Connectivity (JDBC)技术
在Java Web应用开发中,数据库管理系统(RDBMS)的使用是不可缺少的。JDBC(Java Dat
abase Connectivity) 是一种用于执行 SQL 语句的 Java API。它由一组用 Java 编程语
言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的API,使他们能够
用纯Java API 来编写数据库应用程序。
简单地说,JDBC 可做三件事:
l与数据库建立连接,
l发送 SQL 语句,
l处理结果。
(2)、Servlet技术
Servlet是运行在服务器端的程序,可以被认为是服务器端的applet。servlet被Web服务器
(例如Tomcat)加载和执行,就如同applet被浏览器加载和执行一样。servlet从客户端(
通过Web服务器)接收请求,执行某种操作,然后返回结果。
Servlet的主要优点包括
lServlet是持久的。servlet只需Web服务器加载一次,而且可以在不同请求之间保持服务
(例如一次数据库连接)。
lServlet是与平台无关的。如前所述,servlet是用Java编写的,它自然也继承了Java的平
台无关性。
lServlet是可扩展的。由于servlet是用Java编写的,它就具备了Java所能带来的所有优点
。Java是健壮的、面向对象的编程语言,它很容易扩展以适应你的需求。servlet自然也具
备了这些特征。
lServlet是安全的。从外界调用一个servlet的惟一方法就是通过Web服务器。这提供了高
水平的安全性保障,尤其是在你的Web服务器有防火墙保护的时候。
lServlet可以在多种多样的客户机上使用。由于servlet是用Java编写的,所以你可以很方
便地在HTML中使用它们。
(3)、JavaServer Pages(JSP) 技术
JSP是从Servlet上分离出来的一小部分,简化了开发,加强了界面设计。JSP定位在交互网
页的开发。运用Java语法,但功能较Servlet弱了很多,并且高级开发中只充当用户界面部
分。JSP容器收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以HTM
L格式响应给客户端。其中程序片段可以是:操作数据库、重新定向网页以及发送 E-Mail
等等,这些都是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传
送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP 称为Server-Side La
nguage。
JavaServer Pages的主要优点包括
●一次编写,各处执行(Write o­nce, Run Anywhere)特性
作为Java 平台的一部分,JavaServer Pages 技术拥有Java语言“一次编写,各处执行”
的特点。随着越来越多的供货商将JavaServer Pages 技术添加到他们的产品中,您可以针
对自己公司的需求,做出审慎评估后,选择符合公司成本及规模的服务器,假若未来的需
求有所变更时,更换服务器平台并不影响之前所投下的成本、人力所开发的应用程序。
● 搭配可重复使用的组件
JavaServer Pages技术可依赖于重复使用跨平台的组件(如:JavaBean或Enterprise Jav
aBean组件)来执行更复杂的运算、数据处理。开发人员能够共享开发完成的组件,或者能
够加强这些组件的功能,让更多用户或是客户团体使用。基于善加利用组件的方法,可以
加快整体开发过程,也大大降低公司的开发成本和人力。
● 采用标签化页面开发
Web 网页开发人员不一定都是熟悉Java 语言的程序员。因此,JSP 技术能够将许多功能封
装起来,成为一个自定义的标签,这些功能是完全根据XML 的标准来制订的,即JSP 技术
中的标签库(Tag Library)。因此,Web 页面开发人员可以运用自定义好的标签来达成工作
需求,而无须再写复杂的Java 语法,让Web 页面开发人员亦能快速开发出一动态内容网页
。
今后,第三方开发人员和其他人员可以为常用功能建立自己的标签库,让Web 网页开发人
员能够使用熟悉的开发工具,如同HTML 一样的标签语法来执行特定功能的工作。
● N-tier 企业应用架构的支持
有鉴于网际网络的发展,为因应未来服务越来越繁杂的要求,且不再受地域的限制,因此
,
必须放弃以往Client-Server的Two-tier 架构,进而转向更具威力、弹性的分散性对象系
统。由于JavaServer Page 技术是Java 2 Platform Enterprise Edition (J2EE)集成中的
一部分,它主要是负责前端显示经过复杂运算后之结果内容,而分散性的对象系统则是主
要依赖EJB ( Enterprise JavaBean )和JNDI ( Java Naming and Directory Interface
)构建而成。
(4)、JavaBean(Application)应用组件技术
Application是Java应用程序,在WEB项目和一些开发中主要应用JavaBean。它就是Applic
ation的一部分,逻辑运算能力很强,能极大的发挥Java语言的优点。JavaBean 被称为是
Java 组件技术的核心。JavaBean 的结构必须满足一定的命名约定。JavaBean能提供常用
功能并且可以重复使用,这使得开发人员可以把某些关键功能和核心算法提取出来封装成
为一个组件对象,这样就增加了代码的重用率和系统的安全性。
高级的WEB项目会应用到以上所有技术,它们之间联合使用和协作开发会提高开发的效率和
系统的性能。
2、面向对象分析设计思想
Java语言是完全面向对象的语言,所以在项目设计时会有很大的帮助,在设计时应尽量舍
弃以往的面向过程的设计方式。
在分析项目业务关系的时候,应用一些UML(Unified Modeling Language)图,例如常用的用
例图(use case diagram),类图(class diagram),时序图(sequence diagram)等等,会有
很大的帮助,这样能尽快找出业务逻辑主要面对的对象,然后对每个对象进行行为划分,
最后再实现对象之间的集成和通信。
3、设计模式和框架结构
Java从语言角度来讲不是很难,但是从整体设计角度来讲我们还需要了解一些高级应用框
架。如果要设计一个良好的框架结构,单单只掌握Java语言远远不够。这就涉及到一个设
计模式,还有和设计模式相关的一些知识。
设计模式在Java项目实施过程更是重中之重。主要在与两层的设计模式、三层的设计模式
和N层的设计模式。它直接决定着项目的应用、部署和实际开发设计。
在普通的WEB项目中很多采用两层的开发结构。JSP+Servlet或JSP+JavaBean。当对开发要
求高的项目中使用很多的还是MVC的三层开发结构,也就是JSP+Servlet+JavaBean。它能分
有效的分离逻辑开发,使开发人员能专注于各自的开发。同时也能时整个开发结构流程更
清晰,但是需要比较高的开发配合度。
在项目中,我们经常使用著名的Model-View-Controller(MVC)架构。MVC架构是随着small
talk language语言的发展提出的,它是一个著名的用户界面设计架构。经典的MVC架构把
一个组件(可认为是整个应用程序的一个模块)划分成三部分组 Model管理这个模块中所
用到的数据和业务逻辑。而View 管理模块如何显示给用户,Controller 决定如何处理用
户和该模块交互式时候产生的事件 如用户点击一个按钮等。
4、XML语言
在服务器和设计模式结构中会应用到自定义文件,而且在应用高级设计时也会定义自用的
标签,现在流行的是用XML去定义配置,所以XML语言应该有一定掌握。
当前,Java 2平台企业版(J2EE)架构在厂商市场和开发者社区中倍受推崇。作为一种工
具,可扩展标记语言(XML)简化了数据交换、进程间消息交换这一类的事情,因而对开发
者逐渐变得有吸引力,并开始流行起来。自然,在J2EE架构中访问或集成XML解决方案的想
法也很诱人。因为这将是强大系统架构同高度灵活的数据管理方案的结合。
XML的应用似乎是无穷无尽的,但它们大致上可以分为三大类:
1、简单数据的表示和交换(针对XML的简单API(SAX)和文档对象模型(DOM)语法解析,
不同的文档类型定义(DTDs)和概要(schemas))
2、用户界面相关、表示相关的上下文(可扩展样式表语言(XSL),可扩展样式表语言转
换(XSLT))
3、面向消息的计算(XML-RPC(远程过程调用),基于SOAP协议的Web 服务(Web Servic
es),电子化业务XML(ebXML))
5、网页脚本语言
为了提高WEB项目的整体性能,提高人机交互的友好界面,网页的脚本语言是很有用处的,
有的时候可以解决很大的难题或提高程序的性能和应用性。
网页脚本语言的执行都是在客户端执行的,速度很很快,并且大多的操作与服务器没有交
互运算,所以在一些应用中非常理想。在设计WEB项目的应用中,网页的脚本语言起着不能
忽视的作用,所以如果设计WEB项目的应用中,对JavaScript应有一定的了解。
JavaScript是一种基于对象(Object Based)和事件驱动(Event Driven)并具有安全性能(
Secure)的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程
序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端
的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它具有以下几个基本特
点:
1.它是一种脚本编写语言
JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,Jav
aScript同样已是一种解释性语言,它提供了一个易的开发过程。
它的基本结构形式与C、C++、VB十分类似。但它不像这些语言一样,需要先编译,而是在
程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。
2. 基于对象的语言。
JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用
自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作
用。
3.简单性
JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而
紧凑的设计, 从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,
并未使用严格的数据类型。
4.安全性
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上
,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有
效地防止数据的丢失。
5. 动态性
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它
对用户的响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Pa
ge)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口
、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
6、开发工具
(1)、数据库
在主要的应用中,数据库相关的环节应用很多,所以对数据库应该有一定了解。不能单单
只了解一种数据库,因为在很多实际开发中会提出很多数据库解决方案,所以只有在了解
多种数据库的情况下才能有一个比较方案。
对于数据库应该了解他的性能和一些基本的操作常识,还有该数据库的特点。而针对与Ja
va语言WEB项目的数据库开发则主要是对JDBC的应用,还有数据库事务处理和连接池等高级
概念的应用。
(2)、Web服务器
同数据库一样,应该了解该服务器的性能,特点和一些常识。
在应用方面,Web服务器主要是针对于配置和部署,对目录的配置,调试;对配置文件属性
的修改;对访问权限和并发性的控制;Java类的部署等。
(3)、集成开发环境(IDE):
“公欲善其事, 必先利其器”. 对于Web应用开发人员来讲,好的集成开发环境(IDE:I
ntegrated Development Enviroment)是非常重要的。目前在市场上占主导位置的一个集
成开发工具就是Eclipse.
以上是关于做一个完整的Java Web项目需要掌握哪些技术的主要内容,如果未能解决你的问题,请参考以下文章