文章目录
- JavaWEB相关的知识点学习
- 对于动态的 Web 应用来讲:一个请求响应中有多少个角色的参与?角色之间是怎么进行通信的呢?
- webapp角色之间遵守什么规范?
- 模拟 Servlet 本质
- 实际操作:开发一个带有 Servlet 的 webapp(重点)
JavaWEB相关的知识点学习
前端时间和后端之间的信息交互:
前端确定了访问了文件位置,调用后端的相关执行程序文件
对于动态的 Web 应用来讲:一个请求响应中有多少个角色的参与?角色之间是怎么进行通信的呢?
整个 B/S 结构中,什么人参与进去?
1、浏览器的开发者;
2、Web Server 开发团队 Tomcat,Jetty;
3、DB Server MySQL Oracle;
4、Java 程序的开发 Web APP 开发
Web 应用的开发的目录需要遵从一定的规范,在不同的 Web Server 都可以使用
达到通用的实现规范,可以不同的服务器上面使用
Serlet 就是制定的一套规范,可以规范的开发网络应用
webapp角色之间遵守什么规范?
HTTP 协议(超文本传输协议)
Browser 和 WebServer 之间存在的协议
Servlet 规范,Webapp 和 WebServer 之间存在的协议
Servlet 规范的作用:Web server , Web App之间解耦合,减少依赖程度
JDBC 的规范
Webapp 和 DBServer 之间存在的规范
模拟 Servlet 本质
不同的公司,制定了相关行业内部的规则,其他的开发者遵从相关的规则即可
关于前端访问静态的 html 文件,使用到大服务器的路径就可以
关于前端访问Java 程序,可以通过程序员执行的映射关系,进行程序的访问
JavaWeb 只做两件事情
1、编写一个类实现Servlet 接口
2、编写配置文件,编写的类配置到配置文件,在配置文件中指定请求路径和类名之间的关系
注意:
- 配置文件的文件名字是固定好的,web.properties,配置文件的放的位置都是固定好的,不能乱来
- 因为项目是需要放在服务器上面运行的,服务器的是其他公式已经写好的东西,所以需要遵从相关的规范,
不能随便乱来;
Servlet 规范中规定了:
合格的 webapp 应该是什么样子的目录结构;
合格的 webapp 拥有什么样子的配置文件
合格的webapp配置文件放在什么地方
合格的webapp的Java程序放在什么地方
这些都是规定好的
Tomcat 服务器需要遵守规范,JavaWEB程序员也是同样需要遵守相关的规范,这样子Tomcat和
webapp 之间才能解耦合;
理解Servlet 是一个什么样子的规范?
遵循了Servlet 规范的webapp 可以在不同的额服务器的下面运行
Servlet 规范中包括了什么呢?
1、规定了什么样子的接口
2、规范了一些类
3、规范了web 应用中应该有什么样子的配置文件
4、规范了配置文件的名字
5、规范了配置文件存储的路径
6、规范了webapp 配置文件中的内容…
实际操作:开发一个带有 Servlet 的 webapp(重点)
开发步骤(11步):
1
- 1、在webapp 目录下面新建一个目录,起名叫做 crm(crm就是webapp的名字),起名字是根据自己的开发需要设定的
2
- 2、在crm目录下面,新建一个目录:WEB-INF
这个文件的创建是Servlet 中所规定的,必须是全部大写的才可以
3
- 3、在 WEB-INF 下面新建一个目录叫做 classes 必须是这个名字,Servlet 规范中规定的
注意:这里存放的是,Java 程序编译之后的class 文件,这李存放的是字节码文件
4
- 4、在WEB-INF 下面创建一个新的目录:lib(不是必须的)
Java在开发的过程中使用到了第三方的 jar 包,需要使用这个名字,必须使用这个名字
5
- 5、在WEB-INF 新建一个文件叫做:web.xml
这个文件名字是必须的,文件的名字是必须叫做这个名字的,文件必须放在这里;
web.xml 是一个配置文件,配置文件中描述了请求路径以及 Servlet 类之间的对照关系
(这个文件直接从其他的webapp中赋值粘贴即可)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
<display-name>Tomcat Documentation</display-name>
<description>
Tomcat Documentation.
</description>
</web-app>
6
6、编写Java程序,小程序,不能随意开发,必须实现 Servlet 接口
-
Servlet 接口在什么位置?(javaEE 使用的是另外的类库,SE加强版本)
-
Servlet.class 文件
-
Servlet 是JavaEE 中的一员
-
Tomcat 服务器实现了 Servlet 接口,Tomcat 也是需要使用 Servlet 接口的
所以这个类在 Servlet 下面的文件中是可以找到的;lib 目录下面存在
Servlet-api.jar 文件 -
开发的Java源代码可以放置在任何的位置,但是 编译生成的 .class 文件必须放在 classes 文件夹下面
7
编写Java程序
8
将写好的Java文件编译好形成的 .class 文件放置在:WEB-INF\classes 文件夹下面
9
web.xml 文件中编写配置信息,使得 “请求路径” 和 ”Servlet类名“ 关联在一起
注册Servlet 类
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.luobin.javaweb.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
10
启动 tomcat 服务器(mac 使用这个命令可以像 win 在控制台进行输出信息)
catalina.sh run
11
在浏览器打开url
http://localhost:8080/crm/test
这个请求路径必须和 web.xml 中的url-pattern 保持一直才可以,否则,运行时可能不成功的;
注意:浏览器上面请求的路径和 web.xml 中的url-pattern 中的唯一区别就是:浏览器上面的请求路径是带着项目名字的;
浏览器上面编写的路径太长的时候,可以使用超链接进行处理;(html 文件只能放置在WEB-INF 目录的外面)
以后不需要编写 main 方法tomcat 在执行的时候,就是相当于 main 方法的功能,javaWeb 程序员,只需要写Servlet 接口的实现类,然后注册到 web.xml即可
关于JavaEE 版本的相关问题
- JavaEE 当前的最高版本是JavaEE8
- JavaEE被 Oracle 捐献给了 Apache
- 以后叫做jakataEE
- 以后没有JavaEE8 升级之后叫做: jakataEE9
javaEE8 叫做:javax.servlet.Servlet
jakataEE9 叫做:jakata.servlet.Servlet
更改了之后,只能在 Tomcat9 以及以前的版本部署webapp 在之后的版本中是没有办法部署的;