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 plotBAPC画图出错
  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理