|
Accessing an EJB from an applet |
|
|
Java applets can be useful front ends to an EJB application. Unlike servlets, JSPs, or standalone Java applications, applets can
easily contact a single remote host (the one that delivered it to the user). To contact an EJB from an applet, you need to package
some special classes for it to function correctly. In addition, you must consider the special security restrictions imposed on an applet.
Due to execution restrictions and environment, you have to take specific factors into account when developing and
deploying an applet from which you want to invoke an EJB.
Our sample applet contacts a session bean to invoke its function.
public class EJBInvoker extends JApplet {
public void init() {
setSize(new Dimension(400, 100));
JButton button = new JButton("Invoke EJB");
getContentPane().setLayout(new BorderLayout());
getContentPane().add(button, BorderLayout.CENTER);
// call our session-bean in button-click:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
invokeEJB();
}
});
}
public void invokeEJB() {
try {
InitialContext context = getInitialContext();
TestBeanHome home = (TestBeanHome) PortableRemoteObject.narrow(
context.lookup("ejb/testSession"), TestBeanHome.class);
TestBean bean = home.create();
bean.doProcess();
} catch (Exception e) {
e.printStackTrace();
}
}
private InitialContext getInitialContext() throws Exception {
Properties props = new Properties();
// build the URL to the applet host and...
String host = getCodeBase().getHost();
...
// ...configure initial context...
...
return new InitialContext(props);
}
}
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.