您的位置:首页 > 运维架构 > Tomcat

安装tomcat遇到问题分析

2007-09-01 22:39 417 查看
安装环境xp+tomcat5.0+jdk1.4.2

配置了JAVA_HOME、CATALINA_BASE、CATALINA_HOME等环境变量

调用http://localhost:8080/

能够显示apache界面,表示安装成功

问题1

配置tomcat安装目录下的(C:/Program Files/Apache Software Foundation/Tomcat 5.0)

conf/server.xml

添加了一项<Context docBase="c:/OAS" path="/OAS" reloadable="true"/>

docBase为你的应用文件,path为你访问该应用的的url(例如http:localhost:8080/OAS)

部署了自己的web应

访问该http:localhost:8080/OAS/login.jsp时,发现提示login.jsp not aviable

解决方法: 把jdk下的lib下的所有jar拷贝到Tomcat 5.0/server/lib和/Tomcat 5.0/common/lib

重启动tomcat,解决问题

问题2

在后续的访问web过程中,发现调用有些javabean时,提示class的不匹配

解决方法:原来发现项目是用jbuilder2006做的,而jbuilder2006用的jdk是1.5

而tomcat在配置的时候用的是jdk是1.4

你可以选择jbuilder2006用1.4来编译你的相关的javabean然后拷贝过去,也可以选择升级你的tomcat的jdk

问题3

访问数据库的时候,总是提示找不到数据库的驱动

拷贝jdbc的相关jar到/WEB-INF/lib下,还是提示这个错误

后来把启动方式改为控制台的方式

运行cmd,调用tomcat安装目录/bin/下的的startup.bat 和tomcat5.exe即启动了tomcat

(基于控制台的启动,能找到你安装时配置的环境变量,一直没找到为什么会这么的相关的原因)

发现还是不能解决问题

后来索性把jdbc的相关jar拷贝到Tomcat 5.0/server/lib和/Tomcat 5.0/common/lib

重启动tomcat,解决问题

有时问题就是这么奇怪,明明有的机器这么做就可以,有的机器就是不可以

问题4

部署war

把war文件拷贝到tomcat安装目录下的webapp下

在server.xml添加一条

<Context path="/OAS" docBase="OAS.war" debug="0" privileged="true"/>

当然你也可以不把war拷贝到webapp下

但是你的docBase一定要写完整的路径

重启动tomcat5 一次成功,这次感觉比较happy

问题5

实现https方式

执行命令%Java_home%/bin/keytool -genkey -alias test -keyalg RSA

会让你填写一些信息的,当然你可以随便填写,但最重要的password

你可一定要自己记住你输入的是什么,最后输入完毕

将会生成一个.keystore的文件

文件会存放在你的用户的主目录下,不会在keytool的当前目录下存储

如果你找不到,那就用搜索好了啊,找找也快的啊

配置server.xml

<Connector port="8443"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" debug="0" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS" keystoreFile="C:/.keystore" keystorePass="123456" />

把tomcat的注释符"<!-- -->去掉"

在添加两个属性 keystoreFile="C:/.keystore" keystorePass="123456"

keystoreFile="C:/.keystore" 是你存储生成的.keystore的路径

keystorePass="123456" 这一属性是在调用命令keytool时,你自己设置的相关属性

重启tomcat

启动IE 输入https://localhost:8443/OAS/login.jsp

注意是https,相应的端口也改为了8443

问题6 解决url中文乱码

将收到的信息重新的生成一个新的String

String username=new String(request.getParameter("username").getBytes("iso-8859-1"),("gb2312")));

因为url用的是"iso-8559-1"两者编码不一致,固产生了乱码

问题7 解决用cos.jar第三方库时文件上传时文件名乱码

默认的方法: MultipartRequest mpr = new MultipartRequest(request,"c:/notice/",5*1024*1024);

改为 MultipartRequest mpr = new MultipartRequest(request,"c:/notice/",5*1024*1024,"gbk");

问题8 配置web应用的起始页

可能每次访问时,都要输入http://localhost:8080/OAS/login.jsp

那么能否输入http://localhost:8080/

答案是可以的

修改WEB-INF/web.xml

添加

<welcome-file-list>

<welcome-file>login.jsp</welcome-file>

</welcome-file-list>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: