手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

JBossIDE Eclispe 开发EJB2.1实例[原创]

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
运行成功后,项目中
fibonaci.interfaces和META-INF被创建。
至此,ejb创建完成。

2.3开发Servlet

创建HTTP Servlet
输入Package:fibonaci.Web Name:ComputeServlet,选中init()/service()/doPost()方法,点击Finish。
在项目中看到ComputeServlet.java,添加代码
ComputeServlet.java代码:
package fibonaci.web;
import javax.rmi.PortableRemoteObject;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import java.io.*;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.naming.Context;
import javax.naming.InitialContext;
import fibonaci.interfaces.Fibo;
import fibonaci.interfaces.FiboHome;
public class ComputeServlet extends HttpServlet {
private FiboHome home;
public ComputeServlet() {
super();
}
public void init(ServletConfig config) throws ServletException {
try {
Context context = new InitialContext();
Object ref = context.lookup("java:/comp/env/ejb/Fibo");
home = (FiboHome)PortableRemoteObject.narrow(ref, FiboHome.class);
} catch (Exception e) {
throw new ServletException("Lookup of java:/comp/env/ failed");
}
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html><head><title>");
out.println("Fibonaci Computation");
out.println("</title></head>");
out.println("<body>");
out.println("<h1>");
out.println("Fibonaci Computation");
out.println("</h1>");
try {
Fibo bean = home.create();
int limit = 0;
String value = req.getParameter("limit");
if (value != null) {
try {
limit = Integer.parseInt(value);
} catch (Exception e) {
}
}
double[] result = bean.compute(limit);
bean.remove();
out.println("<p>");
out.print("The ");
out.print(limit);
out.print(" first Fibonacci numbers ");
for (int i = 0; i < result.length; i ) {
out.println("<br>");
out.println(i);
out.println(" : ");
out.println(result[i]);
}
out.println("</p>");
} catch(Exception e) {
out.println(e.getMessage());
e.printStackTrace(out);
} finally {
out.println("</body></html>");
out.close();
}
}
}
代码添加完毕后,需要添加XDoclet tags,在开始注释处输入@web,如下图:
设置内容如下:
/**
* Servlet Class
* @web.servlet name="Compute"
* display-name="Computation Servlet"
* description="Servlet that compute Fibonacci suite"
* @web.servlet-mapping url-pattern="/Compute"
* @web.ejb-ref name="ejb/Fibo"

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!