Tomcat部署Java Web工程的一些心得总结

时间:2021-11-23 16:43:37

1、如果一台计算机上有多个版本的JDK,那么在startup Tomcat时,可能需要配置一下Tomcat使用的JDK,配置文件是bin\catalina.bat。其中默认的是echo Using JAVA_HOME %JAVA_HOME%,也就是计算机上配置的Java的环境变量。如果要使用别的JDK,这里需要改一下。同时bin\setclasspath.bat文件也要修改,set _RUNJAVA,set _RUNJAVAW,set _RUNJDB,set _RUNJAVAC都要做相应的修改。

2、在shutdown Tomcat时,可能出现Catalina.stop:java.net.ConnectException: Connection refused:connect。原因之一是超出最大链接数,要在conf\server.xml中配置一下,<Connectorport="8080"  maxThreads="150" minSpareThreads="25" maxSpareThreads="75" acceptCount="100" />,这里的maxThreads="150"表示最多同时处理150个连接,minSpareThreads="25"表示即使没有人使用也开这么多空线程等待 , maxSpareThreads="75"表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。acceptCount="100"当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。(参见http://123123ghiwjn.iteye.com/blog/339907)。

3、启动Tomcat时,可能会出现端口被占用的情况。如果想查看那个程序占用的该端口,先用netstat -aon|findstr "端口"找到占用端口的进程ID,tasklist|findstr"进程ID",找到该ID代表的程序,即占用某端口的程序。找到之后可以把这个进行干掉,当然也可以把Tomcat的端口换一个,修改conf\ server.xml中<Connector port=……>。

4、如果想输入IP直接到自己的主页,要更改conf\ server.xml。其中<host></host>有如下代码<Contextpath="" docBase="工程名"debug="0" reloadable="true" />。其中path的值为空,代表输入IP(当然要把端口改为80)就可以跳转到自己的工程;docBase是虚拟目录的路径,默认的是webapps/ROOT,这里要改成自己的工程名,当然,工程是要放到webapps下的,而这里的工程是eclipse中的WebRoot,WebRoot中是已经编译好的代码。还有conf\web.xml中的<welcome-file>我的JSP</welcome-file>也要改。

5、conf\server.xml中的<Context……workDir……/>会指定Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹。默认值是指向work文件夹的,但为了移植方便,通常会把这个目录指向某一工程内。