javaEE开发:为什么学JavaEE
在我们学习Java语言时,你肯定是想知道Java到底能干些什么,现在到了JavaEE这个阶段,就可以告诉你了。
Java EE:Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可)。狭义的 Java EE 是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件,可以说是一个框架,也可以说是一种规范。
分类:
Applet 小程序 CS
Application 企业级程序 CS
web 企业级网站应用 BS
webService 企业级网页平台应用 BS
BS和CS
这里你可能会疑惑,BS和CS是啥,其实就是开发的两种方式,其实你都不陌生,想想你电脑上的英雄联盟、CF等这种游戏,是不是下载很大的安装包,然后安装启动。这个就是CS架构。当你打开浏览器浏览网页时,这个时候你会发现你只要个浏览器就可以看很多的东西,这个就是BS架构。
所谓的CS是指:Client–Server
优点:传输的数据是可以自定义的
传输的通道是加密的
对于数据具有更好的安全性
缺点:开发成本大
使用成本也大
所谓的BS是指:Browser–Server
优点:传输使用的协议是HTTP协议
对于开发人员,要做的是实现一个前端的界面,让浏览器可以解析出来这个界面就可以
传输的数据不是那么的安全
传输数据的格式是既定的
缺点:开发成本低
使用成本低
HTTP协议的概念和交互流程:
概念:
HTTP:超文本传输协议
HTTP的功能:规范了浏览器和服务器传输数据的格式,没有他也可以,但是会阻碍互联网的发展(对于不同的浏览器,服务器都要开发出不同的代码)
HTTP的特点:简单快捷,无连接,无状态,1.1版本支持可持续连接
HTTP说白了就是文本流
<K, V>
头名:头内容
每一个KV对都叫做一个头信息
HTTP的交互流程:
步骤一:客户端和服务器建立连接
步骤二:客户端发送请求到服务器端
步骤三:服务器端收到请求后,进行处理,然后将处理结果响应客户端
步骤四:关闭客户端和服务器端的连接(HTTP1.1后不会立即关闭)
CGI:
CGI:首先启动TCP过程,浏览器Request Headers发送http,服务器发送Response Headers(请求头)发送返回的数据。
现在我们来模拟一下服务器的过程,打开本地端口,让浏览器访问到我们,然后看看浏览器发给我们了什么。这里用SE中的网络部分来做。
public class Main {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(80); //打开本地网络80端口
Socket s = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); //创建流,准备读取浏览器发过来的HTTP请求信息
String str;
while ((str = br.readLine()) != null) { //输出请求信息
System.out.println(str);
}
}
}
浏览器发送过来的信息。
以此,我们可以证明HTTP是建立在TCP之上的。
当我们得到浏览器发出的请求信息之后,我们就要解析里面的内容,这个过程是相当麻烦的,所以我们想到的是如果有人做出来这样一个东西不就好了,这里我们就引出了————网络容器。
服务器的概念和作用:
通常我们把这样的网络容器叫做服务器。服务器其实就是代码编写的一个可以根据用户请求实时的调用执行对应的逻辑代码的一个容器。
在普通用户看来就是一个安装程序,我们只要将服务器进行安装,并将我们事先编写好的逻辑处理代码根据规则放到服务器的指定位置,启动服务器,那么服务器就会自动的会根据接收到的请求调用并执行对象的逻辑代码进行处理。
这里我们常用的服务器有:
①Tomcat
②WebLogic
③WebSphere
他们都是为我们解析浏览器的请求,和返回给浏览器信息的容器。
这个时候我们就要来下载服务器了,这里我用的是Tomcat ,Tomcat的具体下载和配置请看我下一篇博客…