如何自己开发组件?用什么程序?

xyjnsdcn 2003-03-13 11:29:59
RT。请详细讲讲。讲的好的分不够另开贴。
...全文
51 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyjnsdcn 2003-03-14
  • 打赏
  • 举报
回复
TO fang525(南海大盗) & LoneHome(乐鸿) :
组件是什么?DLL还是ASPX?

TO coffee_cn(coffee) :
什么是“三层结构”?
coffee_cn 2003-03-13
  • 打赏
  • 举报
回复
还有一个“三层结构”
coffee_cn 2003-03-13
  • 打赏
  • 举报
回复
建议到google里面搜索“组件”,“COM+”
LoneHome 2003-03-13
  • 打赏
  • 举报
回复
懒的贴了,自己看吧。
http://www.yesky.com/34669924/169855_6.shtml
手把手教你使用VB来创建ASP组件

写的不错。可惜不是我写的:P

上一篇的地址http://www.yesky.com/34669984/169857.shtml
LoneHome 2003-03-13
  • 打赏
  • 举报
回复
手把手教你使用Java来编写ASP组件
引言:

  在我前面的那篇《手把手教你使用VB来编写ASP组件》中我已详细的介绍了如何使用VB来实现ASP组件的编程,其实使用Java语言同样可以编写一个性能非常优秀的组件。本文就想介绍一下如何使用Microsoft Visual J++来编写一个组件来访问ASP内置的对象。

实例的提出 :

  我们大家都知道,我们可以访问Response和Request对象来创建组件。这种组件的一个实例就是广告管理系统,它能够通过内部访问数据库并且随机选择一条广告,然后输出它的HTML旗帜广告代码。在本文中,我不想讨论从Java COM组件中访问数据库,也不想讨论广告管理系统,因为那是一个非常大的问题。我只想谈谈从Java COM组件中调用ASP的内部对象的方法。 下面我就想教您一步一步的编写这个组件

一、开始新的工程:

  1、 打开Visual J++ 并且点击 Open/New Project,创建一个新的工程。

  2、 选择“Visual J++ Projects”中的Components选项,然后选择COM DLL选项,如下图

  3、 把工程名改名为WayneStudio,然后在Location 对话框中给出你想保存工程文件和编译组件的路径。

  4、 在屏幕右边的Project Explorer窗口中 ,把Class1.java改为JavaASP.java。
5、 双击JavaASP.java,会出现一个代码框,把下面的代码输入代码框,并保存。

  import com.ms.iis.asp.*;
  import com.ms.mtx.*;

  这两句应当出现在程序的最前面,它们是导入命令,导入我们在工程中需要用到的某些Java类的包,我下面给出完整的程序

/** * This class is designed to be packaged with a COM DLL output format. * The class has no standard entry points, other than the constructor. * Public methods will be exposed as methods on the default COM interface. * @com.register ( clsid=ADE14872-9CF6-42A0-A8F2-7A571E51A840, typelib=5E11D496-7229-4283-A40B-139E05DEF44C ) */ //上面我们看到一个clsid,它是用来标记微软COM组件所用的。

import com.ms.iis.asp.*;//导入两个包

import com.ms.mtx.*;

public class JavaASP
{

 public boolean HelloWorld()

 {
  Response newRes = AspContext.getResponse();//创建一个Response
  newRes.write("Hello World,Maybe it is your first JavaASP COM!");
  return true;
 }

}
6、 好程序写完了,现在点开工具栏的Project,点击WayneStudio Properties (在最底下)。选择COM Classes,,在Automatically generate Type Library中选中JavaASP'类,并且点击'OK',如下图。

二、编译工程Project :

  好,现在我们终于要准备编译我们的Java COM 组件了。点击工具栏中的Build/Build,在下面的状态栏中,你会看到不同的状态信息显示组件正在被注册而且type library 正在被生成。这之后,你会看到一个成功信息Solution Update Succeeded,恭喜你编译成了你的第一个用来访问ASP内部对象的Java COM组件。

三、在远程服务器上注册组件

  当你使用Visual Studio来编译一个COM组件,它会自动的注册组件并且生成type library,但是如果你想在其他服务器上使用你的组件的话,那么你就必须在使用它之前注册你的组件如果你想在别的机器上注册你的组件,你可以在DOS状态下使用下列格式:

  C:\regsvr32 WayneStudio.dll

注意,使用你编写并且编译后的DLL文件名代替WayneStudio.dll 。
四、创建一个调用组件的ASP页

  我们已经编译了组件,并且已经注册了它,现在我想介绍一下如何在ASP程序中调用我们刚注册的组件。打开一最喜欢使用的ASP编辑器,创建一个新的ASP页面。取名为FirstCom.asp :

<%Option Explicit
 Response.Buffer = True
 Response.Expires = 0
%>
<html>
<head>
<title> 你的第一个Java COM组件 </title>
</head>
<body>
 <p align="center" id="com"><b>
 <%Dim JavaASP
  Set JavaASP = Server.CreateObject("WayneStudio.JavaASP")
  JavaASP.HelloWorld
 Set JavaASP = Nothing %>
</b>
</p>
</body>
</html>

  上面的程序代码中我们简单的从WayneStudio.JavaASP组件中创建了一个JavaASP 对象,然后我们调用了它的方法HelloWorld来显示如何从组件中使用Response方法。
五、程序设计标示符(ProgID)

  如果用过CreateObject方法的朋友,都会知道程序设计标示符(ProgID),它是,它是你给Server.CreateObject的参数,也就是你想使用的组件的标示符。现在就有个问题了,你怎么知道你创建的组件的标示符是什么,你又如何改变它呢?在很简单,在Visual J++ 和 Visual Basic中,你的工程(Project)的名字就是你的组件的ProgID的第一部分,如在本文中工程名为WayneStudio,那么ProgID 以WayneStudio开头,然后你的类名是ProgID的第二部分,如JavaASP,所以完整的ProgID 就是WayneStudio.JavaASP

六、小结

  以上我已经介绍了如何使用Java来创建ASP COM组件,希望对大家有所帮助。本文只是举了一个非常简单的例子,只用到了ASP内部对象中的Response对象,其实Java能实现的远不止这些,如下,我列出一些调用ASP内部对象的方法:

  Response NewRes = AspContext.getResponse();
  Request NewReq = AspContext.getRequest();
  Server NewServer = AspContext.getServer();
  Session NewSession = AspContext.getSession();
  Application NewApplication = AspContext.getApplication();

  希望大家能够参考本文完成你们自己的Java COM编写,这样本文的目的就达到了。

linday 2003-03-13
  • 打赏
  • 举报
回复
找找资料吧
fang525 2003-03-13
  • 打赏
  • 举报
回复
给个例子给你

建立一个连接数据库的VB组件
--------------------------------------------------------------------------------
http://www.tongyi.net 作者:slash 出处:www.51dotnet.com 点击:2082
首先在你的config.web 文件中创建以下参数:
<appsettings>
<add key="gConn" value="server=local;uid=sa;pwd=secret;database=pubs" />
</appsettings>

接着建立dbConn.vb 文件。
Imports System
Imports System.Web
Imports System.Collections

Namespace WebDB
Public Class WebDBconn
Shared m_ConnectionString As String
Shared ReadOnly Property ConnectionString As String

Get
If m_ConnectionString = "" Then

Dim appsetting As Hashtable = CType(HttpContext.Current.GetConfig("appsettings"), Hashtable)
'使用 config.web 中设立好的连接字符串
m_ConnectionString = CStr(appsetting("DBConnString"))

If m_ConnectionString = "" Then
throw new Exception("Dtabase Connection Value not set in Config.web")
End if

End If

' 返回连接字符串
return m_connectionString

End Get
End Property
End Class
End Namespace

'下面编译dll文件:创建一个批处理文件, 命名为 MakeDll.bat ,存放在dbConn.vb 相同的目录,其中的内容如下
set odir=dbConn.dll
set assemblies=System.Web.dll
vbc /t:library /out:%odir% /r:%assemblies% dbConn.vb
执行批处理文件, 将 dbconn.dll 拷贝到你的WEB 目录的 BIN 目录下并创建如下的.aspx 文件:

<%@ Page Description="ASP+ document" EnableSessionState="false" MaintainState="false" %>
<%@ Import Namespace="WebDB" %>
<script language="VB" runat="server">

Sub Page_Load(sender As Object, e As EventArgs)

response.write(WebDBconn.ConnectionString)

End Sub

</script>

<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
hubinasm 2003-03-13
  • 打赏
  • 举报
回复
最简单用VB
sdliubo 2003-03-13
  • 打赏
  • 举报
回复
什么程序都可以 最简单的是用VB来做

如果你一点都不了解的话 最好是找本书看看

或是找个例子学学
xyjnsdcn 2003-03-13
  • 打赏
  • 举报
回复
搜到的东西太多了。不知道那些 适合初学者:P

谢谢lonehome。请大家多说些!

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧