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

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 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法