关于javaweb项目部署到服务器上,数据库内容无法显示到web界面上的问题解决方案
首先确定数据库能够正常连接且开启服务
# 下面以centos 7 作为展示,下面显示状态为active
$ systemctl status mariadb
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2019-09-07 17:37:57 CST; 1h 7min ago
Process: 24534 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 24371 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 24533 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─24533 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─24705 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-d..
# 观察mariadb的监听端口是否正常打开
$ sudo lsof -i:3306
如果正常打开,一般就跟tomcat的配置有关了
主要的配置内容为tomcat的server.xml(在centos下可以通过rpm -ql tomcat进行查找)
# 修改文件
$ vim /etc/tomcat/server.xml
在上面的文件中,有以下内容,由于我数据库中使用的编码格式是utf-8,而tomcat该部分的没有显式的配置使用的编码格式,所以造成数据无法显示。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxPostSize="-1" maxHttpHeaderSize="1024000" />
为此,在/etc/tomcat/server.xml的下面部分的末尾插入URIEncoding=“UTF-8”
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxPostSize="-1" maxHttpHeaderSize="1024000" URIEncoding="UTF-8"/>
修改完成后,重新启动tomcat,就能够正常访问了