什么是Tomcat
Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。
为什么我们需要用到Tomcat
如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个程序
怎样使用
下载
根据自己的各项配置在官网下载合适的版本
配置
- 新建JAVA_HOME环境变量【路径是JDK的主目录】
- 新建CATALINA_HOME环境变量【路径是Tomcat的主目录】
为什么配置JAVA_HOME?
了解了startup.bat文件以后,我们再来看看真正负责启动Tomcat服务器的catalina.bat文件。通过分析catalina.bat文件,我们发现它还调用了一个文件setclasspath.bat。在setclasspath.bat文件中,它检查JAVA_HOME环境变量是否存在,并通过JAVA_HOME环境变量,找到java.exe,用于启动Tomcat。
修改端口号
因为端口号容易和其他程序冲突,需要重新写一个新的,修改之后需要重新启动
访问tomcat
localhost:8080
目录结构
- bin:启动和关闭tomcat的bat文件
- conf:配置文件
- server.xml该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)
- web.xml文件配置与web应用(web应用相当于一个web站点)
- tomcat-user.xml配置用户名密码和相关权限.
- lib:该目录放置运行tomcat运行需要的jar包
- logs:存放日志,当我们需要查看日志的时候,可以查询信息
- webapps:放置我们的web应用
- work工作目录:该目录用于存放jsp被访问后生成对应的server文件和.class文件
建立自己的项目文件
jsp:在html中嵌套的java代码
web.xml中不能有中文
在项目/Web-INF/web.xml中设置默认的初始页面
虚拟路径
作用:将web项目配置到webapps以外的目录
方式一:
将web项目配置到webapps以外的目录
- 将自己的文件放到一个目录下
- 在webapps中conf/server.xml中配置,在host标签中写
<Context docBase="D:\JAVA\Tomcat\jspal" path="/jspal"/>
- docBase:实际文件路径
- path:虚拟路径,在网页搜索栏可以通过输入path映射到docBase
- 需要重启
方式二:
- 在D:\JAVA\Tomcat\apache-tomcat-8.5.53\conf\Catalina\localhost下新建一个xml文件
- 里面只写上
-
< Context docBase=“D:\JAVA\Tomcat\jspal” path="/jspal"/>
- 在网页搜索
虚拟主机
- C:\Windows\System32\drivers\etc下的hosts中加入下图
去掉端口号:改为80就可以
过程:
www.test.com→host找映射关系→server.xml找Engine的defaultHost→通过“/jspal”映射到D:\JAVA\Tomcat\jspal
当Tomcat接收到访问请求时,将比较请求消息中的Host头字段的值与元素的name属性值,并以匹配的元素所创建的WEB站点来响应。如果Server.xml文件中没有与请求消息的Host头字段匹配的元素,Tomcat将以默认的WEB站点来响应。
JSP执行流程
jsp—java(servle文件)—class
jsp和Servlet可以相互转换
因为第一次请求服务器会有翻译和编译的过程,因此比较慢;后续访问,可以直接访问class,因此速度较快,但是,如果服务器修改了代码,则再此访问时,会重新的翻译,编译