zoukankan      html  css  js  c++  java
  • 【问题管理】-- Tomcat8部署项目加载静态资源html页面编码错误

    1.问题背景及解决方式

    最近在回顾Tomcat部署Web项目,自己简单地从Tomcat的下载安装及配置server.xml文件入手,学习Tomcat的项目部署,在自己使用IDEA创建了一个简单地web项目,并尝试将项目复制到Tomcat的安装运行目录下:.apache-tomcat-8.5.50webapps中,使用这种简单地拖放式管理来验证我项目的部署是否能被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格式

  • 相关阅读:
    ACM-超级楼梯
    clientt.c
    call.c
    answer.c
    aa.c
    client.c
    service.c
    自己动手开发jQuery插件
    apache-commons-net Ftp 进行文件、文件夹的上传下载及日志的输出
    在Eclipse中制作SSH配置文件提示插件
  • 原文地址:https://www.cnblogs.com/yif0118/p/12245306.html
Copyright © 2011-2022 走看看