Tomcat的简单归纳总结
Tomcat的简单归纳总结
一:开门见山--->Tomcat的两种平台的安装简单介绍
1.1Window平台的安装--->
使用解压版的就可以了,安装版的使用的较少一些.下载地址:
解压后就是一个目录:apache-tomcat-7.0.77(我之前用的是比较旧的版本);
1.2就是配置环境变量的(是普遍使用JSP/Servlet的优秀容器,所以需要安装好Java的环境,比较简单就不在介绍了,PS:网上的教程比较多,比较全的)--->
CATALINA_HOME:C:\apache-tomcat-7.0.77。
CATALINA_BASE:C:\apache-tomcat-7.0.77。
这样是启动tomcat的使用才会找到的.例如在Eclipse下启动tomcat的过程中留意看一下控制台前面的信息:
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version: Apache Tomcat/7.0.77
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built: Mar 28 2017 16:01:48 UTC
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number: 7.0.77.0
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name: Windows 8.1
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version: 6.3
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture: amd64
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java Home: C:\Program Files\Java\jdk1.8.0_121\jre
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version: 1.8.0_121-b13
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor: Oracle Corporation
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: C:\apache-tomcat-7.0.77
八月 09, 2017 10:11:16 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: C:\apache-tomcat-7.0.77
1.3:Windows下的Tomcat的启动关闭(以解压版的说一下):
来到bin目录下:看到startup.bat,shutdown.bat,startup.sh,shutdown.sh。(前两个是Window下的启动关闭,后面试Linux下的启动关闭).直接点击使用,简单粗暴就不在细说了.默认是使用的8080端口的.使用TCP/IP协议.建立TCP连接的.打开浏览器查看
输入地址:http://localhost:8080/就可以了.也可以使用http://127.0.0.1:8080/,(那个127.0.0.1就是预留给本地软件环回测试使用的意思都一样的.)都可以看到那个经典的小猫首页的。
直接关闭就可以了.
1.4:Linux下的安装介绍:
获得Linux下的安装包,我用的是apache-tomcat-7.0.47.tar.gz(使用tar打包的,Gzip压缩过的).
Linux环境的搭建就不在演示了,使用VMware虚拟机的安装,使用CentOS的Linux distributions就可以了.
接下来就使用远程得登录工具将压缩包传上去.推荐使用SSH这个远程工具的,免费简单好用(打波广告,哈哈).还用SecureCRT等看自己的使用爱好的,求同存异吧。使用得都是SFTP文件传输协议嘛.来到正题吧.
Linux的命令使用就不在演示了。这些切换目录,查看信息,创建目录,解压缩,复制,移动,重命名,VIM编辑器的简单使用,三种常用的命令模式的转换,管道命令,管理套件的,查看进程的信息等常用的命令,再好好复习复习嘛.
修改了端口,但是这个端口防火墙并不是默认开放的嘛比不了Nginx的默认80,并且是开放的,演示开放端口的命令:
1.5Linux的启动和关闭简单介绍:
来到bin目录下:使用ls命令可以看到和Windows下bin目录下可执行文件的.
使用命令: sh startup.sh就可以启动了.但是看不清楚启动过程的,使用命令: tail -f ../logs/catalina.out就可以看到了.
在Windons里面浏览器里面输入:您的ip地址+开放的端口即可看到的.(不知道ip的,弱弱的补一句命令:ifconfig,有别于Windows的ipconfig的).
例如我这里是192.168.217.137:9999的如果每一步都是按照步骤来的,就会再次看到那个经典的猫猫首页了(不过这是在Linux下的tomcat的启动的).
关闭就比较简单了:使用sh shutdown.sh.还是Linux下的命令比较好用的,不用配置环境变量的.
安装Tomcat可以说是安装JAVA,MySql,Nginx,Redis相比较中最简单的,最起码不用配置的.
至此Linux下和Windows的安装就简单的介绍完毕了,至于安装测试的过程中,遇到的问题,没有看到那个可爱的猫猫,这里统一回复一下就是几个细节没有注意到.在仔细操作一遍,之前安装失败了,就把前面的的删除掉,如果是端口被占用了,就找到那个端口被那个进程占用了,方便的杀死就可以的.kill -9 pid.
二:前面的都是一些准备工作的,接下来就是重点介绍一些了吧.
2.1Tomcat的各个目录介绍.
- server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;下面会详细介绍这个文件;
- tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
- web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
- context.xml:对所有应用的统一配置,通常我们不会去配置它。
通过这些目录就可以知道Tomcat的简单的结构.
2.2简单的说一下有几个常见的问题:
那个运行的文件在work下,会引起tomcat的缓存的问题的,如果有遇到的话,建议将work目录下得Catalina这个删除掉即可了.这个目录下有运行的文件的,进入查看后会发现,jsp的文件会被编译为Servlet的,命名格式是这样的:例如index.jsp,会编译为index_jsp.java,字节码, index_jsp.class的.
在Eclipse中配置Tomcat可是比较简单的,关键是项目发布的位置了,如果直接new 一个server的,不打开修改一下路径的话,就会发布到Eclipse的克隆服务器的.如果是多个就会以temp0,temp1等的命名格式.会有一个wtpwebapps的目录,项目就会发布到那个在那的.打开Eclipse如果想发布到自己安装的那个tomcat中的webapps下就建议修改一下吧.
图片如下:
tomcat的默认编码是ISO-8859-1的。如何修改才能是我们的get和post请求不发生乱码呐?(乱码的原因可以归结为一句话,发送过去服务端的和要显示在客户端的不是编码格式不统一!)
如果使用SSM框架结合Maven的项目构建工具,要配置一个编码过滤器的.统一使用UTF-8的国际编码代码如下:
<!--设置编码过滤器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
至于GET的请求就使用UTF-8编码就可以了.
但是这只是可以解决POST的请求中文的编码的,GET请求中文的时候会依然乱码的。遇到问题总是要解决的嘛,来回看get的乱码.
不使用编码过滤器的时候,在使用JSP/Servlet的时候.如何处理GET和POST的中文乱码问题:
Get中文请求的乱码解决:
Post中文请求的乱码解决:
还有一种解决方法:就是在tomcat的配置文件中指定编码格式的:
三:Tomcat的结构分析--->
Tomcat服务器也好,Nginx官方说是可以支持50000的并发的轻量级的服务器也罢,都是基于模块的结构的.
如图:
Tomcat的工作原理简单介绍:
- Engine 容器
- Host 容器
- Context 容器
- Wrapper 容器
四:Tomcat的工作分析--->
将WAR包放到webapps的目录下Tomcat启动会自动解压的,Linux下使用的比较多的.将项目部署至Linux上访问.
案例url: http://localhost:8080/test/index.jsp
至此十步完成了一个请求的发送到收到响应.
五:Tomcat的热部署--->
5.1: Tomcat的热部署的定义:
六:Tomcat的配置虚拟目录
6.1:介绍配置虚拟主机的两种方式:在做文件图片上传的demo的时候就会用到这个虚拟目录,指定物理路径,图片就会上传至那个目录下的,数据库里保存图片的路径,在开发头像显示的时候就可以用虚拟目录显示上传 的头像图片的.
6.2:图形化界面配置:
七:Tomcat的CATALINA_HOME和CATALINA_BASE的区别:
- Throughout the docs, you'll notice there are numerous references to $CATALINA_HOME. This represents the root of your Tomcat installation. When we say, "This information can be found in your $CATALINA_HOME/README.txt file" we mean to look at the README.txt file at the root of your Tomcat install. Optionally, Tomcat may be configured for multiple instances by defining $CATALINA_BASE for each instance. If multiple instances are not configured, $CATALINA_BASE is the same as $CATALINA_HOME.
八:Tomcat的双开问题:
解压两个Tomcat的,修改相应的端口的.分别启动,可以修改index.html那个首页便于区别的.
最后:将这些常见常用的归纳了一下:有些地方是学习知名博主的总结分享,一部分是自己学习过程中的一些总结的。这只是抛砖引玉只用的.鲜为人知的技术点还有很多的,一起分享一起快速的进步吧.
Tomcat的简单归纳总结的更多相关文章
- tomcat的简单安装及配置
实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验软件:apache-tomcat-8.0.24 jdk-8u60-linux-x64 jeecms-v6 一. ...
- 就linux三剑客简单归纳
就linux三剑客简单归纳: :awk 习题1:用 awk 中查看服务器连接状态并汇总 netstat -an|awk '/^tcp/{++s[$NF]}END{for(a in s)print a, ...
- HTML标签,简单归纳
列表标签 有序列表: <ol><li></li></ol> 无序列表: <ul><li></li></ul&g ...
- ubuntu下启动和关闭tomcat的简单方法
在ubuntu下面,我们安装tomcat可以有两种方式[1]用aptitude安装aptitude install tomcat6 [2]免安装版从apache tomcat 网站下载apache-t ...
- js知识简单归纳
js简单的归纳 基本类型 number,string,boolean,null,undefined 组合类型 一种对象类型: object 数组 函数 对象 正则 关于函数 作用域 闭包 构造函数 原 ...
- Android中Tomcat的简单配置和使用
因为学Android已经有一段时间了,但是在学校,服务器方面是个短板啊,没有专门的服务器拿给我们学生练手,所以只有自己找办法了.当然,Tomcat就是不二的选择了. 在网上看了看资料,还是觉得自己记录 ...
- Tomcat服务器简单测试jsp文件和html文件
在tomcat里面的webapps文件夹下面新建一个test文件, 写一个test.html的文件,一个test.jsp的文件,两个文件的内容全是:2+2=<%=2+2%> 重新启动Tom ...
- 内嵌tomcat最简单用法
maven项目引入内嵌tomcat依赖 <dependency> <groupId>org.apache.tomcat.embed</groupId> <ar ...
- Windows下nginx+tomcat实现简单的负载均衡
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...
随机推荐
- [BZOJ2427]软件安装
Problem 每个软件都要安装某些软件才能安装,而且都有体积和价值,求安装的价值最大值 Solution 对于每个环,我们可以知道必须全部一起取或者不取,因此我们先用Tarjan缩点 然后我们用一个 ...
- tensorFlow(五)深层神经网络
TensorFlow基础见前博客 上实例: MNIST 数据集介绍 MNIST 是一个手写阿拉伯数字的数据集. 其中包含有 60000 个已经标注了的训练集,还有 10000 个用于测试的测试集. 本 ...
- spring boot 项目插入数据后,返回数据库自增主键
在对应的实体上添加@GeneratedValue(generator = "JDBC"),如下所示 @GeneratedValue(generator = "JDBC&q ...
- 人群密度估计 CrowdCount
最近在看人群密度估计方面的东西,把博客看到的一些方法简单总结一下,后续继续添加. 1.论文<CrowdNet: A Deep Convolutional Network for DenseCro ...
- redis 集群常用命令
systemctl start redis.service #redis 启动redis-server /etc/redis.conf #redis 加载配置文件启动 redis-cli -h 192 ...
- R语言安装xlsx包,读入excel表格
开学的时候,男神给了数据(.xlsx格式)让用R语言分析分析,作为编程小白,读了一天都没读近R,更别提如何分析了. 现在小伙伴们都喜欢读txt 和csv格式的,好多xlsx的表格读不进R,将xlsx格 ...
- react native 开发报错
1:oc对象名是RCTPoctalk 2:js中导入原生方法 3:报错:对象没有定义 出现这样的问题可能是react native 不允许使用“RCT”开头的前缀 4:解决办法:“RCT_EXPORT ...
- 最短路,dijstra算法
#include<iostream> #include<stdio.h> #include<math.h> #include<vector> using ...
- 剑指Offer 10. 矩形覆盖 (递归)
题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 题目地址 https://www.nowcoder.com/ ...
- js 拷贝clone
array Array.prototype.clone=function(){ return this.slice(0); } 对象 var o = {a: [1]}; //浅拷贝 var o1 = ...