一、JavaWeb的应用的概念
- 在Sun的Java Servlet规范中,对Java Web应用作了这样的定义:“Java Web应用是由一组Servlet、HTML页、类、以及其他可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。”
- Java Web应用中可以包含如下内容:
—Servlet
—JSP
—实用类
—静态文档如HTML、图片等
—描述Web应用的信息(web.xml)
二、Servlet容器的概念
- Servlet容器为JavaWeb应用提供的运行时环境,它负责管理Servlet和JSP的生命周期,以及管理他们的共享数据。
- Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。
- 目前最流行的Servlet容器包括为:
—Tomcat
—Resin
—J2EE服务器(如Weblogic)中也提供了内置的Servlet容器。
三、Tomcat简介
Tomcat是一个免费的开放源代码的Servlet容器,他是Apache软件基金会的一个顶级项目,由Apache,Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与与支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。
四、Tomcat的安装与配置
(1)Tomcat的目录文件
(2)Tomcat的目录结构
(3)部署并启动Tomcat服务器
- 解压apache-tomcat-8.0.14.zip到一个非中文目录下
- 配置一个环境变量。java_home(指向JDK安装的根目录)或jre_home.
- 通过双击apache-tomcat-8.0.14-windows-i64\apache-tomcat-8.0.14\bin目录下的startup.bat,启动服务器,双击shutdown.bat文件关闭服务器。
- 可t以在浏览器中输入localhost:8080来检验Tomcat安装是否正确。
- 若已经启动了一个Tomcat应用,若再启动同一个Tomcat应用,会抛出异常:java.net.BindException:Address already in use:JVM_Bind:8080 因为端口已经被占用了。
(3)Tomcat:开源的servlet容器
(4)修改Tomcat服务器的端口号
可以通过修改servlet.xml文件的配置信息来修改Tomcat服务器的端口号:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
把port的值改为其他的端口号即可。
(5)实现可以在任意目录下启动Tomcat服务器
把E:\apache-tomcat-8.0.14-windows-i64\apache-tomcat-8.0.14\bin添加到path下
(6)设置CATALINA_HOME 环境变量
通过阅读startup.bat批处理文件,可知CATALINA_HOME 环境变量下有一个bin目录,而bin目录又有一个catalina.bat文件,由此可知CATALINA_HOME指向的是Tomcat安装的根目录。于是,把Tomcat的根目录设为CATALINA_HOME 环境变量。
此时即可以在任意目录下通过startup.bat、shutdown.bat启动关闭Tomcat服务器。
(7)继续阅读start.bat文件,发现启动Tomcat服务器的是catalina.bat文件
在命令行窗口直接输入catalina,提示如下:
commands:
debug Start Catalina in a debugger
debug -security Debug Catalina with a security manager
jpda start Start Catalina under JPDA debugger
run Start Catalina in the current window
run -security Start in the current window with security manager
start Start Catalina in a separate window
start -security Start in a separate window with security manager
stop Stop Catalina
configtest Run a basic syntax check on server.xml
version What version of tomcat are you running?
catalina命令有如上的可选参数。
run:在catalina同一个命令行窗口启动服务器。
start:开启一个新窗口启动服务器。
stop:关闭服务器。
五、虚拟路径
方式一
将web项目配置到webapps以外的目录
conf/server.xml中配置
host标签中,
<Context docBase="" path="">
docBase:实际路径
path:虚拟路径(绝对路径、相对路径【相当于webapps】)
重启
方式二
E:\apache-tomcat-9.0.20\conf\Catalina\localhost中新建“项目名.xml”中新增一行:<Context docBase="" path="">
六、虚拟主机
例如:通过www.test.com访问本机
a.conf/server.xml
<Engine name="Catalina" defaultHost="要配的地址">
<Host name="" appBase="www.test.com">
<Context docBase="" path="/">
</host>
流程:www.test.com->host找映射关系->server.xml找Engine的defaultHost-->通过“/”映射到项目实际所在的位置