专栏名称: java那些事
分享java开发中常用的技术,分享软件开发中各种新技术的应用方法。每天推送java技术相关或者互联网相关文章。关注“java那些事”,让自己做一个潮流的java技术人!《java程序员由笨鸟到菜鸟》系列文章火热更新中。
目录
相关文章推荐
芋道源码  ·  Spring ... ·  20 小时前  
芋道源码  ·  Hutool中的这些工具类,太实用了! ·  20 小时前  
芋道源码  ·  SpringBoot启动原理详解(图文全面总结) ·  2 天前  
芋道源码  ·  某公司新招了个牛逼的架构师后... ·  2 天前  
51好读  ›  专栏  ›  java那些事

给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)

java那些事  · 公众号  · Java  · 2016-12-30 16:22

正文

J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号。但是其实 J2EE 里面并不仅仅是web,可以看到很多其中的规范都是通用的,目的是为了高效开发出健壮的服务企业业务模式的应用系统。J2EE中也是可以没有web界面的应用,而现在面向大众用户开发的网站往往也会使用到很多的J2EE的技术,所以J2EE和web开发的概念都是融合在了一起了。

我本人在JAVA开发刚入行的时候,也是做了不少web相关的项目,之后渐渐地web使用比较少了,现在web开发的技术日新月异,不过一些基础知识还是类似,所以也把这部分内容稍作整理,以期望可以给大家一些经验。


这次主要涉及到的两大块内容: Web相关的, J2EE相关的技术

Web部分:

脱离开各种语言,纯粹和 web相关的就是这些: HTML,CSS, JavaScript 。哪怕你不用Java开发,用C#、 PHP 或者 Python ,这些内容都是通用,这里主要偏重一些基础知识。

  • HTTP协议,HTTPS协议

我觉得做Web开发,HTTP是基础中的基础。在一开始的时候,开发者可能对于这个内容了解不是非常深入,只是有个初步的概念,这个没有问题,可以先从了解,简单使用开始。 不过一旦有了一些web开发经验之后,你就需要把这块内容深入理解吃透。只知道简单概念,没有深入了解,可能并不会影响你开始上手做web开发,但是一旦涉及到一些性能调优、系统 架构 等工作,就需要你对HTTP有一个深入的了解,才能把工作做好。

对于HTTP请求, 我主要会关注以下内容:

HTTP请求的模式: request/response

HTTP请求的方法:GET, POST, PUT,DELETE 等等

协议的具体格式: head + body

协议的各类返回码:1XX,2XX,3XX,4XX,5XX

Header中一些主要属性的含义和使用场景

HTTPS协议

Cookie的基本原理和使用场景

  • HTML, CSS

这是WEB开发的一个基础,如果公司有专门的 前端开发 人员,可能你就不需要做这块相关的内容。可能只需要准备一些服务,可以提供一些数据就行。不过要是公司没有专门的前端人员,那就需要你自己写简单的页面和简单的布局了。这种情况下,还是对HTML和CSS必须有个简单的了解才行。

HTML简单了解的话需要知道页面的结构,具体各个表单,标签的使用方法,CSS需要知道一些基本的选择器的编写和使用。但这也只能满足一些简单页面的要求。如果有更加复杂页面的开发需求,那对CSS+DIV的使用需要有更加深入的了解了,具体内容因为自己对这方面涉及不多,也不多说了,大家可以再找其他的参考资料。

  • JavaScript:

前端开发的语言,唯一的语言,就是JS。并且从中衍生出一个很优秀的框架 jQuery 。现在前端基本上只要有一点复杂度的,都会使用这两种技术。并且以jquery为基础,还有一些其他前台框架,提供了各种动态效果,还有表格,表单等一些常用的处理。近两年, AngularJS 框架又开始火热起来,这个框架在前端实现了MVC的架构,给前端的开发带来了革命性的影响(但是不意味着所有的前端开发都应该要用这个)。这些都是很值得好好看一下。即便不是专攻前端开发的,但是对于这几个技术点,能够先了解一下基本情况,基本的原理,对于web开发来说,还是大有好处的。

因为自己对这个涉猎也不深入,所以也就不更多罗列了,以免误人子弟了。

  • Webservice

在现在的企业应用开发中,Webservice已经是个必备的工具了。在各个企业中,经过一段时间积累,会有很多不同种类的应用,这些应用可能都会使用不同的语言开发,并且需要相互之间的通讯。通讯的首选就是Webservice。前后台的交互,服务之间的交互,或者不同语言之间的交互,都可以使用Webservice这个技术。

Webservice的实现方式多种多样,两者共同点是大家都是以HTTP协议为基础的,都可以跨域,跨语言进行访问。

用的比较多的,一个是SOAP协议的方式。这是比较传统的webservice 的实现,这个协议比较重量级,发布者会将webservice以wsdl形式发布,调用者通过wsdl可以直接生成实体类等。对于调用者来说,“调用”这个步骤会更容易处理一些。不过SOAP形式也存在着消息量大,传输效率低等缺陷。SOAP协议本身的可选项比较多,比较复杂,各个属性设置略有差异会导致服务通讯的失败,需要在调试中需要花费更多的时间。

现在更加流行的是使用RESTFUL的Webservice。这种技术是简化了URL,或者说对URL做了一定格式的限定,同时配合上HTTP的各种method,包括有GET,POST,DELTE,PUT 等,来实现整体service的各种功能。一般传输的内容都是json格式的字符串。Restful的Webservice的优点在于这是一种更加轻量级的使用方式,传输效率更高,接口约定更加清晰,双方调试也会更加便利一些。缺点在于,json格式太灵活,所以双方都需要自行处理json中的各个参数。对于接口实体类的处理需要更多的逻辑和代码。

J2EE部分

  • JDBC(可以在J2SE中使用)

JDBC用于java和 数据库 交互。它是Java面向接口编程的一个典型实例:开发者使用JDBC的API进行开发,但是底层可以针对不同的数据库使用不同的JDBC驱动(由各个数据库供应商提供)。JDBC被归为了J2EE的规范中,但是在一般的java程序中也可以使用,而且也是几乎都会被直接或者间接使用(除非不用数据库)。这从侧面也说明了,其实J2EE企业开发和web开发并不是同一个概念,而是相互融合的。

JDBC是Java中最原始,最纯粹,效率最高的访问数据库的方式,我们熟知的 hibernate 、 Mybatis等ORM框架都是在JDBC基础上做的封装。了解JDBC对于以后和数据库更好打交道会有着很大的用处。哪怕是一个java开发新手,你需要去学习Hibernate、Mybatis等框架,你也需要先学习JDBC作为这些的基础。

对于JDBC的具体怎么实现,这个真不需要了解到那么深入。我推荐大家学习JDBC至少需要掌握以下内容:

JDBC的原理: JDBC为接口,可以有不同的驱动driver类

JDBC中的一些基本概念: connection, statement, resultset 等

JDBC使用的基本流程

注册driver

创建 connection







请到「今天看啥」查看全文