tomcat使用教程

来源:互联网 发布:如何配置c语言环境 编辑:程序博客网 时间:2024/05/20 23:05
1APR
The APR based Apache Tomcat Native library which allows optimal performance 
in production environments was not found 
on the java.library.path: C:\Program Files (x86)\Java\jdk1.7.0_65\bin;

未解决:


2 ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@2f86a4')

未解决:




3 The web application [/tollrate-api] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to 
unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
解决:
tomcat的内存不够啊,当多人并发访问的时候,tomcat 黑框,闪一下就挂了。
增加内存:
方法1 :可视化(貌似用start.sh启动完全没用)
进入bin目录
1 service.src install(uninstall 卸载)
2 双击 tomcat7w.exe 更改。


方法2:
txt格式打开%TOMCAT_HOME% /bin/Catalina.bat
在最上面加入一行:
set JAVA_OPTS=-Xms1024m -Xmx1024m


查看更改结果:
配置user:
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="admin" password="admin" roles="manager-gui"/>
</tomcat-users>
 
登陆:
localhost:8080/manager/status
admin  admin 
可以看到当前 
tomcat的内存情况




4 为部署项目前的tomcat的 localhost:8080访问到主页是正常的,放部署完项目以后,就会出现如下错误,但是服务仍然正常访问。

1 HTTP Status 500 - java.lang.ClassCastException: org.apache.jasper.runtime.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl

2 配置的工程中说spring的ApplicationContext.xml找不到、。。。
在tomcat的contex.xml中添加<Loader delegate="true"/> ,就OK了。

最后,说一下delegate配置的意义。
True,表示tomcat将遵循JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader无法加载成功,会继续向自己的父类委托,一直到BootstarpClassLoader,如果都没有加载成功,则最后由WebAppClassLoader自己进行加载。
False,表示将不遵循这个delegate机制,即WebAppClassLoader在加载类文件时,会优先自己尝试加载,如果加载失败,才会沿着继承链,依次委托父类加载。

传送门:http://www.suiyiwen.com/question/4411

3 占用端口进程查找

windows :netstat -ano//找到占用端口的进程,找到pid任务管理中:找到pid对应的进程 kill掉


tomcat中文乱码

1 数据在代码(断点)中获得正常,但是在插入sqlserver的时候出现乱码。

原因:在tomcat--conf/server.xml   端口开启的地方增加URIEncoding="UTF-8"

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>


2java和javac 可用 且 java目录设置正常的情况下 

tomcat 无法加载JAVA_HOME 或者 JRE_HOME(cmd中运行)

这个提示信息在 tomcat/bin/setclasspath.bat 中产生

调用顺序为startup.bat-->catalina.bat-->setclasspath.bat(bat里面有写)

在setclasspath.bat 27行,手动写入JAVA_HOME和JRE_HOME的绝对路径

rem set the JAVA_HOME and JRE_HOME by ningke

set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_65

set JRE_HOME=C:\Program Files (x86)\Java\jdk1.7.0_65\jre


rem Make sure prerequisite environment variables are set


然后就OK了


0 0
原创粉丝点击