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页面编码错误的更多相关文章

  1. nginx反向代理部署springboot项目报404无法加载静态资源

    问题:nginx反向代理部署springboot项目报404无法加载静态资源(css,js,jpg,png...) springboot默认启动端口为8080,如果需要通过域名(不加端口号)直接访问s ...

  2. flask模板应用-加载静态文件:添加Favicon,使用CSS框架,使用宏加载静态资源

    加载静态文件 一个Web项目不仅需要HTML模板,还需要许多静态文件,比如CSS.JavaScript文件.图片和声音声.在flask程序中,默认需要将静态文件存储在与主脚本(包含程序实例的脚本)同级 ...

  3. 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(). ...

  4. Thymeleaf模板引擎绕过浏览器缓存加载静态资源js,css文件

    浏览器会缓存相同文件名的css样式表或者javascript文件.这给我们调试带来了障碍,好多时候修改的代码不能在浏览器正确显示. 静态常见的加载代码如下: <link rel="st ...

  5. Flask之加载静态资源

    Flask之加载静态资源 1.加载css样式 <link rel="stylesheet" href="{{ url_for('static',filename=' ...

  6. 关于springboot2.*版本无法加载静态资源

    前言 在学习springboot的过程中,发现无法引用静态资源.我使用的是springboot2.2.1版本. 追溯源码,终于解决.并记录下解决思路. 默认加载路径 首先得知道springboot默认 ...

  7. 页面性能优化:preload预加载静态资源

    本文主要介绍preload的使用,以及与prefetch的区别.然后会聊聊浏览器的加载优先级. preload 提供了一种声明式的命令,让浏览器提前加载指定资源(加载后并不执行),在需要执行的时候再执 ...

  8. Tomcat 部署项目无法加载静态资源

    首先,我的Eclipse是引用外部的Tomcat 引用外部Tomcat会在左侧生成一个Server文件夹,相当于复制了一份Tomcat到Eclipse的安装目录里 具体Tomcat所在目录可以在这进行 ...

  9. Spring 加载静态资源

    <mvc:default-servlet-handler/> JSP 中通过标签加载js文件或者link标签加载css文件等静态资源时要在springmvc的xml文件中配置以上设置请求就 ...

随机推荐

  1. RabbitMQ通过http API获取队列消息数量等信息

    参考 RabbitMQ提供了HTTP API手册,发现其中有获取队列情况的API.(本地的API手册地址为:http://localhost:15672/api) 所有API调用都需要做权限验证,需在 ...

  2. VUe for循环if 的使用和函数的使用 (笔记)

    结果如图: 代码html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  3. redis之常见操作

    目录 redis的常见操作 1. redis客户端登录方式 2. 设置密码 3. 获取redis的配置 4. redis键(key) 语法 实例 Redis keys (黄色为重点) redis的常见 ...

  4. 代理实现aop以及代理工厂实现增强

    一.静态代理实现 1.接口(抽象主题) 2.接口的实现类(真实主题) 3.代理类(代理主题) 4.测试类: ApplicationContext context=new ClassPathXmlApp ...

  5. Python学习笔记之基础篇(四)列表与元祖

    #### 列表 li = ['alex','wusir','egon','女神','taibai'] ###增加的3种方法 ''' # append li.append('日天') li.append ...

  6. 如何确定Redis集群中各个节点的主从关系

    1.首先通过命令(以192.168.203.141为例,-c代表集群的意思) ./redis-cli -h 192.168.203.141 -p 8001 -c 2.然后在输入  cluster no ...

  7. require - 引入文件

    导入 /** * Creates the node for the load command. Only used in browser envs. */ req.createNode = funct ...

  8. taucs库的使用方法(VS2012)

    第一步:到taucs主页下载taucs,我下载的是:Version 2.2 of the code, with external libraries 第二步:在visual studio tools下 ...

  9. 使用SpringMVC时,web应用的资源路径问题

    web应用常见的资源存方式 在WEB-INF下新建lib,存放要使用的jar包 在WEB-INF下新建jsp文件夹,存放jsp文件.首页除外,首页就放到web下. 在web下,或WEB-INF下,新建 ...

  10. 「PA2014」Kuglarz

    传送门 memset0好评 解题思路 其实这是一道图论题 不难发现,如果知道了 \(\sum1...i\) 和 \(\sum1...j\) 的奇偶性,那么就可以得知 \(\sum i+1...j\) ...