SpringMVC跳转到html页面以及Controller返回html页面的乱码问题

一、SpringMVC跳转到html页面
  1、自定义视图解析器:
     public class CustomResourceView extends InternalResourceView {
        @Override
        public boolean checkResource(Locale locale) throws Exception {
             File file=new File(this.getServletContext().getRealPath("/")+getUrl());
              return file.exists(); //判断页面是否存在
        }
     }
    2、在dispatcherServlet-config.xml文件中配置视图解析器:
              <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="viewClass" value="ssm.tools.CustomResourceView"/>
          <property name="prefix" value="/WEB-INF/jsp/"/>
          <property name="suffix" value=".jsp"/>
          <property name="order" value="1"/>
        </bean>
        <bean id="htmlViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
           <property name="viewClass" value="ssm.tools.CustomResourceView"/>
           <property name="prefix" value="/WEB-INF/html/"/>
           <property name="suffix" value=".html"/>
                     <property name="order" value="2"/>
        </bean>
 
二、Controller返回html页面的乱码问题:在web.xml文件中配置字符编码过滤器
            <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
           <param-name>encoding</param-name>
           <param-value>UTF8</param-value>
        </init-param>
        <init-param>
           <param-name>forceEncoding</param-name>
           <param-value>false</param-value>
         </init-param>
       </filter>
       <filter-mapping>
          <filter-name>characterEncodingFilter</filter-name>
          <url-pattern>*.html</url-pattern>
       </filter-mapping>
       <filter-mapping>
          <filter-name>characterEncodingFilter</filter-name>
          <url-pattern>*.jsp</url-pattern>
       </filter-mapping>
posted @   #独狼  阅读(8760)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示