问题处理基本功:Tomcat8部署项目加载静态资源html页面编码错误

1.问题背景及解决方式

最近在回顾Tomcat部署Web项目,自己简单地从Tomcat的下载安装及配置server.xml文件入手,学习Tomcat的项目部署,在自己使用IDEA创建了一个简单地web项目,并尝试将项目复制到Tomcat的安装运行目录下:.\apache-tomcat-8.5.50\webapps中,使用这种简单地拖放式管理来验证我项目的部署是否能被Tomcat服务器带动并访问,于是我创建了一个oa命名的项目,访问hello.html页面,项目如下:

问题处理基本功:Tomcat8部署项目加载静态资源html页面编码错误_第1张图片

.html文件是IDEA自动生成的HTML4文件格式,在当中我添加了与中的标签页。

创建好oa项目之后,我将此项目存放在我Tomcat的webapps目录下托管:

问题处理基本功:Tomcat8部署项目加载静态资源html页面编码错误_第2张图片

我在Tomcat的安装bin目录中点击startup.bat运行项目之后,在google浏览器中打开并访问我的hello.html页面,尴尬的一幕发生了,页面显示出现了乱码:

问题处理基本功:Tomcat8部署项目加载静态资源html页面编码错误_第3张图片

于是在网上找了一些解决方案,最终自己解决了这个问题,感谢CSDN博客博主经验分享:

https://blog.csdn.net/jjarchu/article/details/89575277,本文的问题基于该博客做参考,并结合自己实际的问题背景进行问题总结。

具体解决方案如下:

① 首先,我在Tomcat配置文件server.xml中的启动默认端口8080与重定向端口8443处添加了:URIEncoding=“UTF-8” ;

问题处理基本功:Tomcat8部署项目加载静态资源html页面编码错误_第4张图片

在这里插入图片描述

这个因为原来默认的Tomcat8的server.xml文件中是没有添加这个”UTF-8”的编码的,但是很多地方web访问的话都需要,所以直接加上,但是添加之后重启startup.bat继续访问页面,发现问题并没有得到解决,依然是这个错误编码页面:

问题处理基本功:Tomcat8部署项目加载静态资源html页面编码错误_第5张图片

② 之后我借鉴了博文中的第一点,修改了我本来hello.html中的H4页面配置,添加了:

之后,再次重启Tomcat并访问页面,问题得到解决:

2.问题解决方案总结

这里来总结一下Tomcat访问静态资源如.html、.jsp文件容易遇到的编码问题的解决方法,汇总一下,便于查询:

1.方式一:

在原本的.html文件中添加:

2.方式二:

在Tomcat8的安装目录server.xml中的启动默认端口8080与重定向端口8443处添加了:URIEncoding=“UTF-8” ;

问题处理基本功:Tomcat8部署项目加载静态资源html页面编码错误_第6张图片

3.方式三:

在web.xml文件中设置编码:

<mime-mapping>
<extension>htmextension>
<mime-type>text/html;charset=UTF-8mime-type>
mime-mapping>
<mime-mapping>
<extension>htmlextension>
<mime-type>text/html;charset=UTF-8mime-type>
mime-mapping>

4.方式四:

如果是IDE启动,设置启动参数 Debug configurations->tomat 8.0->argument

-Dfile.encoding=UTF8;

如果是Tomcat服务形式启动,设置catalina.bat

set “JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%” -Dfile.encoding=UTF8

5.方式五:

将文件用记事本或者EditPlus打开,另存为UTF-8格式

本文转载自:
https://www.cnblogs.com/yif0118/p/12245306.html

你可能感兴趣的:(问题处理,tomcat,spring,html,html5,bug)