e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 程序开发 >> JSP教程 >> 如何利用xml,javascript绕开applet的安全问题 >> 教程正文
 
教程搜索
 
 
相关教程
  • JSP分页技术实现
  • 使用XML封装数据库操作语
  • 结合”XML封装数据库操作
  • 如何使用XML实现多渠道接
  • 深入浅出taglib
  • 在JSP中编写你的第一个Ta
  • 用Java实现Web服务器
  • 如何利用xml,javascr
  • 缓存JSP显示的内容
  • 关于JAVA的分页查询操作技
  • 漫步j2ee之jsp技术(1)
  • 漫步j2ee之jsp技术(2)
  • Portlet应用开发(Portlet
  • 如何用jsp输出存在于orac
  • Servlet设计
  • 用servlet显示图片
 
 
赞 助 商
 
 
如何利用xml,javascript绕开applet的安全问题
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9

关键词:applet,jsp,xml,javascript

相对于html而言,applet具有较高的用户交互性,如果在局域网这种高速网络环境下要实现比较丰富的用户界面的话,applet也是一种不错的选择。可是,由于applet的种种安全方面的限制,比如在缺省安全策略下,它不可以使用jdbc,不可以进行文件io操作等等。其实,如果你是在jsp或者asp中使用applet的话,问题就好办多了。我们可以利用asp或者jsp访问数据库,把获得的数据组装成xml字符串,传给applet,这样就解决了applet的数据来源问题。读者也许会问,如何把用户对applet的操作转化为对数据库等资源的操作呢,我们可以采用一种更简单的办法,就是利用applet中调用javascript函数,利用发送http请求的方式,把用户对applet的操作结果作用于数据库等资源。下面我给出一些示意性的代码。

1.jsp页面中传送xml给applet示意性代码

  1. <%@ page contentType="text/html; charset=GB2312" %>
  2. <%@ page import ="com.jagie.business.organization.*"%>
  3. <%@ page import ="com.jagie.utils.StringUtil"%>
  4. <%
  5. //jsp调用javabean,查询数据库,组装成xml字符串
  6. String xmlString=NodeOperator.getXmlString();
  7. //把xml字串中的双引号换成单引号,这一步非常重要。否则在
  8. //applet接受参数的时候,导致字符串断裂。你浏览器中察看一下
  9. //jsp生成的html代码就明白了。
  10. xmlString=StringUtil.replaceStr(xmlString,"\"","'");
  11. %>
  12. <html>
  13. <body bgcolor="#ffffc0">
  14. <jsp:plugin type="applet"
  15. code="com.jagie.business.organization.NodeApplet.class" codebase="."
  16. archive = "Oil.jar" >
  17. <jsp:params>
  18. <jsp:param name="xmlString" value="<%= xmlString %>" />
  19. </jsp:params>
  20. <jsp:fallback>
  21. <p>Unable to load applet</p>
  22. </jsp:fallback>
  23. </jsp:plugin>
  24. </body>
  25. </html>

2.applet中接受xml数据的示意性代码

  1. public

    void init()
  2. {
  3. String xmlString=getParameter("xmlString");
  4. // System.err.println("从参数中获得的xml字串:"+xmlString);
  5. try
  6. {
  7. //利用xml生成可视化组件
  8. jbInit(xmlString);
  9. }
  10. catch (Exception e)
  11. {
  12. e.printStackTrace();
  13. }
  14. }

3.applet调用javascript函数的例子

  1. public void valueChanged(TreeSelectionEvent event){
  2. TreePath path = event.getPath();
  3. DefaultMutableTreeNode clicknode =
  4. (DefaultMutableTreeNode)path.getLastPathComponent();
  5. Object uo = clicknode.getUserObject();
  6. Node node = (Node)uo;
  7. //这里是个示意性代码,你可以调用自己写的javascript函数
  8. //在js函数中进行url重定向,并且把用户输入的数据作为编码到url中
  9. //达到修改db等资源的目的.JSObject是netscape包中的类。可以在jdk
  10. //的jre目录下找到
  11. JSObject.getWindow (this ).eval("javascript:alert('"+node.getNodeCode()+"')") ;
  12. }

最后,希望这篇短文对你有所启发,如有错误之处,敬请批评指正。


  • 上一篇教程: 缓存JSP显示的内容
  • 下一篇教程: 用Java实现Web服务器
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.