weixin_42261280 2008-09-05 17:21
浏览 261
已采纳

ehcache上了以后就出现乱码

web系统,基于spring 2.5和hibernate 3.2
系统先是好的,可是加了ehcache后,访问就出现乱码了

web.xml文件片段如下:
[code="xml"]

indexCacheFilter

net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter

<filter-mapping>
    <filter-name>indexCacheFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>

[/code]

ehcache.xml文件如下:
[code="xml"]
<?xml version="1.0" encoding="UTF-8"?>


maxElementsInMemory="10000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120" />

<cache 
    name="SimplePageCachingFilter" 
    maxElementsInMemory="10"
    maxElementsOnDisk="10" 
    eternal="false" 
    overflowToDisk="true"
    timeToIdleSeconds="120" 
    timeToLiveSeconds="120"
    memoryStoreEvictionPolicy="LFU" />


[/code]

就只动了这两个地方,页面就全是方块形的乱码了,请高手搭救,谢谢
[b]问题补充:[/b]
回lijie250,试了的,不行
[b]问题补充:[/b]
对了,发现后台报错:

2008-09-05 19:27:06,562 WARN [net.sf.ehcache.constructs.web.filter.CachingFilter
] - PageInfo was not ok(200). Putting null into cache SimplePageCachingFilter wi
th key /images/bl.pngnull
2008-09-05 19:27:06,578 WARN [net.sf.ehcache.constructs.web.filter.CachingFilter
] - PageInfo was not ok(200). Putting null into cache SimplePageCachingFilter wi
th key /images/b.pngnull
2008-09-05 19:27:06,578 WARN [net.sf.ehcache.constructs.web.filter.CachingFilter
] - PageInfo was not ok(200). Putting null into cache SimplePageCachingFilter wi
th key /images/br.pngnull
2008-09-05 19:27:06,593 WARN [net.sf.ehcache.constructs.web.filter.CachingFilter
] - PageInfo was not ok(200). Putting null into cache SimplePageCachingFilter wi
th key /images/r.pngnull
2008-09-05 19:27:06,593 WARN [net.sf.ehcache.constructs.web.filter.CachingFilter
] - PageInfo was not ok(200). Putting null into cache SimplePageCachingFilter wi
th key /images/tr.pngnull

  • 写回答

2条回答 默认 最新

  • qingfengyang_1 2008-09-08 10:55
    关注

    首先:

    indexCacheFilter

    *.do

    这个配置应该是不对的,除非你要缓存所有的额.do,如果你所有的页面都需要缓存,那你需要考虑一下静态化了,用ehcache缓存所有的页面是不正确的做法.

    理论上来说,一次请求真正涉及到filter的地方就是这个SimplePageCachingFilter,ehcache.xml中的配置应该没有什么关系,所以你要debug一下,看看其他页面是否也被SimplePageCachingFilter作了什么处理,如果请求被SimplePageCachingFilter作了处理,那么据我猜测,可能有以下几个原因:

    1,header中的encode不对,你在页面上换一下编码试试
    2,开启了gzip,而浏览器在解析的时候出错,你可以把gzip关闭

    而且从log日志上看到PageInfo was not ok(200). Putting null into cache SimplePageCachingFilter wi
    th key /images/tr.pngnull,
    这说明/images/tr.pngnull作了key放到了ehcache中,/images/tr.png应该是一张图片,而你的web.xml配置的是.do,这一点让人感到非常疑惑,你在仔细检查一下,最好debug一下,看看图片请求会不会进这个filter,如果进了就说明你的配置是有问题的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项