如何在js文件中写加载Applet控件(js与jsp分离技术)
### 如何在JS文件中写加载Applet控件(JS与JSP分离技术) #### 一、背景介绍 在Web开发领域,特别是早期的Java Web应用中,Applet控件曾是一种广泛使用的客户端插件技术。它允许开发者将Java代码嵌入到网页中,从而实现更为复杂的交互功能。随着Web技术的发展,JavaScript逐渐成为Web前端的主要编程语言之一,而Java Applet由于安全性和兼容性问题,其使用频率已经大大降低。然而,在特定场景下,仍可能需要了解如何使用JavaScript加载Java Applet。 #### 二、JS与JSP分离技术 **JS与JSP分离技术**主要是指将JavaScript代码与JSP页面进行分离,以提高代码的可维护性和复用性。这种做法通常涉及到以下几个方面: 1. **分离的目的**:提高代码的可读性和可维护性;使得HTML结构更清晰;便于JavaScript代码的重用;方便前后端开发人员之间的分工协作。 2. **分离的方式**:将所有的JavaScript代码提取到单独的.js文件中,通过`<script>`标签引入到JSP页面中。 3. **实现原理**:JavaScript负责页面上的动态行为,而JSP则主要负责数据展示。通过这种方式,可以实现动态效果与数据展示逻辑的解耦。 #### 三、在JS文件中加载Applet控件 根据题目中的部分描述,“如何在js文件中写加载Applet控件(js与jsp分离技术)”,我们来具体探讨一下如何实现这一目标。 1. **创建HTML元素**:我们需要在HTML页面中创建一个用于承载Applet的DOM元素,例如一个`<div>`。 ```javascript var testDiv = document.getElementById("testDiv"); ``` 其中,“testDiv”是预先在JSP页面中定义好的一个`<div>`元素ID。 2. **构造Applet标签**:接着,我们需要构造出一个包含Applet的HTML标签字符串,并将其插入到指定的`<div>`元素中。 ```javascript var appletStr = '<applet id="testApplet" name="testApplet" height="0" width="0" code="com.TestApplet" codebase="/applet/" archive="testApplet.jar"></applet>'; testDiv.innerHTML = appletStr; ``` 这里需要注意的是: - `code`属性表示Applet类的全限定名。 - `codebase`属性表示Applet类文件所在的目录。 - `archive`属性表示包含Applet类文件的jar包名称。 3. **处理JSP与JS的分离**:为了更好地分离JS和JSP,我们可以考虑将用于存放Applet的`<div>`元素的创建逻辑放在JS文件中,并通过JavaScript动态生成。例如: ```javascript if (typeof testDiv === 'undefined') { document.writeln('<div style="position:absolute; width:0px; height:0px; top:5px; right:5px; display:none" id="testDiv"></div>'); } ``` 这样做可以确保即使JSP页面中没有预定义`<div>`元素,JS文件也能正确地创建并插入该元素。 #### 四、注意事项 - **安全性**:考虑到Applet的安全性和兼容性问题,建议在现代Web应用中避免使用Applet控件。 - **兼容性**:不同的浏览器对Applet的支持程度不一,需要确保所使用的Applet能够在目标浏览器上正常运行。 - **性能**:Applet的加载可能会导致页面响应时间变长,尤其是在网络条件不佳的情况下。 - **代码复用**:通过将JavaScript代码分离到单独的.js文件中,可以提高代码的复用性。 #### 五、总结 本文详细介绍了如何在JS文件中加载Applet控件以及JS与JSP分离技术的相关知识点。虽然Applet控件在现代Web开发中已经不再常用,但了解这些基础知识对于理解早期Web应用程序的工作原理仍然具有一定的参考价值。
2009年10月30日 星期五 16:09
我们在写代码的时候,一般喜欢将JSP和JS实现分离开,将页面部分的代码写在.jsp结尾的文件中,而将javascript代码则写在.js结尾的文件中,这样写有个好处,那就是javascript是静态代码,在工程部署上,可以将这部分代码部署到静态资源服务器上,从而加快页面的加载速度。
Javascript中经常有一部分代码是动态产生的,导致我们经常不得不将这部分代码写到jsp文件中,这就导致代码看起来不雅和难懂。那么我们有没有办法将需要写到jsp页面上的代码写到js文件中呢?
我现在举个例子,假如我们的页面上需要加载一个applet控件,但这个applet的加载是有条件的,只有在某种情况下,控件才会加载,而其它情况则不加载(这样子能加载页面的加载速度)。就好比淘宝的截屏功能,我们在正常聊天的时候,控件是不加载的,只有点击了截屏功能的时候,控件才会被加载和安装。
这种情况,就需要我们预先不加载applet控件,而是在javascript控制加载控件了。你可能会有点疑问,javascript如何加载控件呢?
我们可以这样实现,在jsp中写一个空的div,这样,页面加载这个div是不耗性能的。
<div id="testDiv"></div>
另外,我们在js文件中,根据需要,加载下面语句:
//得到DIV对象
var testDiv = document.getElementById("testDiv");
//建立applet控件的语句
var appletStr = '<applet id="testApplet" name=" testApplet" height="0" width="0" code="com. TestApplet" codebase="/applet/" archive="testApplet.jar"></applet>';
//加载applet控件
- oFifteen2014-06-11思想不错~很值得借鉴
- 天对地,雨对风2013-04-16虽然下载了。但是老大说applet现在基本不用了。所以没怎么看。
- Leon_s2013-05-31代码可用,好评!
- 大浪随波2013-07-03被其他同事解决了,我没怎么看
- 粉丝: 1
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助