1、理解J2EE
刚开始所学的是JavaSE,我们需要下载Oracle公司的java语言开发工具包,即JDK。JDK里面包含了编译时环境(开发人员需要)和运行时环境(jre)等等。
我们可以这样理解:
JavaSE是java一套最基础的库,里面有我们通常开发所需要的各种类和接口,源码保存在sr.zip压缩包下
字节码文件保存在lib/rt.jar包下,我们可以下载这套库不同版本的API帮助文档,从帮助文档学习使用库中各类以及各类中的方法
JavaEE也是一套库,是基于JavaSE库的基础上具有更多类的有版本的类库,企业级开发。其使用的JDK与标准版一样,但开发时需要导入企业级开发的jar包,源码和字节码文件保存位置与上面一样。但库的维护版本不同,下载的帮助文档也不同。
2、什么是API?
--API:
Application Programming Interface
应用程序编程接口(这里的接口,不是库中的那种interface)
--API报括:
源码,字节码,帮助文档(使用时注意版本号要一致)
3、JavaSE
--Java的标准版本
SUN公司为java程序员提供的一套基础类库
--这套基础类库包括:基础语法、面向对象、异常、IO、集合、反射、线程...
JavaSE的版本目前由Oracle维护,最高版本到javaSE14
4、JavaEE
--Java企业版
SUN公司为java程序员提供的另一套庞大的类库,帮助程序员完成企业级项目的开发
--javaEE的版本号
所学课程视频中用的是JavaEE5,自己用啥不知道
--JavaEE规范
JavaEE规范是一个比较大的规范,该规范又包括13个子规范(每一个子规范下还有自己的子规范)
JDBC也属于JavaEE规范,只不过这套库太常用了,所以把他收录到了SE里
JavaEE5规范下的子规范:
* Servlet2.5
* JDBC
...
JavaEE6下的子规范
* Servlet3.0
* JDBC
...
正如JDBC在java.sql包中的各个接口,是一套规范,各数据库厂家遵循这套规范实现这些接口才能让用java语言连接自家的数据库,我们连接不同数据库要到不同数据库的驱动jar包,JavaEE规范也是如此。
Servlet也是一套接口。
--Tomcat服务器
其中Tomcat6实现了Servlet2.5规范,Tomcat7实现类Servlet3.0规范,教学中使用Tomcat7服务器,自己使用啥不知道
5、系统架构分类
--系统架构分:C/S和B/S
--C/S:
Client/Server
优点:
速度快,大部分数据已集成在客户端软件中,只需要从服务器上传送少量数据即可
大部分数据集成在客户端,相对安全
缺点:
升级的时候每一个客户端都需要升级,麻烦
需要安装特定的客户端软件,才能访问服务器
--一般用于娱乐性系统,界面体验要好,速度要快
--B/S:
Browser/Server
B/S本质上还是C/S架构,还是客户端访问服务器,只不过客户端比较特殊,是浏览器
优点:
不需要安装特定的客户端软件,只要有浏览器就行
升级只需要升级服务器端,方便
缺点:
所有数据全部集成在服务器端,一旦发生不可抗力,数据丢失严重,相对来说不安全
速度慢
--一般用于企业内部的办公系统,界面要求不高,速度不慢就行,升级方便,更注重数据的管理与维护
我们所说的B/S中的Server服务器是软件服务器,这里开发用的是Tomcat服务器程序,免费的,这个软件就是服务器,把Tomcat安装在我们这台电脑上,我们这台电脑就相当于一个硬件服务器了。Tomcat端口号:8080
6、B/S架构访问过程详解
![](https://img2020.cnblogs.com/blog/2432278/202108/2432278-20210803230106196-758786211.png)
--我们在一个浏览器上访问以下网址
http://202.108.251.34:8080/egov/login.html
首先浏览器发送一个以http:协议定义的格式的请求(数据)到IP地址为202.108.251.34的硬件服务器上
(这个服务器上装有不同的软件,不同的软件程序由不同的端口号,网址中的8080是软件服务器Tomcat的端口号)
告诉硬件服务器要到端口号为8080的Tomcat软件上请求资源
具体的位置就是部署在Tomcat上的egov项目(这个项目可以称为一个webapp,Tomcat可以部署多个项目,即多个webapp,这些项目存在Tomcat的一个名为webapps的文件夹中)中的login.html资源,这个资源是静态的登录网页。此时服务器就将这个资源以代码的的形式返回到浏览器,当然浏览器不可能把代码呈现出来,会经过处理的。这就是服务器响应。
--当访问是以下代码时
http://202.108.251.34:8080/oa/login
前面是相同的,只不过到Tomcat服务器中另一个部署的一个叫oa的项目(webapp)中请求一个login的资源。
说明:资源可以是任意形式的,包括让其执行代码片段
这里的请求login资源就是执行名为login的登录方法,方法就是一段能完成特定功能的代码块
这里没有传具体的用户名和密码,所以没有连接数据库来响应,这里的响应就是返回login方法中的return的内容
--当访问是以下代码时
http://202.108.251.34:8080/oa/delete?empno=7639
这个请求是到该服务器中的Tomcat上的oa项目中执行delete方法,删除传入的empno=7639的员工,响应就是连接数据库删除7639的员工,返回影响数据库记录条数的值1,对于具体返回到浏览器中什么内容未知