java web学习记录
来源:互联网 发布:二维数组是线性结构吗 编辑:程序博客网 时间:2024/06/05 20:58
前言:本篇文章借鉴于大牛博客http://www.cnblogs.com/xdp-gacl/p/3744053.html进行自己的思路总结,如表述不清,请移步该网址查看完整版。
一、基本概念
**
1.1、WEB开发的相关知识
WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
Internet上供外界访问的Web资源分为:
静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
静态web资源开发技术:Html
常用动态web资源开发技术:JSP/Servlet、ASP、PHP等
在Java中,动态web资源开发技术统称为Javaweb。
1.2 WEB应用程序
WEB应用程序指供浏览器访问的程序,通常也简称为web应用。例如有a.html 、b.html…..多个web资源,这多个web资源用于对外提供服务,此时应把这多个web资源放在一个目录中,以组成一个web应用(或web应用程序)
一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件,Jsp文件、java程序、支持jar包、配置文件等等。
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射
1.3 动态和静态的概念
静态的web资源,如html,css,js,图片等资源文件,任意时刻都显示同样的模式。动态web资源,如jsp,servlet等可以和用户进行交互的资源,根据用户的请求,响应不同的资源。
二、WEB服务器
2.1、WEB服务器简介
1、Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型,MIME类型)。
2、不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。
2.2 、 tomcat服务器
Tomcat官方站点:http://jakarta.apache.org
下载Tomcat安装程序包:http://tomcat.apache.org/
注意:
tar.gz文件是Linux操作系统下的安装版本
exe文件是Windows系统下的安装版本
zip文件是Windows系统下的压缩版本
2.3 、tomcat的目录层次结构
bin:存放启动和关闭Tomcat的脚本文件
conf:存放Tomcat服务器的各种配置文件
lib:存放Tomcat服务器的jar包
logs:存放tomcat的日志文件
temp:存放tomcat运行时产生的临时文件
webapps:web应用所在目录,即供外界访问的web资源的的存放目录
work:tomcat的工作目录
测试:1、进入目录,点击startup.bat文件启动服务器
2.4、Tomcat服务器端口的配置
tomcat所有的配置文件都在conf目录下,其中的server.xml是配置文件的核心文件。
进入server.xml文件,找到Connector结点进行修改:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
将port=”8080”修改问8888,然后重启即可。
2.5、Tomcat服务器虚拟目录的映射方式
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。那么在Tomcat服务器中,如何进行虚拟目录的映射呢?总共有如下的几种方式:
2.5.1、虚拟目录的映射方式一:在server.xml文件的host元素中配置
在这对标签加上即可将在F盘下的JavaWebDemoProject这个JavaWeb应用映射到JavaWebApp这个虚拟目录上,JavaWebApp这个虚拟目录是由Tomcat服务器管理的,JavaWebApp是一个硬盘上不存在的目录,是我们自己随便写的一个目录,也就是虚拟的一个目录,所以称之为”虚拟目录”,代码如下
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/JavaWebApp" docBase="F:\JavaWebDemoProject" /> </Host>
中,Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性:
Ⅰ.path:用来配置虚似目录,必须以”/”开头。
Ⅱ.docBase:配置此虚似目录对应着硬盘上的Web应用所在目录。
2.5.2、虚拟目录的映射方式二:让tomcat服务器自动映射
tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。
例如:把F盘下的JavaWebDemo目录下的project_name这个JavaWeb应用直接copy到tomcat服务器webapps目录中,启动tomcat,然后就可以在浏览器中访问该JavaWeb应用的资源了。
2.6、Tomcat服务器配置虚拟主机
2.6.1、配置虚拟主机
配置虚似主机就是配置一个网站。
在Tomcat服务器配置一个虚拟主机(网站),需要修改conf文件夹下的server.xml这个配置文件,使用Host元素进行配置,打开server.xml,可以看到Tomcat服务器自带的一个名称为localhost的虚拟主机(网站)
平时我们将开发好的JavaWeb应用放到webapps文件夹下,然后就可以使用”http ://localhost:端口号/JavaWebAppName”的方式去访问了,其实访问的就是name是”localhost”的那台虚拟主机(Host),这台虚拟主机管理webapps文件夹下的所有web应用。
例如:”http ://localhost:8080/JavaWebDemoProject/1.jsp”,这个URL地址访问的就是名称是localhost的那台虚拟主机下的JavaWebDemoProject这个应用里面的1.jsp这个web资源。
我们可以使用如下的方式配置一个虚拟主机,例如:
<Host name="www.gacl.cn"appBase="F:\JavaWebApps"></Host>
这里我们新配置一个虚拟主机,虚拟主机的name是”www.gacl.cn”,虚拟主机”www.gacl.cn”现在管理着JavaWebApps文件夹下的所有web应用,平时我们在互联网上使用域名”www.baidu.com”访问百度的网站时,其实就是在访问一个名称是”www.baidu.com”的虚拟主机,所以当我们要访问name是”www.gacl.cn”的这个虚拟主机时,就可以使用”域名(www.gacl.cn)”去访问,注意一下appBase=”F:\JavaWebApps”,这里的JavaWebApps文件夹代表的不是一个项目的根目录,而是一个存放了一个或者多个JavaWeb应用的文件夹,就好像是Tomcat服务器的webapps文件夹一样,里面存放了很多的JavaWeb应用。
三、 Tomcat的体系结构
Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动Service,Service里面就会启动多个”Connector(连接器)”,每一个连接器都在等待客户机的连接,当有用户使用浏览器去访问服务器上面的web资源时,首先是连接到Connector(连接器),Connector(连接器)是不处理用户的请求的,而是将用户的请求交给一个Engine(引擎)去处理,Engine(引擎)接收到请求后就会解析用户想要访问的Host,然后将请求交给相应的Host,Host收到请求后就会解析出用户想要访问这个Host下面的哪一个Web应用,一个web应用对应一个Context。
<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="123456"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> <Host name="www.gacl.cn" appBase="F:\JavaWebApps"> <Context path="" docBase="F:\JavaWebApps\JavaWebDemo1"/> </Host> </Engine> </Service></Server>
- java web学习记录
- java web学习记录
- java Web 个人学习记录
- web学习记录
- Web学习记录
- web.py学习记录
- Web开发学习记录
- 前端web学习记录
- web学习记录
- 学习记录 web入门
- Web学习记录
- web学习记录
- web 框架 Django 学习记录
- Web安全学习记录-HTML
- Web安全学习记录-JavaScript
- java学习记录20061008
- java学习记录
- java学习记录
- 【XML解析】(5)DOM4J中的XPath的使用方式及其【完整语法详细说明】
- 2017 计蒜之道 初赛 第四场
- 中国大学MOOC-陈越、何钦铭-数据结构-2017春期末考试
- CodeChef:A temple of Snakes(思维 & 二分)
- 在WAS中承载WCF服务
- java web学习记录
- mysql数据库结构管理命令1-5
- Python 边做边学 8.3 工具类--数据库工具(DbUtil)
- SharePoint 入门基础整合
- STL标准模板库归纳总结
- sqlite查询的理解
- 二叉树递归与非递归遍历
- XML
- matlab中svd函数用法总结