功能:ejb实现了判断用户是第几次登录系统的功能,.net中添加引用来实现对ejb的访问。
要求:安装weblogic815;.net 2003。
一 用weblogic生成ejb程序。
1.新建一空应用程序。Test
2 右键点击Test,新建一ejb项目。My_EJB
3 启动 weblogic Server。
4 在My_EJB中新建一文件夹。hello
5 右击hello文件夹,新建实体bean。VisitBean.ejb
6 更改数据库表。将data-source-name 项更改为cgSampleDataSource,table-name 更改为visit_GS_EJB
7 添加cmp字段:String visitorName 主键, int visitNumber
8 添加ejbcreate方法:在ejbCreate函数中加一行setVisitNumber(1);
9 生成和部署。右击My_EJB生成My_EJB.jar
10 右击hello文件夹,新建会话bean。HelloBean.ejb
11 在HelloBean.ejb 的 ejbCreate 方法中添加代码
try {
javax.naming.Context ic = new InitialContext();
visitHome = (VisitHome)ic.lookup("java:comp/env/ejb/MyVisitBean");
}
catch (NamingException ne) {
throw new EJBException(ne);
}
12 添加代码
import javax.naming.InitialContext;
import javax.naming.NamingException;
13 在类中添加成员变量
private VisitHome visitHome;
14 添加 ejb-local-ref 标记
home:VisitHome
jndi-name:ejb.VisitLocalHome
local:Visit
name:ejb/MyVisitBean
type:Entity
15 添加组件方法
在HelloBean中添加组件方法String hello(String visitorName)
public String hello(String visitorName)
{
Visit theVisit;
int visitNumber;
try {
// 在数据库中查找访问者
theVisit = visitHome.findByPrimaryKey(visitorName);
}
catch(FinderException fe) {
try {
// 未找到访问者姓名。在数据库中输入访问者姓名
visitHome.create(visitorName);
return "您好," + visitorName + "!";
}
catch(CreateException ce) {
throw new EJBException(ce);
}
}
// 未找到访问者。查找以前的访问次数。
visitNumber = theVisit.getVisitNumber();
theVisit.setVisitNumber(visitNumber + 1);
if(visitNumber == 1) {
return "再次向您问好, " + visitorName + "!";
}
else {
return "您好, " + visitorName + "!这是第 " + theVisit.getVisitNumber() + " 次访问。";
}
}
16 生成和部署。右击My_EJB生成My_EJB.jar
二 用.net生成webservice引用。
17 右击Test,新建一web service项目。MyTestProject
18 创建ejb控件。
右击MyTestProject,新建一文件夹。helloControl
右击helloControl,新建一java控件,选择ejb Control。HelloBeanCtrl
单击“浏览应用程序EJB”选择Hello(remote jndi)。
19 生成测试web service
右击HelloBeanCtrl.jcx生成测试JWS文件(无状态)。
右击HelloBeanCtrl.jws生成测试wsdl文件。
运行即可。
20 生成一asp.net文件。
21 添加web引用。为wsdl文件
22 在文件头中加
using WebApplication1.localhost;
23 在按钮事件中加入程序
localhost.HelloBeanCtrl aa = new HelloBeanCtrl();
Response.Write(aa.hello(TextBox1.Text));

本文介绍如何使用EJB实现用户登录次数记录功能,并通过.NET生成WebService引用以实现跨平台访问。涵盖WebLogic环境下EJB项目的创建、部署及.NET端的调用流程。

1938

被折叠的 条评论
为什么被折叠?



