您的位置:首页 > 运维架构 > Tomcat

JavaWeb-Tomcat服务器

2013-06-27 19:47 447 查看
一、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的工作目录。

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

如何部署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
生成的证书默认存放在当前登录用户的文件夹中。
这个证书没有经过权威机构认证,会提示证书安全问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: