<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Let's go inside

    this blog is deprecated as a result of laziness.
    posts - 59, comments - 2, trackbacks - 0, articles - 0

    老外的HelloEJB 3 Web Project

    Posted on 2006-07-20 07:06 Earth 閱讀(527) 評論(0)  編輯  收藏 所屬分類: JavaEE5/EJB3

    snap007.jpg
    環境:Eclipse3.1.2 + WTP1.0.2, JBoss-4.0.4-GA, MySQL5.0.22
    下WTP花了我不少功夫(WTP依賴于emf-sdo-xsd, GEF以及JEM,偶逐個下了下來)
    Download源代碼
    如果項目是英文的還好,可是我找的這個例子全是德文(好像是。。),不過有圖有代碼基本上還是能看得懂。

    這個項目沒有用ant, 終于有機會見到一個不用ant直接用Eclipse打包和發布ear的項目了。
    第一步創建一個Dynamic Web Project, 名字為HelloWEB,并選擇將其放到HelloEAR中。接下來創建一個EJB Project,名為HelloEJB同樣加入到
    HelloEAR中。
    然后在HelloEJB中寫ejb的代碼以及persistence.xml, 在HelloWEB中寫jsp頁面以及web.xml, 這樣分工很明確,打起jar,war,ear包來也不
    用自己操心。選擇好<SERVER_HOME>以后這些工作會自動進行。

    < persistence >
    ????
    < persistence-unit? name ="contactUnit" >
    ????
    < jta-data-source > java:ContactDS </ jta-data-source >
    ????
    < provider > org.hibernate.ejb.HibernatePersistence </ provider >
    ????
    < properties >
    ????????
    < property? name ="hibernate.hbm2ddl.auto" ?value ="update" ? />
    ????????
    < property? name ="hibernate.dialect"
    ????????????value
    ="org.hibernate.dialect.MySQLInnoDBDialect" ? />
    ????
    </ properties >
    ????
    </ persistence-unit >
    </ persistence >

    這次用的是update,在我的MySQL中自動生成了數據庫,不錯~

    命名及包結構有待參考
    pj.ebj3.entity.Contact
    pj.ejb3.session.ContactManager
    pj.ejb3.session.bean.ContactManagerBean
    pj.web.locator.EjbLocator
    pj.web.servlet.XxxServlet

    public ? class ?EjbLocator?{
    ?
    private ? static ?Context?ctx;
    ?
    private ? static ?EjbLocator?instance? = ? new ?EjbLocator();
    ?
    private ?EjbLocator()?{
    ??
    try ?{
    ???ctx?
    = ? new ?InitialContext();
    ??}?
    catch ?(NamingException?e)?{
    ??}
    ?}
    ?
    public ? static ?EjbLocator?getLocator()?{
    ??
    return ?instance;
    ?}
    ?
    private ? < T > ?T?getEjb(Class < T > ?ejbClass,?String?name)?{
    ??
    try ?{
    ???T?service?
    = ?(T)? new ?InitialContext().lookup( " HelloEAR/ " ? + ?name + ? " /local " );
    ???
    return ?service;
    ??}?
    catch ?(NamingException?e)?{
    ???
    return ? null ;
    ??}
    ?}
    ?
    public ?ContactManager?getContactManager()?{
    ??
    return ?getEjb(ContactManager. class ,? " ContactManagerBean " );
    ?}
    }

    在Servlet中的調用如下:

    protected ? void ?doPost(HttpServletRequest?request,
    ???HttpServletResponse?response)?
    throws ?ServletException,?IOException?{
    ??
    // ?get?parameters
    ??Contact?contact? = ? new ?Contact();
    ??contact.setAddress(request.getParameter(
    " contact.address " ));
            
    // ?

    ??ContactManager?contactManager?
    = ?EjbLocator.getLocator()
    ????.getContactManager();
    ??Contact?newContact?
    = ?contactManager.addContact(contact);

    ??RequestDispatcher?rd?
    = ? null ;
    ??
    if ?(newContact.getId()? > ? 0 )?{
    ???rd?
    = ?request.getRequestDispatcher( " /WEB-INF/jsps/contactAdded.jsp " );
    ??}?
    else ?{
    ???rd?
    = ?request.getRequestDispatcher( " /WEB-INF/jsps/contactNotAdded.jsp " );
    ??}
    ??rd.forward(request,?response);
    ?}

    另外他把jsp都放在了/WEB-INF/jsps/下面,這個主意不錯,雖然以前也見過,不過還沒有用過。
    最后的結論是還是Eclipse + JBoss IDE的組合好用,然后自己是不是要寫一個Struts + EJB3.0的 Demo出來玩玩。。

    ?

    ?

    主站蜘蛛池模板: 亚洲一级毛片视频| 久久亚洲日韩精品一区二区三区| 曰批免费视频播放在线看片二 | 亚洲人成毛片线播放| 无码国产精品一区二区免费模式| 亚洲乱色熟女一区二区三区丝袜 | 亚洲国产精品无码久久久秋霞1| 一级日本高清视频免费观看 | 亚洲毛片αv无线播放一区| 两个人日本WWW免费版| 亚洲日韩精品一区二区三区| 免费成人在线视频观看| 精品日韩亚洲AV无码一区二区三区| 免费无遮挡无码永久视频| 国产男女猛烈无遮挡免费视频网站 | 国产亚洲精品仙踪林在线播放| 直接进入免费看黄的网站| 国产伦精品一区二区三区免费下载| 亚洲国产高清国产拍精品| 国产成人涩涩涩视频在线观看免费| 在线观看国产一区亚洲bd| 91精品免费观看| 亚洲午夜精品国产电影在线观看| 成人免费无码视频在线网站| 亚洲精品天天影视综合网| 国产在线a免费观看| 亚洲第一第二第三第四第五第六| 亚洲精品国自产拍在线观看| 亚洲高清乱码午夜电影网| 亚洲成a人片在线播放| 日韩免费观看一区| 亚洲av无码一区二区三区不卡| 一级做a爱片特黄在线观看免费看| 国产亚洲精品岁国产微拍精品| 18女人水真多免费高清毛片| 亚洲av日韩av不卡在线观看| 青青青国产在线观看免费网站 | 免费看内射乌克兰女| 亚洲ⅴ国产v天堂a无码二区| 精品一区二区三区免费毛片爱| 亚洲不卡中文字幕|