java web 项目,想在jsp中随时取到一些公共数据, 怎么做?

java web 项目,想在jsp中随时取到一些公共数据, 怎么做?

千纸鹤带着心事 发布于 2021-11-25 字数 109 浏览 933 回复 16

我在做一个高校社团交流系统,使用spring + spring mvc + hibernate + shiro + sitemesh + maven,现在是这个样子的,

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(16

奈何桥上唱咆哮 2021-12-01 16 楼

缓存是最佳解决方案

离不开的别离 2021-12-01 15 楼

现在改了,以后就不用大改了,现在不改,以后肯定会是个麻烦事。

裸钻 2021-12-01 14 楼

@change_solider 我意思增加个缓存的话你现在 的代码不需要太大变动

等你爱我 2021-12-01 13 楼

回复
是,不需要大改,

为你鎻心 2021-12-01 12 楼

缓存的话你不需要改变现有的代码啊

把回忆走一遍 2021-12-01 11 楼

我觉得,还是做缓存比较好,

已下线请稍等 2021-12-01 10 楼

回复
这里面的逻辑都可以加上缓存的

小情绪 2021-12-01 9 楼

回复
哦,你是说自己写tag , 在tag里再做缓存是吧?

巡山小妖精 2021-12-01 8 楼

回复
是的

静谧 2021-12-01 7 楼

这简单,Java真是太灵活了,思路太多了。我是用JSP里的tag就好了,比如HTML里这么用

<dot:query table="link" condition=" 1 "  item="links" />
<c:forEach items="${links}" var="link">
<li class="linkli">
<img src="upload/${link.link_pic}">
</li>
</c:forEach>

 tag的定义如下,可见使用很简单,tag里可以有缓存逻辑

public class DomainTag extends SimpleTagSupport {
	
	private String table;//表名,必须字段
	private Integer id;//主键,可以为空
	private String condition;//条件,可以为空,但 id和condition字段不能同时胃口
	private String item;//标签属性,指定迭代集合元素,为集合元素指定的名称,必须
	private String order;//排序方式,可为空
	private String limit;//条数,可为空
	
	public void doTag() throws JspException, IOException {
             //......
           }

          }

也可以放到在JSP里直接调service,数据放request里。

还可以在filter里处理公共变量,放application里。

。。。总之,太多做法了,都不用使用model.setAttribute("asdf","asdf");

回忆凄美了谁 2021-12-01 6 楼

想简单, 你自己写个数据结构类,从库里读取填充, 再放到map里面,再放到application里, 随用随取 .

三月梨花 2021-12-01 5 楼

ehcache 缓存你需要的数据

流心雨 2021-12-01 4 楼

缓存层用什么实现比较好呢?

左岸枫 2021-11-30 3 楼

回复
如果是一些比较小的数据,更新不频繁的,用memcache,如果数据结构比较复杂用redis

飘过的浮云 2021-11-30 2 楼

好的,谢谢啦。

眼眸 2021-11-29 1 楼

这种系统,访问量,并发量并不会很高,所以 数据库前面加个缓存层就行了,这样ajax请求就不会每次去读库了。