- jar包:JAR包是类的归档文件,JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。
- war包:war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。
然后: 如果这不是一个maven项目: 1:使用快捷键Ctrl+Alt+Shift+s 或者 鼠标点击选中项目名按F4 打开 Project Structure界面 2:选择Artifacts,点击右边+,依次选择Web Application:Archive 和 For ‘myPro:war exploded’ 3:[修改名称:可选] 和 注意 war输出的路径 4:点击下图红色箭头所指+图标,选择Directory Content,添加你的WebRoot目录,然后点击OK 5:在主界面选择Build – Build Artifacts,找到刚才需要打包的项目名点击build 部署项目的方式: 1:将项目打出的 war 包直接放到 tomcat/webapps 目录下,那么当 Tomcat 启动时,会自动将 .war 包解压 2:在 conf/context.xml 中进行独立的配置,可以增加如下元素:,启动 Tomcat 后,在浏览器中输入 http://localhost:8080/project/ 就能访问项目了。 3:在 Tomcat 中创建 conf/Catalina/localhost 目录,用项目名新建一个 xml 文件,例如 project.xml,然后在 project.xml 中加上类似于第二种方式的内容:4.0.0 war MobilPhone org.example MobilPhone 1.0-SNAPSHOT
- <1>path:即要建立的虚拟目录,,注意是/kaka,它指定访问Web应用的URL入口,如http://localhost:8080/kaka/****。
- <2>docbase:为实际目录在硬盘上的位置(应用程序的路径或者是WAR文件存放的路径)。
- <3>reloadable:如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改变,如果监视到有class文件被更新,服务器自动重新加载Web应用,这样我们可以在不重起tomcat的情况下改变应用程序。
- 一个Host元素中嵌套任意多的Context元素。每个Context的路径必须是惟一的,由path属性定义。另外,你必须定义一个path=“”的context,这个Context称为该虚拟主机的缺省web应用,用来处理那些不能匹配任何Context的Context路径的请求。
context.xml的三个作用范围:WEB-INF/web.xml WEB-INF/kaka.xml 监控资源文件,如果web.xml || kaka.xml改变了,则自动重新加载改应用。表示数据库URL地址
- 1. tomcat server级别:
在/conf/context.xml里配置。
- 2. Host级别:
在/conf/Catalina/${hostName}里添加context.xml,继而进行配置。
- 3. web app 级别:
在/conf/Catalina/ h o s t N a m e 里 添 加 {hostName}里添加 hostName里添加{webAppName}.xml,继而进行配置。
给 Tomcat 新增用户,实现输入用户名和密码进入应用管理界面: 打开 conf 目录下的 tomcat-users.xml,添加一行:
禁用前: 禁用后:
拥有这个连接器,Tomcat才能成为一个web服务器,但还额外可处理Servlet和jsp。
AJP ConnectorAJP连接器可以通过AJP协议和另一个web容器进行交互。
第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。 第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。AJP连接器可以通过AJP协议和一个web容器进行交互。 Web客户访问Tomcat服务器的两种方式: AJP13是一个二进制的TCP传输协议,相比HTTP这种纯文本的协议来说,效率和性能更高,也做了很多优化。显然,浏览器并不能直接支持AJP13协议,只支持HTTP协议。所以实际情况是,通过Apache的proxy_ajp模块进行反向代理,暴露成http协议给客户端访问,主要应用场景就是动静分离时,两个服务器之间通信使用。 支持AJP协议的代理服务器可以用这种做法,但是支持AJP代理的服务器非常少,比如目前很火爆的Nginx就没这个模块。因此tomcat的配置大部分都是关闭AJP协议端口的,因为除了Apache之外别的http server几乎都不能反代AJP13协议,没太大用处了



