一、Tomcat
- 下载地址:http://www.apache.org
- 版本
- Tomcat6.0 Servlet/JSP:2.5/2.1 JDK:1.5(从Tomcat6.0开始,只有JRE也是可以的)
- Tomcat7.0 Servlet/JSP:3.0/2.2 JDK:1.6
- 安装与问题的解决
- 解压到某个目录或磁盘上(请不要解压到中文目录或有空格的目录中)
- 进入Tomcat\bin目录中,执行startup.bat启动Tomcat
- 用浏览器访问http://localhost:8080/,如果看到界面,说明安装成功!
- 问题
- 一闪而过:JAVA_HOME环境变量, 配置系统环境变量 JAVA_HOME="C:\jdk1.6.0_20"
- 端口被占用:Tomcat默认使用的端口是8080,更改Tomcat的默认端口号:找到Tomcat\conf\server.xml,搜索8080,改为自己的端口(没有被别人占用)
- Tip:Catalina_home环境变量不建议配置
- Tip:HTTP协议默认使用的端口号80。
- Tomcat的目录结构(服务器厂商自己规定的)
- Tomcat:
- bin:Tomcat的启动和停止脚本
- conf:存放Tomcat的配置文件。*.properties或*.xml
- lib:存放Tomcat依赖的jar包。可以被所有webapps的web应用共享(这句话不知道对不对)。
- logs:存放Tomcat的运行日志。
- temp:存放临时文件
- webapps:存放Tomcat所管理的Web应用的。该目录中有几个文件夹,就代表当前Tomcat管理着几个应用。
- work:这是Tomcat的工作目录。
- Tomcat:
- JavaWeb的标准目录结构(SUN公司规定的,规范标准)
- MyApp(应用名称)
- html、1.js等等资源
- WEB-INF:必须有,且名称必须一致。(存放在此目录中的文件资源,用户无法直接访问)
- lib:存放服务这个应用的jar包
- web.xml:必须有,针对当前应用的配置文件。
- classes:必须有,存放服务于当前应用的class类。
- Tip:Tomcat中的lib和JavaWeb应用的lib中的jar有什么区别?Tomcat中的lib为Tomcat服务,被所有的受管理的JavaWeb应用所共享。JavaWeb应用的lib,只为自己服务。
- 重名类的加载顺序:类加载器的加载顺序
- 自己应用中的classes--->自己应用中的lib中的jar---->Tomcat\lib中的class文件---->Tomcat\lib中的jar----》没有找到,ClassNotFoundException
- MyApp(应用名称)
- 如何部署JavaWeb应用到Tomcat中
- 开放式目录部署:直接拷贝应用到Tomcat中去。
- 把war包拷贝至Tomcat\webapps中即可,容器会自动解压该应用。把应用打成war包。进入应用的目录,执行 jar -cvf MyApp.war .
- Tomcat的核心组成部分
- 虚拟目录映射:把本地磁盘上的真实目录映射为一个对外访问的一个虚拟目录
- 要求:C:\ITHEIMA\heima15\day03\资料\MyApp ----->/MyApp
- 过程:server.xml:Context元素。配置一个应用
- 方式一:(不建议使用,需要重新启动Tomcat)
- 在<Host>元素中增加以下内容:<Context path="/MyApp" docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
- path:虚拟目录。以"/"开头
- docBase:真实目录。(中文目录不行)
- 方式二:
- 在Tomcat\[enginename]\[hostname]\目录中建立一个扩展名为xml的配置文件。
- 该文件名就是虚拟目录的名称,在其中增加以下配置:
- <?xml version="1.0"?>
- <Context docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
- 小实验:配置默认端口、默认应用、默认页面
- 要求:
- http://localhost时------>C:\ITHEIMA\heima15\day03\MyApp\1.html
- 默认端口:修改server.xml把8080改为80
- 默认应用:(都需要重启)在Tomcat\[enginename]\[hostname]\目录中建立一个名称为ROOT.xml的配置文件。
- 过程:
- <?xml version="1.0"?>
- <Context docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
- 默认主页:修改应用中的web.xml,增加以下内容:
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>1.html</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
- 要求:
- 虚拟主机:
- 要求:配置一个虚拟主机 www.itcast.cn
- 过程:配置server.xml中的Host元素<Host name="www.itcast.cn" appBase="c:\itcastapps"/>
- name:网站名称
- appBase:存放本网站所有应用的目录。
- 域名解析:可以修改widows系统中C:\WINDOWS\system32\drivers\etc\hosts文件进行域名和IP的映射(玩后改回原样)
- 连接器:SSL
- 名称解释:
- HTTPS=HTTP+SSL。默认使用的端口是443.Tomcat:8443
- SL:数据加密(非对称加密)+身份认证(数字证书)
- Certificate Authority,CA;VeriSign;Thawte;权威的数字证书颁发机构。
- 创建自我签名的数字证书:
- JDK中的keytool可以创建该证书。
- keytool.exe -genkey -alias ppp -keyalg RSA
- 生成的证书默认存放在当前登录用户的文件夹中。
- 这个证书没有经过权威机构认证,会提示证书安全问题。
- 名称解释:
- 虚拟目录映射:把本地磁盘上的真实目录映射为一个对外访问的一个虚拟目录