Javaweb基础介绍

Javaweb执行流程

Javaweb基础介绍

1.启动服务器(Tomcat);

2.客户端通过浏览器发送HTTP协议请求(底层通过TCP协议创建出信道),把信息发送到服务端,服务器到web对应的目录下,把请求交给控制层的组件;

3.控制组件(servlet)对请求分析完交给业务组件;

4.业务组件对请求做处理,如果需要与外部信息交互,就把信息交给持久层;如果不要就返回控制层一个转向信息;

5.持久层完成和外部数据的交互,产生一个结果信息,返回给业务层;

6.业务层再往控制层返回一个转向信息,控制层再根据这个转向信息转到视图组件;

7.视图组件通过内置对象拿到结果信息,再对结果数据(用el表达式和标签做处理)进行渲染;

8.通过HTTP协议再返回给浏览器显示;

注:视图组件不是显示数据的,而是对结果数据进行处理的,真正显示信息的是浏览器;

 

各组件功能

控制层:接收请求,分析请求,分发请求;

业务层:处理请求,如要与外界交互,再把请求交给持久层;

持久层:封装对外部文件的操作;

视图层:取得结果数据做处理;

 

Tomcat服务器

用JAVA编写的自动执行(符合J2EE标准的)web组件的一组程序,也叫web中间件;

中间件:能够自动执行程序的一组程序,中间件处于操作系统软件与用户的应用软件的中间,是一个独立的系统级软件,连接操作系统层和应用程序层;其它web中间件:webLogicwebSphere

 

Tomcat的安装(环境变量的配置)

JAVA_HOME: 存放JDK文件目录;

Javaweb基础介绍

PATH: JDK的bin目录下,有很多java命令,如:javac(编译命令),java(运行命令)等等。当操作系统需要运行java命令时,会在当前目录下寻找程序,如果找不到,就回去path目录下去找java程序命令。将JDK配置在path路径之后,系统可以在任何地方运行java程序命令

Javaweb基础介绍

CLSASSPATH:存放的JAVA标准类库的类包;

Javaweb基础介绍

 

Tomcat目录(主要目录)

bin:存放Tomcat启动和关闭的程序,不能同时启动两个Tomcat

conf:存放配置信息文件,server.xml可以更改端口号,配置虚目录;

lib:类库,J2EE的jar包:servlet-api.jar(request的类:HttpServerRequestWrapper);

webapps:tomcat默认项目路径,非常方便,但不安全;

work:存放临时文件,如:java文件、class文件;(对项目维护可能起到一些影响,要删除work,重启tomcat)

 

web项目及执行过程

定义:web组件的组织机构,以目录的形式存在;

注:项目名和目录名相同,里面有WEB-INF,存放web.xml(部署文件/配置文件):为Tomcat提供取得相应组件的位置信息,和访问方式;web组件只有放在web项目下,才能被Tomcat找到;

流程:启动Tomcat,在浏览器的地址栏输入127.0.0.18080\项目名或虚目录名\xxx.jsp 发送HTTP请求;通过IP地址找到服务器,通过8080端口找到Tomcat,在默认路径webapps中找到和项目名对应的目录,在文件根下找到对应的jsp文件,执行该文件;如果在默认路径下没有找到该项目名,就到server.xml中找到path = 虚目录名所对应的docBase指定的真正的项目路径;

 

虚目录

定义:用虚项目名访问项目真正对应的目录,就叫虚目录;

目的:解决安全性问题:名字安全,位置安全,存储安全;

配置虚目录:

1.位置:tomcat安装目录\conf\server.xml

2.所有项目完结符<\Host>、<\Engine>、<\Service>、<\Server>前

3.<Context path ="\虚目录名" docBase=“真正的项目名和路径”/>

注:一个项目可以配置多个虚目录名,反之不行;配置文件修改完,要重启Tomcat(把配置文件读取到内存)才能生效;