Java知识点概括-J2EE 、 Web 部分

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

笔者在JAVA开发刚入行的时候,也是作了很多web相关的项目,以后渐渐地web使用比较少了,如今web开发的技术突飞猛进,不过一些基础知识仍是相似,因此也把这部份内容稍做整理,以指望能够给你们一些经验。前端

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

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

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, CSSweb

这是WEB开发的一个基础,若是公司有专门的前端开发人员,可能你就不须要作这块相关的内容。可能只须要准备一些服务,能够提供一些数据就行。不过要是公司没有专门的前端人员,那就须要你本身写简单的页面和简单的布局了。这种状况下,仍是对HTML和CSS必须有个简单的了解才行。面试

HTML简单了解的话须要知道页面的结构,具体各个表单,标签的使用方法,CSS须要知道一些基本的选择器的编写和使用。但这也只能知足一些简单页面的要求。若是有更加复杂页面的开发需求,那对CSS+DIV的使用须要有更加深刻的了解了,具体内容由于本身对这方面涉及很少,也很少说了,你们能够再找其余的参考资料。数据库

JavaScript:编程

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

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至少须要掌握如下内容:

1.JDBC的原理: JDBC为接口,能够有不一样的驱动driver类

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

3.JDBC使用的基本流程

注册driver
     建立 connection
     建立 statement
     执行获取 Resultset
     处理返回结果 resultst复制代码

4.Statement 和 PrepareStatement 的区别, 掌握PrepareStatement的主要用法(推荐使用)

5.线程池的概念和基本用法JMS(能够在J2SE中使用)

JMS(Java Message Service)是咱们俗称的MQ服务,有不少可用的产品,如 ActiveMQ, ZeroMQ, RabbitMQ等等。基本原理都是同样:在有了MQ服务器以后,向某个Topic,或者Queue中发送消息,或者从中接收消息。

这块知识,须要了解一些基本的MQ的使用方法,包括MQ服务器的链接,收发MQ消息等。须要注意的是,这里收发消息是一种异步的方式,MQ是一种很基本的把同步请求异步化的手段。

Servlet

这个是Java Web开发的核心概念,咱们熟悉的web server其实都是Servlet的容器。那Servlet是个什么呢?个人理解,servlet就是一个Java类,用来处理HTTP请求,而且返回HTTP响应的程序。这个程序运行在servlet容器中,或者说嵌入在servelt容器中运行。容器中能够定义多个servlet匹配不一样的url,容器启动后接收到了HTTP请求,容器会根据定义好的URL的规则分配给相应的servlet程序进行处理。

Java中的web开发都是围绕servlet这个概念来进行的,web.xml定义了URL的处理分配规则,咱们使用的Struts,SpringMVC框架也有专门的Servlet类来进行请求的转发和处理。因此学习Java web开发必定要理解好servlet这个概念。

JSP

之前的Java web开发,基本都是以JSP为主,须要在JSP中编写html代码和Java代码。 近来一些更先进的展现层框架,在逐步替代JSP,好比 Freemarker、Velocity等。更有一些先后端分离的框架直接就是使用HTML中的JavaScript以Ajax方式和后台交互,这样后台再也不须要提供展现层,而是给前台展现层提供数据。

不过JSP做为最原始的Java web开发工具,在制做简单页面的时候,仍是很是容易上手的,建议仍是能够学习一下JSP基本的使用方法,在制做简单页面时使用,一旦有更加复杂的页面须要开发时,再考虑使用其余展现层的框架进行替代。Webserver 的使用在Java web开发中另外一个绕不开的内容是Webserver的使用,好比最流行的tomcat, 企业级环境中常用的 weblogic、webspare、JBoss等等,真的有不少。做为一个web应该开发人员,应该须要熟练掌握一些web server 的知识。

这对于你在提升应用性能,本地调试web应用方面都颇有好处。想要朝这方面发展或者真心有兴趣的。能够找我要一些基础的学习视频,Q号码:3300863615,这个是免费的,但愿同窗找我要的时候不要有理所应当的态度,毕竟都是个人心血,但愿你是真的有一颗想要学好java的心,我也会尽所能的去帮助你成为一名优秀的程序员。

加我Q有如下几个要求,不达标的勿扰:

一、大学学习的是Java相关专业,毕业后面试受挫,找不到对口工做能够

二、在公司待久了,如今过得很安逸,但跳槽时面试碰壁。须要在短期内进修、跳槽拿高薪的

三、参加过线下培训后,知识点掌握不够深入,就业困难,想继续深造

四、已经在Java相关部门上班的在职人员,对自身职业规划不清晰,混日子的

五、有必定的C语言基础,接触过java开发,想转行的小号勿扰

你能够更多熟悉一下tomcat,由于通常开发者本地都会使用它做为web容器,哪怕生产正式环境中是其余的。能够了解一下tomcat中体系结构如何,结构目录和配置文件的详细解读,如何在IDE中结合tomcat进行开发调试等等。再深刻些能够查看一下tomcat的源代码,了解一下通常webserver是如何实现的,如何控制线程数,这对你在其余方面的设计开发也颇有借鉴做用。除了tomcat以外,你还能够就大家生产环境中使用的web server再作个具体的了解,以便更好地开发适合的web应用。

以上这些只是我本身对于企业级开发和Web开发的一些简单心得,固然,J2EE中还有更多的规范,web 开发也有更多相关的内容, 我由于也有一段时间没有专一在web相关的开发上面, 这些知识点罗列也必定有很多疏漏, 因此只是简单分享一下本身这方面的经验了,但愿给刚上手的开发者一些经验。

相关文章
相关标签/搜索