<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>Video of Getting Started with Java EE Applications</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <meta name="description" content="A screencast that introduces the basics of Java EE 6 support in NetBeans IDE">
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    </head>
    <body>

<!--
Copyright (c) 2009, 2010, 2011, Oracle and/or its affiliates. All rights reserved.
-->

        <h1>Video of Getting Started with Java EE Applications</h1>

        <table>
            <tr>
                <td class="valign-top">

                    <p>This screencast demonstrates the support provided by NetBeans IDE
                    for some of the technologies introduced as part of Java Enterprise Edition 6 (Java EE 6) specification.
                    The screencast demonstrates how to use wizards in the IDE to create a simple Java EE 6 web application that contains
                    an EJB 3.1 stateless session bean facade for an entity class.
                    You then see how to create a JSF managed bean that accesses the session facade and
                    some JSF 2.0 pages.</p>

                    <p>Author: Ken Ganfield<br>Time: 6:16</p>

                    <p><a href="http://bits.netbeans.org/media/nb68-gettingstarted-javaee6.mov">Download / Watch full size</a> (25 MB)</p>


                    <br style="clear:both;">
                    <div class="feedback-box">
                        <a href="/about/contact_form.html?to=3&amp;subject=Feedback: Getting Started with Java EE Applications Demo">Send Feedback on This Tutorial</a>
                    </div>
                    <br style="clear:both;">
                </td>

                <td width="486" class="valign-top align-center">

 <script src="/images_www/js/mediaplayer-5.9/jwplayer.js" type="text/javascript"></script>                   
    <div id="player" >
        <center>
	    <div id="flashContent"></div>
        </center>
    </div>
<script type="text/javascript">
	$(function(){
	    var targetFile='http://bits.netbeans.org/media/nb68-gettingstarted-javaee6.mov';
		jwplayer('flashContent').setup({
	                'id': 'flashContentId',
	                'width': '530',
	                'height': '340',
	                'autostart': 'true',
	                'file': targetFile,
	                'controlbar':{position:'bottom'},
	                'modes': [
	                      {type: 'html5'},
	                      {type: 'flash', src: '/images_www/js/mediaplayer-5.9/player.swf'},
	                      {type: 'download'}
	                         ]
	           });	
	});
    </script>
                   



                    </td>
            </tr>
        </table>
        <h2>Related links</h2>

        <ul>
            <li><a href="javaee-gettingstarted.html">Getting Started with Java EE Applications in NetBeans IDE</a></li>
            <li><a href="javaee-intro.html">Introduction to Java EE Technology</a></li>
            <li><a href="../web/jsf20-support.html">JSF 2.0 Support in NetBeans IDE 6.8</a></li>
            <li><a href="../../trails/java-ee.html">Java EE &amp; Java Web Learning Trail</a></li>
        </ul>

    </body>
</html>
