盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

用Java完成可保存状态的数据库生成XML树(4)

时间:2024/10/10作者:未知来源:盾怪网教程人气:

[摘要]4.5.构造生成点击树型XMl显示详细节点内容的Servlet在点击树的树杈节点时,会使当前点击节点发生变化,这种变化会要反映到节点的详细状态信息显示上,这种页面之间的通讯在这里是通过改变cooki...
4.5.构造生成点击树型XMl显示详细节点内容的Servlet
在点击树的树杈节点时,会使当前点击节点发生变化,这种变化会要反映到节点的详细状态信息显示上,这种页面之间的通讯在这里是通过改变cookie中的点击对象的值来传递的,使用这种方式的原因有:
一,处理反应快,因为只是对客户端的cookie进行一些简单的读写操作,避免了一些较为烦琐,耗时的通讯和服务器处理过程;
二,对点击的安全性要求不高,点击对象是显式操作的,没有敏感的客户信息和服务器信息,所以是可以保存在客户端的cookie中的;
三,代码编写,维护较为简单,在点击页面中只是需要用javascript把点击对象写入cookie中,再刷新节点详细显示页面即可,在节点详细显示页面也只是节点向服务器重新请求一次该页面;
实现节点详细信息的页面的主体仍是由XMLServlet生成的XML树,实现XSL模版的是Servlet XMLTreeXSL,该XSL主要是在XML提取符合要求的节点,显示节点的详细信息,并把节点的最近子节点的详细信息显示出来,确认符合要求的节点是通过提取客户端浏览器cookie中的点击对象记录得到的.所以该Servlet完成两部分任务,读取浏览器cookie然后书写XSL.下面是对该Servlet代码的主要分析:

/**读取cookie和书写XSL*/
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
/**确认有XML树需要进行模版转换,通过Session中是否含有Sessionbean来确认*/
HttpSession session=request.getSession();
if( session.getAttribute("ResultEditHandle")==null) {
flag=false;
}
else {
flag=true;
}
if (flag) {
/**cookie中可能含有多个子cookie信息,用一个数组保存多个cookie*/
javax.servlet.http.Cookie cookies[] = request.getCookies();
String t_click_id = null;
/**书写XSL还需要遵循XML书写规范,标签要一一对应*/
response.setContentType(CONTENT_TYPE);
out = response.getWriter();
out.println(CONTENT_XSL);
out.println("<xsl:template match=\"/\">");
out.println("<HTML>");
out.println("<HEAD><STYLE>body{FONT-SIZE: 10pt;}</STYLE></HEAD>");
/**select=”//node”是对所有的node进行访问,而不仅仅局限于顶层的node*/
out.println("<BODY><xsl:apply-templates select=\"//node\"/></BODY></HTML></xsl:template>");
if ((cookies == null)

关键词:用Java完成可保存状态的数据库生成XML树(4)




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版