WebcatEE 常见问题
MySQL 驱动问题
已知: 6.x.x, 8.0.18 版本的驱动在查询数据库表时,会返回当前MySql实例的所有数据库的表;
MySql 官方的驱动很多个版本都有各种各样的BUG, 强烈建议使用 5.1.47, 5.1.48, 5.1.49 这几个版本的驱动。
MySQL 数据库不显示表的数据行数和容量
请正确配置数据库的 schema
Oracle 不显示表
请正确配置数据库的 schema
提交数据中文乱码
请修改 TOMECAT_HOME\conf\server.xml, 添加 URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
数据库中文乱码
请正确设置数据库的字符集
Tomcat日志输出乱码。
一般发生在中文环境的 Windows 操作系统上,且操作系统的默认文件编码为 GBK。
# TOMCAT_HOME/conf/logger.properties
java.util.logging.FileHandler.encoding=GBK
帮助文档中文乱码
TOMCAT_HOME/conf/web.xml, 添加 fileEncoding 参数
修改完之后重启Tomcat,然后强制刷新页面或者清空浏览器缓存再次访问。帮助文档是静态页面,Tomcat默认会对静态文件做缓存设置。
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
CSV 导出文件用 Excel 打开中文乱码
中文操作系统环境下,请使用文本编辑器将 CSV 文件编码修改为 GBK,或者在导出时选择文件编码:GBK
Linux上Tomcat启动慢的解决办法
有两种解决办法:
1)在Tomcat环境中解决
# 可以通过配置JRE使用非阻塞的Entropy Source。
# 在catalina.sh中加入java启动选项:
-Djava.security.egd=file:/dev/./urandom
2)在JVM环境中解决
# $JAVA_PATH/jre/lib/security/java.security
securerandom.source=file:/dev/urandom
# 替换成
securerandom.source=file:/dev/./urandom
Oracle 连不上
Windows 环境请先检查防火墙,telnet 一下 Oracle 的端口号看通不通。
如果不是防火墙的原因,请先百度: Oracle SID SERVICE_NAME, 搞清楚 SID 与 SERVICE_NAME 的区别。
Oracle 连接的三种方式,确保 WebcatEE 后台填写的URL是正确的:
jdbc:oracle:thin:@//<host>:<port>/<service_name>
jdbc:oracle:thin:@<host>:<port>:<SID>
jdbc:oracle:thin:@<TNSName>
其他任何数据库服务连不上
a. 先检查防火墙,确保不是防火墙的问题;
b. 确认所使用的驱动版本,尽量使用 Type4 的驱动,Type2的驱动一般会要求客户端安装数据库客户端程序。
c. 检查连接信息填写是否正确,如有可能请咨询 Java 开发人员或者搜索 JDBC URL。
d. 使用其他客户端工具连接一下试试,确保数据库服务器是运行的且连接正常。
WebcatEE 安装和启动均正常,但是查询时报502错误
a. 检查是否开启了防火墙,防火墙是否有反SQL注入功能;如果有参考《防火墙和SQL注入》文档。
b. 检查是否使用了Nginx或者其他反向代理软件,如果有查看是否开启了反SQL注入功能;如果有参考《防火墙SQL拦截》文档。