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

.html文件是IDEA自动生成的HTML4文件格式,在当中我添加了<title>与<body>中的标签页。
创建好oa项目之后,我将此项目存放在我Tomcat的webapps目录下托管:

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

于是在网上找了一些解决方案,最终自己解决了这个问题,感谢CSDN博客博主经验分享:
https://blog.csdn.net/jjarchu/article/details/89575277,本文的问题基于该博客做参考,并结合自己实际的问题背景进行问题总结。
具体解决方案如下:
① 首先,我在Tomcat配置文件server.xml中的启动默认端口8080与重定向端口8443处添加了:URIEncoding="UTF-8" ;


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

② 之后我借鉴了博文中的第一点,修改了我本来hello.html中的H4页面配置,添加了:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">之后,再次重启Tomcat并访问页面,问题得到解决:


2.问题解决方案总结
这里来总结一下Tomcat访问静态资源如.html、.jsp文件容易遇到的编码问题的解决方法,汇总一下,便于查询:
1.方式一:
在原本的.html文件中添加:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2.方式二:
在Tomcat8的安装目录server.xml中的启动默认端口8080与重定向端口8443处添加了:URIEncoding="UTF-8" ;


3.方式三:
在web.xml文件中设置编码:
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html;charset=UTF-8</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=UTF-8</mime-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格式
【问题管理】-- Tomcat8部署项目加载静态资源html页面编码错误的更多相关文章
- nginx反向代理部署springboot项目报404无法加载静态资源
问题:nginx反向代理部署springboot项目报404无法加载静态资源(css,js,jpg,png...) springboot默认启动端口为8080,如果需要通过域名(不加端口号)直接访问s ...
- flask模板应用-加载静态文件:添加Favicon,使用CSS框架,使用宏加载静态资源
加载静态文件 一个Web项目不仅需要HTML模板,还需要许多静态文件,比如CSS.JavaScript文件.图片和声音声.在flask程序中,默认需要将静态文件存储在与主脚本(包含程序实例的脚本)同级 ...
- Django的urls.py加载静态资源图片,TypeError: view must be a callable or a list/tuple in the case of include().
Django的urls.py加载静态资源图片,TypeError: view must be a callable or a list/tuple in the case of include(). ...
- Thymeleaf模板引擎绕过浏览器缓存加载静态资源js,css文件
浏览器会缓存相同文件名的css样式表或者javascript文件.这给我们调试带来了障碍,好多时候修改的代码不能在浏览器正确显示. 静态常见的加载代码如下: <link rel="st ...
- Flask之加载静态资源
Flask之加载静态资源 1.加载css样式 <link rel="stylesheet" href="{{ url_for('static',filename=' ...
- 关于springboot2.*版本无法加载静态资源
前言 在学习springboot的过程中,发现无法引用静态资源.我使用的是springboot2.2.1版本. 追溯源码,终于解决.并记录下解决思路. 默认加载路径 首先得知道springboot默认 ...
- 页面性能优化:preload预加载静态资源
本文主要介绍preload的使用,以及与prefetch的区别.然后会聊聊浏览器的加载优先级. preload 提供了一种声明式的命令,让浏览器提前加载指定资源(加载后并不执行),在需要执行的时候再执 ...
- Tomcat 部署项目无法加载静态资源
首先,我的Eclipse是引用外部的Tomcat 引用外部Tomcat会在左侧生成一个Server文件夹,相当于复制了一份Tomcat到Eclipse的安装目录里 具体Tomcat所在目录可以在这进行 ...
- Spring 加载静态资源
<mvc:default-servlet-handler/> JSP 中通过标签加载js文件或者link标签加载css文件等静态资源时要在springmvc的xml文件中配置以上设置请求就 ...
随机推荐
- 安装pymongo
cd /usr/local/src wget --no-check-certificate https://pypi.python.org/packages/source/p/pymongo/pymo ...
- Django学习之ORM练习题
一.表关系 创建表关系,并创建约束 班级表:class 学生表: student cid caption grade_id sid sname gender class_id 1 一年一班 1 1 乔 ...
- Django 学习之From组件
一.Form组件介绍 Form组件可以做的几件事情: 1.用户请求数据验证 2.自动生成错误信息 3.打包用户提交的正确信息 4.如果其中有一个错误了,其他的正确这,保留上次输入的内容 4.自动创建i ...
- 设计模式课程 设计模式精讲 8-8 单例设计模式-Enum枚举单例、原理源码解析以及反编译实战
1 课堂解析 2 代码演练 2.1 枚举类单例解决序列化破坏demo 2.2 枚举类单例解决序列化破坏原理 2.3 枚举类单例解决反射攻击demo 2.4 枚举类单例解决反射攻击原理 3 jad的使用 ...
- 利用kali自带的msfvenom工具生成远程控制软件(木马)
2.生成一个简单的木马 3. 4. 5. 6.接下来生成的winx64muma.exe实际演示 7.将生成的winx64muma.exe在受害者机器上运行 8.在kali下输入msfconsole 9 ...
- java并发:interrupt进程终止
interrupt进程终止 interrupt()源码 /** * Interrupts this thread. * * <p> Unless the current thread is ...
- Javaweb实现简单的选课系统(主要技术包括jsp、Servlet、Javabean)
一.背景信息: 首先,这个选课系统是上周一老师在课堂上让我们做的测试,考试时长三个小时,我只做了一半,也没有实现选课流程. 由于上周忙于写实验报告没有时间继续完成这个测试.这周用前天和昨天一共七个小时 ...
- Jquery设置完颜色后hover不生效的解决办法
执行完代码后发现写在样式表中的hover效果失效,改了好几遍差点重新写函数,后来发现很简单,是优先级的问题,css()中的内容覆盖了之前的样式 只需要在样式后写!important即可解决! .fil ...
- 记录下spingboot连接阿里云服务器上的MySQL数据库报错
错误大概如下: create connection SQLException, url: jdbc:mysql://'IP地址':3306/code007?useUnicode=true&ch ...
- 如何借助 Python 俘获女孩子芳心?
责编 | 刘静 天气降温,感情却升温了? 上午刚到公司,就收到小Q发来的灵魂拷问: “Q仔!要不然下午请个假!我带你去精神科看看!?”我实在忍不了,脱口而出. 话音未落,前排的运营小花回头看向 ...