当前位置: 首页 > news >正文

J2EETomcat 的配置

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一,首先明确一点Tomcat是支持J2EE的JSP/servlet 技术的一个服务器。J2EE包含很多技术,但是Servlet仅仅支持这一种。

其次要明白Tomcat各个目录的基本含义,并且能够配置服务器端口,虚拟目录。

lib存放的是Tomcat用以支持servlet运行所需要的服务器jar包,其中很重要的jar包是servlet-api.jar

logs存放这是服务器每一次启动的日志文件。可以查看服务器异常情况。

conf用来保存配置服务器的文件,常用的有配置端口,配置虚拟目录等。

bin包中存放Tomcat的一些启用程序,用来启动Tomcat

webapps:Web应用的存放目录。该目录中的每个目录都代表一个应用。

work:Tomcat的工作目录

二。tomcat的安装和使用

1、注意:不要把Tocmat装到有中文或空格的目录中。

2、验证Tomcat是否成功

a、进入Tomcat\bin,执行startup.bat

b、启动过程中没有出错。最好还要打开浏览器:http://localhost:8080看到猫说明OK

3、启动Tomcat遇到的问题:

***a、无法启动:配置系统环境变量JAVA_HOME=你的JDK的安装目录

Tips:

HTTP协议规定,Web应用的默认端口是80

把Tomcat使用的默认端口8080改为Web应用的默认端口80?

在Tomcat\conf目录中有一个server.xml

找到8080改为80,就可以使用默认端口了。

4、Catalina_home=Tomcat的安装目录(不建议使用)

JavaWeb应用的目录结构(SUN制定的,有严格要求)必须记住

MyApp:(目录,应用的名称)

WEB-INF:此目录必须有,且大小必须完全一致。该目录中的资源,用户无法直接访问到。(非常重要)

classes:存放Java类的字节码

lib:存放本应用需要的jar包

web.xml:本应用的配置文件

如何“部署”自己的应用到Tomcat中

方式一:把你的应用拷贝到Tomcat\webapps目录下。

方式二:把自己的应用打包成war包,再拷贝到Tomcat\webapps目录下

进入你的应用目录

执行:jar -cvf MyApp.war .

二.Tomcat组成部分详解:

虚拟目录:

       方式一:(不建议使用,原因就是需要重新启动)

            1、修改Tomcat\conf\server.xml,找到<Host name="localhost"/>元素

            2、在其中增加一个子元素,内容如下:

             <Context path="/haha" docBase="E:\MyApp"/>

             path:虚拟目录的名称。给用户来访问的

             docBase:实际应用的存放目录

             3、重新启动Tomcat

             4、访问资源:http://localhost:8080/haha/1.html就是访问E盘下MyApp目录中的1.html

        **方式二:(建议使用的方式,可以在Tomcat运行期间进行动态的加载)

            在Tomcat\conf\[enginename]\[hostname]目录下建立一个特殊的文件,文件扩展名为xml;

            文件的主文件名就是映射的虚拟路径(即<Context path="/haha" docBase="E:\MyApp"/>中的path)

            增加以下内容:

 <?xml version="1.0"?>
 <Context docBase="E:\MyApp"/>


默认端口的修改 在servlet.xml中就该响应的端口,如修改浏览器访问端口8080

 <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

默认应用:在修改虚拟目录的时候,如果你不给出 path的话,则Tomcat 会将此虚拟目录当成默认目录

<?xml version="1.0"?>
<Context docBase="E:\MyApp"/> <!--这个是将myapp这个目录当成的默认目录  -->
<Context path="/haha" docBase="E:\MyApp"/><!--这个是将myapp文件夹配置到LOCALHOST:8080/haha的目录下-->

默认主页:修改应用中的web.xml文件,这样可以使打开页面后显示默认的主页面

根元素下增加以下内容:

    <welcome-file-list>
       <welcome-file>index.html</welcome-file>
 </welcome-file-list>

虚拟主机的配置在servlet.XML中,虚拟主机可以使得在一台Tomcat运行的主机上面,可以访问多个web应用

  <Host name="www.123abcefg.me"  appBase="G:\javaweb\javaweb\WebRoot"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
       </Host>




转载于:https://my.oschina.net/anyyang/blog/344987

相关文章:

  • PPTP一键安装脚本及使用webmin管理PPTP ××× Server
  • office365 Proplus 部署安装(office deployment tool)
  • 15个有用的浏览器内的web开发工具
  • [转载]最小生成树-Prim算法和Kruskal算法
  • C++开源项目等收集
  • WordPress安装使用问题记录
  • Java集合(四)LinkedList源码分析及使用示例
  • quotacheck命令不能创建aquota.user和aquota.group文件解决方法
  • Unity 序列化
  • 谈谈OC的内存管理 (2013-01-08 09:28:14)
  • Home键的获取监听,安卓4.0后就不能在onkeydown方法中获取了。怎么办。
  • 两个链表的第一个公共子节点
  • WCF的执行过程
  • 我和linux的第十五天
  • mysql基础入门
  • ES6指北【2】—— 箭头函数
  • 【刷算法】从上往下打印二叉树
  • java中具有继承关系的类及其对象初始化顺序
  • MQ框架的比较
  • Spring Boot快速入门(一):Hello Spring Boot
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vuex 学习笔记 01
  • webpack项目中使用grunt监听文件变动自动打包编译
  • Yii源码解读-服务定位器(Service Locator)
  • 使用parted解决大于2T的磁盘分区
  • 我与Jetbrains的这些年
  • ionic异常记录
  • ​Linux·i2c驱动架构​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #ifdef 的技巧用法
  • #stm32整理(一)flash读写
  • (1)STL算法之遍历容器
  • (4)事件处理——(7)简单事件(Simple events)
  • (Java)【深基9.例1】选举学生会
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (力扣)1314.矩阵区域和
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)ORM
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET框架
  • @angular/cli项目构建--Dynamic.Form
  • @EnableWebMvc介绍和使用详细demo
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [BUG] Authentication Error
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数