Java-java生成静态页面

发布于 2016-10-17 20:12:23 字数 212 浏览 1129 评论 2

现在有300万的数据量,要想生成300万个静态页面速度太慢,我考虑的是用url伪静态来做这块的,第一次访问一条记录时生成一个静态页面,第二次访问则直接访问静态页面,对于没有访问过的页面就没必要生成静态页面了。如果有更新操作的话把本地缓存中ID号删除,然后再生新访问一次页面,做为第一次访问,重新生成单个静态页面。请问有没有这方面的办法,有实例最好,纠结中。我的邮箱:314204475@qq.com,谢谢各位了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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

评论(2

瑾兮 2017-08-18 12:46:21

不知道。你用的是伪静态。还是生成静态页面。
如果用的是伪静态。可下载urlrewrite-3.2.0.jar
在页面web.xml 加<filter>

<filter-name>UrlRewriteFilter</filter-name>

<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>

<filter-mapping>

<filter-name>UrlRewriteFilter</filter-name>

<url-pattern>/</url-pattern>
<dispatcher>REQUEST</dispatcher>

<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/
</url-pattern>
<dispatcher>REQUEST</dispatcher>

<dispatcher>FORWARD</dispatcher>
</filter-mapping>

WEB-INF下加urlrewrite.xml
<rule>
<from>^/([a-z]+)/content-(d+)-(d+).html$</from>
<to type="forward">$1!getContentById.action?pid=$2&id=$3</to>
</rule>

晚风撩人 2017-01-12 07:33:56

解决了,发现一次性生成速度太慢了,现在做了id的缓存,第一次访问的时候,如果缓存里面没有这个id的话就会生新建立一个当前ID的静态页面,并存入缓存
具体是这样的:用户访问页面,当前没有ID号对应的静态页面,则生成。有则访问。
这样的好处是我不用每次都去生成页面了,即使静态页面都没了,直接让用户访问就会生成一个。

这个根据时间目录来生成以ID号命名的id.html很好用,只要每次读一下缓存就可以判断是否有这个值,速度很快。。在这里分享一下心得以及经验。。希望对各位有用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文