java_JavaWeb(1)
注:此系列javaweb的知识是我在一位“孤傲苍狼”的园友学习后记下来的笔记,并非原创^_^
Web开发的基本概念
web应用程序——提供浏览器访问的程序,也成为web应用,包含静态或动态资源;所谓的动态资源,是指web的页面效果会因事因人而变,会通过程序运行和连接数据库后取出不同的数据;
而这些web应用资源需通过web服务器管理后才能被外界访问,这个过程称为虚拟目录的映射;
web服务器——是指一种被动的计算机程序,接受请求,处理请求并返回浏览器所请求的资源;
初学Web开发我用的是Tomcat服务器,也是一个实现了JAVAEE标准的最小web服务器,支持JSP及Servlet规范,且性能稳定、开源,因而受java爱好者的喜爱且得到软件开发商的认可;
关于tomcat的安装配置大家网上查询即可,要弄清楚的地方有:
- JAVA_HOME环境变量问题,因为启动Tomcat是要依赖JDK的
- conf文件夹里server.xml配置文件的端口、映射虚拟目录、虚拟主机的配置问题
当我们启动了web服务器,输入了虚拟主机、端口以及资源的映射目录即url,如:http://www.xxx.com:8080/xxx/xxx.jsp后,访问并获取web服务器资源,其中间发生了什么呢?
- 根据主机名即域名通过DNS获取服务器所在主机的ip地址;
- 通过ip地址连接到web服务器后使用http协议发送请求,会以Stream流的形式传输数据,告诉服务器自己要的资源是什么,然后等待服务器的响应;
- 服务器接收并解析数据后,根据请求运行并获取相应的资源后再以Stream流的形式传回给浏览器
JavaWeb应用的组成结构
JavaWebApp:web应用所在的目录
->html、jsp、css、js等文件,位于根目录下,可以被外界直接访问;
->WEB-INF目录;包含java类、jar包类、web应用配置文件,目录里的文件只能通过web服务器调用,不能直接访问;
->class目录-----(java类文件)
->lib目录-----(java类文件运行所依赖的jar包)
->web.xml文件-----(web应用的配置文件)
这些文件的存放需要按规则存放,不然可能导致web服务器的报错;
Tomcat服务器的连接及处理请求过程
tomcat服务器的启动是根据server.xml配置文件启动的,因此要了解其过程我们需打开server.xml文件;
启动tomcat首先启动的就是Server;
随后启动Server里面的Service;
再启动多个Connector连接器,每个连接器都在等待客户机的连接,不过连接器并不处理请求,而是将请求交给Engine引擎去处理:
Engine引擎解析请求后会得到请求想要访问的Host,然后将其交给对应的Host;
Host接受后会解析其请求的具体web应用;每个web应用会对应一个Context