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