本来启动一直正常
某日突然
startup启动TOMCAT一闪而过
通过cmd启动矣是如此,启动失败
最后通过改shutdown port解决问题
<Server port="8005" shutdown="SHUTDOWN">
改成了8015
其他网上找到的问题及解决方案:
1. 重要网站
2. Tomcat服务器的配置文件(server.xml)
E:\tomcat6\conf\server.xml
(1)关闭tomcat元素
<Server port="8005" shutdown="SHUTDOWN">用于关闭tomcat服务器
(2)修改TOMCAT端口号
在服务器配置文件中的 <Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" /> 修改便可。
(3)要注意的问题
问题:如果在server.xml文件中加入中文,则服务器加载不起来了,
原因:是xml文件中没有设置编码
办法:第一行加入<?xml version="1.0" encoding="GB2312" ?>
当Tomcat启动出错的时候,一闪就过去了,说明在startup批处理文件中用dos的start命令启动了一个新窗口会计从业代考 会计从业答案
在catalina.bat中找到下面这段代码:
========================================================
:doStart
shift
if not "%OS%" == "Windows_NT" goto noTitle
set _EXECJAVA=start "Tomcat" %_RUNJAVA%
goto gotTitle
:noTitle
set _EXECJAVA=start %_RUNJAVA%
=========================================================
将红色字符串删掉就可以看到错误
3. GlobalNamingResources元素
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
服务器端创建对象供给Servlet或JSP使用,例如数据库连接池对象
4. Service元素
<Service name="Catalina">
5. Engine元素
<Engine name="Catalina" defaultHost="localhost">
在一个服务器引擎上可以通过在这个元素里增加子元素<Host>来配置多个主机,
在<Host>元素中配置<Context>子元素可以增加多个站点(Web应用程序)
5. 配置一个站点(Web应用程序)
<Context path="/TestApp" docBase="e:\TestApp" />
参数path是用于浏览器访问的站点根目录
参数docBase是对应的硬盘上的物理目录
tomcat默认部署目录:tomcat/webapps/
6. 配置元素里的斜杠问题
在配置文件里的路径不用双斜杠
java源程序中的路径用双斜杠,是用于给编译器javac的,编译器会把双斜杠转换为单斜杠证券从业代考,银行从业答案
而配置文件中的路径是给虚拟机java的,会直接读取单斜杠
7. 查看端口占用情况
netstat -na 但不知道端口被谁占用
可以用ActivePort.exe软件查看
netstat -na | findstr 3306
查找指定端口有没有被占用
8. 设置默认根目录
==========================================================
默认根目录,浏览器访问网站时,不用再写目录名
方法一: 在server.xml中加入
<Context path="" docBase="e:\TestApp" />
方法二: 把工程放入webapps下,并一定要起名为ROOT
==========================================================
方法三: conf\Catalina\localhost\*.xml
Catalina是对应的引擎,有多少个引擎,在这就有多少个目录
Localhost 对应的是站点,有多少个站点,就有多少个目录,这个目录中又有多个xml配置文件,每个配置文件都对应一个Web应用程序。
在xml文件中写入<Context docBase="e:\test">元素,虚拟目录名字属性(path)不用写,虚拟目录名就是这个xml的文件名心理咨询师代考 心理咨询师答案
方法三在tomcat5.5中操作成***,在6中不推荐使用,但是也可以根据server.xml配置文件中的引擎,站点,web应用程序结构手工写入目录文件结构
9. 将项目打成war包
打成包的项目放到webapps下面不用解压,tomcat会将项目自动解压展开
打包后会自动生成META-INF文件夹
进入要打包的文件夹:jar -cvf webcontent.war .(点代表当前目录)
或者不进入文件夹:jar -cvf webcontent.war -C webcontent .
-C 代表改变目录
10. conf/web.xml通用配置文件
为所有的web应用程序进行配置,通用配置文件
配置默认网页(欢迎页面)
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
如果没找到对应的网页则打印文件列表报错
11. 批处理实例
batch 批@echo hehe 加@的作用是不会让echo命令显示出来或者直接设置@echo off ,整个批处理文件就不会显示命令变量要用双引号引起来 "%OS%"
12. 连接器
https协议支持加密,默认端口号为443
要支持https协议,需要加入连接器
在tomcat/conf/server.xml中存在一个元素:(默认被注释掉)
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
必须为这个连接器申请一个证书,这个证书由专门的机构颁发审核
产生一个证书用JAVA_HOME/bin/keytool命令查帮助文档,再将这个加入到连接器<Connector>元素
13. 对称加密和非对称加密
对称加密: 加密密码和解秘密密码相同
非对称加密:加密密码和解密密码不同,共钥加密的数据可以被私钥解密,私钥加密的数据也能被公钥解密,发钥的必须是个权威机构(CA)
根据要传输的数据计算出一个16位的128bit的一个数值,只要内容被改动一点,这个值就会被改变(很大的改变 www.ly-ang.com
数字签名,数字证书
15. SSL会话原理
将密码进行非对称加密,SSL会话过程中的加密处理是浏览器与服务器自动完成的