当前位置:首页 » 编程语言 » java页面静态化

java页面静态化

发布时间: 2022-08-09 11:25:36

1. 静态页面究竟是指什么

静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。静态页面不能自主管理发布更新的页面,如果想更新网页内容,要通过FTP软件把文件DOWN下来用网页制作软件修改(通过fso等技术例外) 常见的静态页面举例:.html扩展名的、.htm扩展名的。 注意:静态页面并非网站上没有动画的就是静态页面。
最早的时候,网站内容是通过在主机空间中放置大量的静态网页实现的。为了方便对这些分散在不同目录的静态网页的管理,(一般是通过FTP),象 frontpage/dreamweaver这样软件甚至直接提供了向主页空间以FTP方式直接访问文件的功能。以静态网页为主的网站最大的困难在于对网页的管理,在这种框架里,网页框架和网页中的内容混杂在一起,很大程度地加大了内容管理的难度。为了减轻这种管理的成本,发展出了一系列的技术,在笔者的理解中,甚至连css本身,原本也是针对这种乱七八糟的网页维护而设计的,目的就是把网页表达的框架和内容本身抽象分离出来。
[编辑本段]2 什么是动态页面
动态页面是通过执行asp,php,jsp,.net等程序生成客户端网页代码的网页。 动态页面通常可以通过网站后台管理系统对网站的内容进行更新管理。发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是动态网站的一些功能。也是我们常见的。 动态页面常见的扩展名有:.asp .php .jsp .cgi 等。 注意:动态页面的“动态”是网站与客户端用户互动的意思,而非网页上有动画的就是动态页面。
使用动态网页的技术是从几年前兴起,目前已经进入衰老期的网站技术,也是BS系统的核心技术。这种技术称为动态网页,就是因为一般是在共用的网页框架下面通过程序接口抽取放在数据库或其他存储媒体中的内容,从而真正实现了把网页框架和内容提取分离的目的。也就是传统中的php,asp,jsp,servlet等。这种技术的发展一直以逻辑反复抽象,直到把几乎所有的系统业务逻辑合并到各个组件、控件中,网页代码仅仅完成最后对象属性读取的任务。在JSP中,标签结合EL语言就是这种发展方向的极致了。这种技术实际上就是不同的(不限数量的)内容共用网页框架,从而将网页维护成本下降到接近可以忽略的程度。在这种技术面前,象 frontpage/dreamwever这种软件,实际上已经多少显得过时了。
[编辑本段]3为什么要动态页面静态化
但为什么现在又要把动态网页以静态网页的形式发布呢?一个很重要的原因,就是因为搜索引擎。由于搜索引擎对aspx页面收录和html页面收录率的差别以及页面资源占用问题,我们很多时候需要实现ASPX页面动态转静态。以目前互联网上最普通的查找资料的方式看,互联网内容到达受众面前大致只有三条路:第一条路是通过众所周知的门户网站,老读者有意识地到达这些地方搜索相应的有针对性的资料;第二条路是做广告,通过受众使用一些免费服务的机会夹带资料信息,把受众带到目标网站;第三条路是搜索引擎,通过关键字和其他因素,把相应的信息推介到受众的面前。实际上,即使是对门户网站,这也是带来新受众的最有效的途径;而对于绝大多数的站点,除了屈指可数的几个门户外,这种搜索引擎带来的读者受众,占了至少90%以上的比例。
如此重要的一条受众途径自然是不能忽略的,因此,尽管搜索机器人有点讨厌,各个网站不但不会再象从前一样把它封起来,反而热情无比地搞SEO,所谓的面向搜索引擎的优化,其中就包括访问地址的改写,令动态网页看上去是静态网页,以便更多更大量地被搜索引擎收录,从而最大限度地提高自已的内容被目标受众接收的机会。但是,在完全以动态技术开发的网站,转眼中要求变换成静态网页提供,同时,无论如何,动态网页的内容管理功能也是必须保留的;就如同一辆飞驶的奔驰忽然要求180度转弯,要付出的成本代价是非常大的,是否真的值得,也确定让人怀疑。

2. 关于java 关于网站(真)静态化和使用什么框

1.jsp要经过web容器解释,中间过程多。
2.公共类包使用流写出文件,难道freemarker不行?
3.普通的java app,非web app,直接读取数据,再加上freemarker模板,就能批量出页面了。在1中jsp那种里面,这个过程就是web容器做的。而2说的流写出文件,这个过程和那个有区别么?为了防止模板解析出错造成生成的文件有误,先输出到内存,没问题就内存中页面数据直接输出到文件。

3. Java,页面静态化是什么意思,怎么做的

JavaWeb可以利用第三方提供的模板引擎,如Velocity/FreeMarker来动态处理HTML,比JSP的各种标签要更高效简洁;
要静态话的话就是直接触发生成html或者任务触发生成html。一般是搭配CMS来实现,比说说某篇文章内容更新后直接调用静态化html服务来实现。

4. java设计网站

大部分是ajax,有些可能会有不同的封装,最底层都是XMLHttpRequest发起同步或异步请求,效率不会低的,比如说你用的网络,很多地方都是的。
但是需要SEO搜索引擎优化的就不是了,都是首先在后台生成html静态页面,浏览器客户端直接访问静态页,freemarker就是java中常用到做页面静态化的。
如果是freemarker,管理维护的话,你可以写定时任务,定时每天或者每小时重新生成静态页;也可以在后台做个静态页管理的模块,手工执行更新哪个模块的静态页等。

5. 有人会javaWeb页面的静态化吗

1、首页动态:删除根目录的index(注意别删了index.php),以后也不用手动去生成首页了。 2、栏目页动态:后台改选每个栏目的“栏目列表选项”为“使用动态”。 3、内容页动态:后台修改已生成的文章的“发布选项”为“仅动态浏览”。

6. 求Java入门视频教程《Java从入门到精通》视频教程由孙鑫老师,

Java私塾的视频很不错现在他们4周年庆,学费9折

7. Java web项目怎么实现动态页面的静态化有做过的给一些示例或者参考文档吧,谢谢!

public bool WriteFile(string ArticleTitle, string ArticleContent, string ArticleID)
{
string OutPutPath = HttpContext.Current.Server.MapPath("HTMLPage/");
Encoding encoding = Encoding.GetEncoding("gb2312");
// 读取模板文件
string ModelTemp = HttpContext.Current.Server.MapPath("ModelHTML.htm");
StreamReader sr = null;
StreamWriter sw = null;
string str = "";
try
{
sr = new StreamReader(ModelTemp, encoding);
str = sr.ReadToEnd(); // 读取文件
}
catch (Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}

string HtmlFilename = DateTime.Now.ToString("yyyyMMddHHmmss_") +ArticleID+ ".html";
// 替换内容
str = str.Replace("PageTitle", ArticleTitle); //模板页中的PageArticle
str = str.Replace("ArticleTitle", ArticleTitle);
str = str.Replace("ArticleContent", ArticleContent);
// 写文件
try
{
sw = new StreamWriter(OutPutPath+HtmlFilename, false, encoding);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;
}
这是好早以前,忘了什么意思,你领悟领悟

8. 如何在java中实现自动生成html

创建一个StringBuilder对象,通过append方法来为其添加html语句。
StringBuilder sb = new StringBuilder();
Properties fileProperties = getProperties("file");
Properties sqlProperties = getProperties("sql");
PrintStream printStream = new PrintStream(new FileOutputStream(
"report.html"));
sb.append("<html>");
sb.append("<head>");
sb.append("<title>每日运营报表</title>");
sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
sb.append("<style type=\"text/css\">");
sb.append("TABLE{border-collapse:collapse;border-left:solid 1 #000000; border-top:solid 1 #000000;padding:5px;}");
sb.append("TH{border-right:solid 1 #000000;border-bottom:solid 1 #000000;}");
sb.append("TD{font:normal;border-right:solid 1 #000000;border-bottom:solid 1 #000000;}");
sb.append("</style></head>");
sb.append("<body bgcolor=\"#FFF8DC\">");
sb.append("<div align=\"center\">");
sb.append("<br/>");
sb.append("<br/>");
List<Map<String, Object>> result1 = getRpt(sqlProperties
.getProperty("sql1"));
for (Map.Entry<String, Object> m : result1.get(0).entrySet()) {
sb.append(fileProperties.getProperty("file1"));
sb.append(m.getValue());
}
sb.append("<br/><br/>");

输出
sb.append("</div></body></html>");
printStream.println(sb.toString());

9. java 动态页面如何静态化显示。目的是为了减小数据访问的压力。

设置一个代理。里面存着,页面要的数据,动态页的数据从他获取。而这个代理会定时向 数据库更新数据

热点内容
怎样建立算法 发布:2025-01-21 12:12:14 浏览:838
凸包的graham算法 发布:2025-01-21 12:00:00 浏览:146
jsonobject转java对象 发布:2025-01-21 12:00:00 浏览:306
macpython3默认 发布:2025-01-21 11:58:26 浏览:261
芒果服务器是什么意思 发布:2025-01-21 11:57:54 浏览:40
微信聊天服务器错误什么意思 发布:2025-01-21 11:56:13 浏览:460
linuxtomcat不能访问 发布:2025-01-21 11:47:11 浏览:394
刷新器需要什么配置 发布:2025-01-21 11:09:28 浏览:972
jedis源码 发布:2025-01-21 11:08:24 浏览:890
edm数据库 发布:2025-01-21 11:05:54 浏览:371