添加内容,
<welcome-file-list>
<welcome-file>ahtml</welcome-file>
<welcome-file>bhtml</welcome-file>
<welcome-file>cjsp</welcome-file>
</welcome-file-list>
如此以后,输入loaclhost/工程名的时候,就会先去找ahtml,如果没找到就去找bhtml依此类推一、下载Tomcat
1、打开浏览器输入网址apacheorg。
2、点击“Download”进入下载页面,搜索到“Tomcat”。
3、选个稳定的版本下载,这里选择70。
4、根据 *** 作系统情况选择相应的版本的二进制压缩文件(好处在于免安装,拿来就能用),这里以Windows 64位机器为例,下载压缩包。
5、下载完成后解压到指定目录下,比如F盘根目录。到此Apache Tomcat的安装就已经完成了。
二、使用Tomcat发布网站
1、将生成的war包,拷贝到webapps目录下即可(Tomcat会自动进行war包的解压 *** 作)。
2、运行“cmd”命令行。
3、进入到tomcat的bin目录下执行命令startupbat。
4、执行上述命令会掉出Tomcat的执行窗口,看到“Server startup in XXXX ms”就代表Tomcat启动完成,可以使用浏览器访问发布的站点了。
5、使用浏览器访问已发布的网站,效果如下图所示,至此Tomcat发布网站就已完成。
三、关闭Tomcat服务
1、运行“cmd”命令行
2、进入到tomcat的bin目录下执行命令shutdownbat
3、Tomcat窗口关闭,命令行输出如下信息,代表Tomcat成功关闭
PS:确保Tomcat使用的端口未被占用tomcat都停止了, 就没有显示了啊, 你用浏览器访问会提示找不到网页的, 不过这种需求你可以用nginx + tomcat来做负载, 这样tomcat停掉了, 就会显示nginx的网页, 不要问我nginx停了怎么办, nginx不会停, 支持几十万并发访问找到这个配置文件:conf/contextxml
在<Context> </Context>组件内加上:
<Manager className="orgapachecatalinasessionPersistentManager" saveOnRestart="false">
<Store className="orgapachecatalinasessionFileStore"/>
</Manager>
因为tomcat是把session保存在一个sessionser文件中的,tomcat启动会加载这个文件中的未过期的sessioneclipse里一堆待机的。前言:喜欢编程语言的朋友,想必一定接触过eclipse这款软件。eclipse的用途很大,可以针对c/c++,php,java等等语言进行编译。当下Java语言非常火爆。使用eclipse的人也越越多。然而在eclipse使用中难免会遇到各种各样的问题,比如在做JavaWeb工程开发时,当前台jsp页面改动时,需要重新刷新编译后才能使用到最新编译的代码。后台Java代码改动时,需要清理缓存(重新编译Java代码)才能使用到改动后的代码。今天就给大家详细的讲解下,关于eclipse各种缓存的清理方法。
eclipse的刷新分为三种情况。现在给大家详细介绍这三种方法。
1针对前端页面改动的刷新
当前台jsp页面改动时,需要重新刷新编译后才能使用到最新编译的代码
按照上面步骤即可彻底刷新。
2后天Java代码改动的刷新
后台Java代码改动时,需要清理缓存(重新编译Java代码)才能使用到改动后的代码
01 打开eclipse之后,在菜单栏下,找到“Project”,选择“Project”;
02
选择“Project”之后,接下来,找到“Clean”,点击“Clean”;
03 找到我们需要清除缓存的项目,勾选项目前面的小框;不过这样做,只是针对少量项目的刷新
我们此时如果勾住了Clean all projects就会对所有项目进行刷新。
上面的两种方法都只是手动刷新,就是后台代码没改动一次,就要进行刷新一次。如果仅仅是少量的测试代码还能接受了,如果是在做一个大型项目时,随便改动下后台Java代码。就需要手动清理一次缓存,还不得累死。
于是就出现了另外一种刷新方式:自动刷新
按照上面的步骤勾住后,以后每次在改动后台代码时,eclipse就会进行自动刷新(清理缓存)。Java代码就会得到重新编译
这样做是不是比手动者清理方便多了。你看办法还是有的吧!
下面是我借鉴大牛的解释,这里也分享给大家。
eclipse修改代码后需要clean。
eclipse中clean的作用是将工程中的class文件删除,同时重新编译工程Java文件。如果没有clean,修改代码后会出现部署不上文件的问题。
如果没有clean,可以点击Project–>Build Automatically,然后这个选项签名就自动勾选上了,然后你再次运行项目,以后每次修改Java代码,都会部署成功了。
好了前两种清理缓存的方法都介绍好了,这里给大家介绍最后一种清理缓存的方法。
3 清理Tomcat缓存
01 找到server。这里在扯个题外话,如果server消失了怎么找到。点击window–>show view 就会找到server。
02 在Console中,点击红色四方点先关闭tomcat服务器(如果不关闭Tomcat直接清理缓存,就会遇到很多错误,这里还是建议先关闭Tomcat服务器)
03 找到Apach Tomcat v8532,点击鼠标右键,找到clean。点击clean即可完成刷新。
好了,三种刷新方法已介绍完毕,喜欢大家能喜欢。
最后分享一句话:人类因懒惰而进步。合理的懒惰,不要然你的激情浪费在无用功上(1)bin:主要用来存放命令,bat是windows下,sh是Linux下
(2)conf:主要用来存放tomcat的一些配置文件
(3)lib:存放tomcat依赖的一些jar包
(4)logs:存放tomcat在运行时产生的日志文件
(5)temp:存放运行时产生的临时文件
(6)webapps:存放应用程序
(7)work:存放tomcat运行时编译后的文件,比如JSP编译后的文件
tomcat优化可以有几个方向:配置项的删除,配置参数的修改,jdk参数修改、Tomcat内存优化、Tomcat并发优化、Tomcat缓存优化
web项目中自带的WEB-INF/webxml,
tomcat自带的conf/webxml以及conf/serverxml文件。
因为这些xml文件都会被tomcat解析,所以优化方向是将这三类文件中不必要的配置删除。
tomcat在启动时,会将web项目中WEB-INF/webxml和自己的conf/webxml进行合并,然后在ContextConfig类下的configureContext()统一解析这些内容:
这个只能是在项目中不需要的配置不要放进去,有过期的配置要及时删除,减少tomcat的解析成本。
这是一个处理静态文件的servlet,如果项目中不需要tomcat进行静态文件的处理,可以将其删掉。
这个servlet是用来编译和执行jsp文件的,如果项目中没有jsp文件,可以将其删掉。
项目中没有jsp,关于jsp下面的映射也可以删除:
文件中提供的mime类型非常多,如果有确定项目中不会涉及到的类型,可以删除其映射配置。
如果不需要展示tomcat的欢迎页,可以将其删掉。
下面是tomcat85版本提供的默认listener列表:
作用是在Tomcat初始化时,打印一下Tomcat相关的版本信息以及 *** 作系统和jdk环境信息,可以删掉。
Tomcat启动时,检查APR库,如果存在则加载,这个配置仅当connector的protocol设置为AJP/13时有用,如果非AJP/13,可以删除。
Java运行环境可能导致某些已知位置的内存泄漏或文件锁定,
JreMemoryLeakPreventionListener提供这些情况的解决方案。
作用于全局资源,通过该监听器,初始化标签中定义的全局JNDI资源;
如果没有该监听器,定义的全局资源都不能使用。
如果不使用GlobalNamingResources定义全局资源,可以删除。
Web应用因thread-local导致的内存泄露而要停止时,该监听器会触发线程池中线程的更新。
只有当Web应用(即Context元素)的renewThreadsWhenStoppingContext属性设置为true时,该监听器才有效。
官方文档对renewThreadsWhenStoppingContext配置的解释为:
GlobalNamingResources可以定义全局资源,可以看出,这个tomcat的默认配置是通过读取$TOMCAT_HOME/ conf/tomcat-usersxml实现的。
tomcat-userxml用于定义tomcat管理页面相关配置,如果不登录管理界面可以删掉。
官网中对于这个connector有如下描述:
The AJP Connector element represents a Connector component that communicates with a web connector via the AJP protocol This is used for cases where you wish to invisibly integrate Tomcat into an existing (or new) Apache installation, and you want Apache to handle the static content contained in the web application, and/or utilize Apache's SSL processing
可知当tomcat需要集成到Apache服务器时才使用这个connector,现在一般都用Nginx代替Apache,所以不使用Apache的话这个也可以删掉。
tomcat默认配置包含如下connector:
<Connector port="8009" protocol="AJP/13" redirectPort="8443" />
Realm,可以把它理解成“域”;
Realm提供了一种用户密码与web应用的映射关系,从而达到角色安全管理的作用,tomcat默认的这个realm是和name为UserDatabase的资源绑定的,而该资源在Server元素中使用GlobalNamingResources配置。如果不需要可以删掉。
Valve的意思是“阀门”,不同的Valve有不同的特性,Valve的配置中AccessLogValve的作用是记录其所在容器处理的所有请求,默认配置中的Valve放在Host下,便可以记录该Host处理的所有请求。
AccessLogValve记录的日志就是访问日志,每天的请求会写到一个日志文件里。现在一般记录Nginx访问日志,这个也可以删除。
tomcat是用Java写的,就要运行在jvm上,垃圾处理方式等都要遵循jvm的方式。
tomcat中设置jvm参数在 catalinash(Linux)和catalinabat(windows)中,以JAVA_OPTS变量存储。以catalinash为例:
可以在该变量中添加jvm参数,达到减少gc次数等目标,例如根据tomcat所在服务器修改jvm内存大小等。
参数优化主要是优化severxml中的配置参数,示例serverxml如下:
port:指定一个端口,这个端口负责监听关闭tomcat的请求。
shutdown:指定向端口发送的命令字符串。
sever配置没什么可优化的。
name:指定service的名字。
service配置没什么可优化的。
port:指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求
minProcessors:服务器启动时创建的处理请求的线程数
maxProcessors:最大可以创建的处理请求的线程数
enableLookups:如果为true,则可以通过调用requestgetRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
redirectPort:指定服务器正在处理>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)