Javaweb基础介绍
Javaweb执行流程
1.启动服务器(Tomcat);
2.客户端通过浏览器发送HTTP协议请求(底层通过TCP协议创建出信道),把信息发送到服务端,服务器到web对应的目录下,把请求交给控制层的组件;
3.控制组件(servlet)对请求分析完交给业务组件;
4.业务组件对请求做处理,如果需要与外部信息交互,就把信息交给持久层;如果不要就返回控制层一个转向信息;
5.持久层完成和外部数据的交互,产生一个结果信息,返回给业务层;
6.业务层再往控制层返回一个转向信息,控制层再根据这个转向信息转到视图组件;
7.视图组件通过内置对象拿到结果信息,再对结果数据(用el表达式和标签做处理)进行渲染;
8.通过HTTP协议再返回给浏览器显示;
注:视图组件不是显示数据的,而是对结果数据进行处理的,真正显示信息的是浏览器;
各组件功能
控制层:接收请求,分析请求,分发请求;
业务层:处理请求,如要与外界交互,再把请求交给持久层;
持久层:封装对外部文件的操作;
视图层:取得结果数据做处理;
Tomcat服务器
用JAVA编写的自动执行(符合J2EE标准的)web组件的一组程序,也叫web中间件;
中间件:能够自动执行程序的一组程序,中间件处于操作系统软件与用户的应用软件的中间,是一个独立的系统级软件,连接操作系统层和应用程序层;其它web中间件:webLogic、webSphere
Tomcat的安装(环境变量的配置)
JAVA_HOME: 存放JDK文件目录;
PATH: JDK的bin目录下,有很多java命令,如:javac(编译命令),java(运行命令)等等。当操作系统需要运行java命令时,会在当前目录下寻找程序,如果找不到,就回去path目录下去找java程序命令。将JDK配置在path路径之后,系统可以在任何地方运行java程序命令。
CLSASSPATH:存放的JAVA标准类库的类包;
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.1:8080\项目名或虚目录名\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(把配置文件读取到内存)才能生效;