58
1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Embed Size (px)

Citation preview

Page 1: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

1

Lecture 15George Koutsogiannakis SUMMER 2011

CS441

CURRENT TOPICS IN PROGRAMMING LANGUAGES

Page 2: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Topics

• NetBeans the JDK and other settings.– Instances of the server.– Domains.

• Using NetBeans to create a Session Bean.– Opening an existing project.– Creating an empty new project.

• Example of converter project.

2

Page 3: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans the JDK and other settings

• Have uniformity in your installation. Mixing versions of NetBeans / JDK and Other tools can cause problems.

• Best configuration:– JDK 1.6 with EE capability (install before

NetBeans).– JDK 6 Update 12 or higher with Java EE from

http://java.sun.com/javase/downloads/index.jsp• Gets installed in C:\Sun\SDK\• It includes all the libraries needed

3

Page 4: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans the JDK and other settings

– NetBeans 6.5 with GlassFish v2 as a minimum.– http://www.netbeans.org/downloads/index.html– Download All option or as a minimum Java SE Java Web and EE and The bundled Servers.

4

Page 5: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans the JDK and other settings

• You can add or remove packs later using the IDE's Plugin Manager (Tools | Plugins).

Java 6 or Java 5 is required for installing and running the PHP, Ruby and C/C++ NetBeans Bundles. You can download the latest Java at java.com.

JDK 6 or JDK 5 is required for installing and running the Java SE, JavaFX, Java and All NetBeans Bundles. You can download standalone JDK or download the latest JDK with NetBeans IDE Java SE bundle.

5

Page 6: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans the JDK and other settings

– After download and during installation:• Direct NetBeans to use \Sun\SDK\jdk as the default jdk

(JDK 6 with update 12 and higher).• Other JDK platforms can also be added if you wish, as

additions to default jdk.• Make sure that in the Services window of NetBeans

you add the servers:– GlassFish V2 or and V3– Tomcat 6.x– You can start the servers from there by right clicking on the

server ‘s name.

6

Page 7: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and the JDK and other settings

– Install Tomcat 6.x and add it as a server under services in NetBeans.

• Servers that exist can be added from Tools-> server and click on Add Server in the open Dialog.• Make sure that servers do not have conflicting ports.

– Most likely you would have to change Tomcat ‘s default port from 8080 to another port like 8090. The shut down port for Tomcat would also need to be changed:

» Services .. .. Highlight the server ‘s name.» Right click and click on Properties. Change the port

numbers on the opened dialog pane.

7

Page 8: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and the JDK and other settings

– Avoid activating GlassFish V3 which an application server associated with a new OOP Language called JRuby.

• Another configuration is:– http://www.netbeans.org/downloads/index.html– Download the All choice which does not include the JDK.– Use the JDK installation from previous configuration.

8

Page 9: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and the JDK and other settings

• Every project created in NetBeans must have an instance of the application server GlassFish registered.– When you open an existing project a message comes up

warning you that an instance of the server needs to be registered (if one does not exist).

• You can right click on the projects name and choose: “Resolve Missing Server Problem” Notice that in this case you will have to be aware of the path in your

System where the application server is located.Note that in most cases the registration of an instance will be done

automatically and you will not have to do the above.A default instance is created under Domain “domain1”.

9

Page 10: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and the JDK and other settings

• Another approach is to start the proper server after activating NetBeans.– Under Services right click on the server name and

click start. Wait few seconds until the server is up and running.

– Verify that the server is running :• If the server is not running there will be a message at

the bottom pane of the screen.• If the server is running the stop and restart menu

option will be active and the start option inactive.

10

Page 11: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans Domains.

• A Domain is a process that encompasses a unique application’s modules. It is an instance of the application server.– It isolates one application from another. No direct

communication is allowed between domains without marshalling a remote object.

– Each domain has • the port number of the server• The port number of the administration server including User

Name and password for administering the server.• Security settings.

11

Page 12: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Server’s log

• You can get some idea of cause of failures that result in the server not starting by examining the log file of the server under

<server installation>domains/domain1/logs/server file. • Log files are also accessible for the administrative console of

the server.• To access the administrative console as a web application

– Right click on the server name and choose View Admin Console• A password for the domain you established during installation, is required.

12

Page 13: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and the JDK and other settings

• The next slide shows the NetBeans window with – On the left : the 2 basic windows Projects and Services .

• Other windows can be added (or closed) from the Windows menu on top.

– In the center usually we have the editor window where the code of a module will appear.

– On right we have the Properties window which displays properties of the focused module.

13

Page 14: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and the JDK and other settings

– On the bottom we have the output window which will display:

• Information on the building process• Information on the deployment process• Any output when you run the deployed project

14

Page 15: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

15

Page 16: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

16

Page 17: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session Beans

• Session Bean can be called by:– Remote Application Client or– By Web Client (JSP , Servlet).– By another Bean component.

17

Page 18: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session Beans

• Basic steps:– Develop the code for the Bean

• Interface with business methods definitions• Class that implements the interface.

– Develop code for the Client Application (if there is one)

– Develop code for a web client (if there is one).

18

Page 19: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session Beans-Open an existing Project

– Save your files in some path of your choice within your system.

– From the File menu of NetBeans use Open Project to bring the files in (this is provided that your files were configured as a project).

– The symbol for the overall project is a blue triangle.– You need to notify NetBeans that this project is the main

project under focus right now (because multiple projects can be there).

– The main project is the project that contains the application’ s main class.

• Go to the menu “Run” and select “Set Main Project”-> choose your project’s name. 19

Page 20: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session Beans-Open an existing Project

– Compile the files by right clicking on the name of each module and choosing build.

• Using NetBeans or ant tool build the application client files (if there is an application client) into a jar file.

• Using NetBeans or ant tool build the web client (if there is a web client) into a war file.

• Using NetBeans or ant tool build the ejb into a jar file.

20

Page 21: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session Beans-Open an existing Project

• Instead of the individual builds listed above , you can build the entire project by right clicking on the project’ s name and choosing the build option.

• If you do that do not build each application separately again. That will cause you a problem.

21

Page 22: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session Beans

• Once the project has been built, it needs to be deployed.– Make sure that Tomcat is running (if it is only a web

project) or if you are using GlassFish: – You can start GlassFish v2 manually or it should start

automatically as part of the deployment.

• Notice that the building process can fail for various reasons as well as deployment. – Failure to deploy could be because of a number of reasons

including:

22

Page 23: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session Beans

• Port conflicts between the various servers.• Incorrect server configuration.• Invalid JDK libraries (libraries that are needed but don’t

exist because of incorrect jdk libraries being used by NetBeans.

– This can be corrected by changing the default jdk libraries for the project.

– Right click on the name of the project and choose Properties.– In the opened dialog pane highlight “libraries” and then find

the path to the proper jdk libraries.– From the combo box choose the proper java platform.

• Other reasons –check NetBeans documentation or help menu.

23

Page 24: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

24

Page 25: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Create a New Project

• Before we provide any coding (either manually or by having NetBeans produce the code) we need to create a project:– Choose File-> New Project from Menu Bar– Select Enterprise Application from Java EE

category , click Next.– Type a name for your project.– Deselect Use Dedicated Folder option if selected. Click Next

25

Page 26: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Create a New Project

– Set the server to GlassFish and set Java EE version to EE5 or EE6.

– Select Create EJB Module and Create Application Client Module (if we are creating an application module).

– Click Finish

26

Page 27: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Creating a Session Bean• We can create a session bean by using NetBean utilities or by writing the

code ourselves or by a combination of the two.• Example of a Session Bean projects are part of NetBeans IDE.• Let us look at the converter project example from the JAVA EE 6

TUTORIAL text.– This ejb application of the converter project provides the services for

the conversion of dollars to to yen and yento Euro– It has a client application that communicates with the ejb.– It also has a web application that communicates with the ejb in the

form of jsp code.– What is needed programmatically is:

27

Page 28: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Creating a Session Bean– The interface that defines the methods to be implemented by the ejb.– The class that implements the methods of the interface.– The client application that can invoke directly the methods of the ejb

(dollar to yen and yen to Euro conversions).– The web application that can invoke the methods of the ejb via the

web from a browser.• A jsp file resides in a web server. The file creates an html form that

gets transferred to a browser instance. The user can enter amounts that can be converted.

• Note : the client application and the web aplication are independent of each other.

28

Page 29: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Converter Bean Example

29

ConverterBean runs on the

Application Server part of GlassFish

Client Java Application for ConverterBean

Web Client for ConverterBean

runs on Web Server part of

GlassFish

Html generated by Web Client

Runs on Browser

Page 30: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Client Application

30

package converter.client;

import converter.ejb.Converter;import java.math.BigDecimal;import javax.ejb.EJB;

public class ConverterClient { @EJB // ANNOTATION private static Converter converter;

/** Creates a new instance of Client */ public ConverterClient(String[] args) { }

/** * @param args the command line arguments */ public static void main(String[] args) { ConverterClient client = new ConverterClient(args); client.doConversion(); }

Page 31: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Client Application

31

public void doConversion() { try { BigDecimal param = new BigDecimal("100.00"); BigDecimal yenAmount = converter.dollarToYen(param);

// Above line is the invocation of the remote method implemented by the // //ejb component. The variable yenAmount captures the returned value of // the remote invocation

System.out.println("$" + param + " is " + yenAmount + " Yen.");

BigDecimal euroAmount = converter.yenToEuro(yenAmount);//another invocation involving the second remote method of the ejb System.out.println(yenAmount + " Yen is " + euroAmount + " Euro.");

System.exit(0); } catch (Exception ex) { System.err.println("Caught an unexpected exception!"); ex.printStackTrace(); } }}

Page 32: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Remote Interface for the Session Bean

32

package converter.ejb;

import java.math.BigDecimal;import javax.ejb.Remote;

@Remote // ANNOTATIONpublic interface Converter { public BigDecimal dollarToYen(BigDecimal dollars);

public BigDecimal yenToEuro(BigDecimal yen);}

Page 33: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session EJB Code

33

package converter.ejb;

import java.math.BigDecimal;import javax.ejb.Stateless;@Stateless //ANNOTATIONpublic class ConverterBean implements converter.ejb.Converter { private BigDecimal euroRate = new BigDecimal("0.0070"); private BigDecimal yenRate = new BigDecimal("112.58");

public BigDecimal dollarToYen(BigDecimal dollars) { BigDecimal result = dollars.multiply(yenRate);

return result.setScale(2, BigDecimal.ROUND_UP); }

public BigDecimal yenToEuro(BigDecimal yen) { BigDecimal result = yen.multiply(euroRate);

return result.setScale(2, BigDecimal.ROUND_UP); }}

Page 34: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Web Client-JSP

34

<%@ page import="converter.ejb.Converter, java.math.*, javax.naming.*"%> //directive tag <%! private Converter converter = null; public void jspInit() { try { InitialContext ic = new InitialContext(); //lookup converter = (Converter) ic.lookup(Converter.class.getName()); //lookup } catch (Exception ex) { System.out.println("Couldn't create converter bean."+ ex.getMessage()); } }

public void jspDestroy() { converter = null; }%>

Page 35: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Web Client -JSP

35

<html> <head> <title>Converter</title> </head>

<body bgcolor="white"> <h1>Converter</h1> <hr> <p>Enter an amount to convert:</p> <form method="get"> <input type="text" name="amount" size="25"> <br> <p> <input type="submit" value="Submit"> <input type="reset" value="Reset"> </form>

Page 36: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Web Client -JSP

36

<% String amount = request.getParameter("amount"); if ( amount != null && amount.length() > 0 ) { BigDecimal d = new BigDecimal(amount); BigDecimal yenAmount = converter.dollarToYen(d); //invocation %> <p> <%= amount %> dollars are <%= yenAmount %> Yen. <p> <% BigDecimal euroAmount = converter.yenToEuro(yenAmount); //invocation %> <%= yenAmount %> Yen are <%= euroAmount %> Euro. <% } %>

</body></html>

Page 37: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Session EJB

• You can import the files for the example projects from the CD – In that cased use Open Project in NetBeans.

• Or you can create your own files and create a new project by following the previous instructions.

• Start the Server (i.e. GlassFish)• Build the project.• Deploy the project. Make sure that Tomcat and GlassFish v2

are running (without conflicts).• Run the project.

37

Page 38: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

38

Page 39: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Deployment

• Once a project is deployed:– Do not deploy again every time you activate

NetBeans. – It is deployed once and stays deployed even if you

exit NetBeans and you open NetBeans later on.– Once the project is deployed, to run the client

application:• Right click on the project name and choose run (as

main project). The client output (if any) will appear at the bottom of the NetBeans console (under Output).

39

Page 40: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Convert Client Application Output

40

Page 41: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Converter project Web Application

• To run the Web Application (Web Client for ejb):– Open an instance of the browser and in the

address field type:http://localhost:8090/convert/index.jspAnd press enterNotice that 8090 is an example port for the web

server part of GlassFish. You must know the web server port for your installation of GlassFish.

41

Page 42: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Web Client for converter ejb

42

Page 43: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Deployment Issues

• If for some reason the deployment was unsuccessful you can try redeploying

• First undeploy any parts of the application that were deployed.– Follow this procedure also if you want to make

changes to the code and need to rebuild and redeploy

• Go to the GlassFish Administrative Console an log in.

43

Page 44: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Deployment Issues

• In the left side of the console click on Enterprise applications. – In the screen that comes up choose the converter

application and then click on undeploy button.– Repeat the same for other parts of the application

• Web Application• EJB Modules• Application Client Modules.

44

Page 45: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

• NetBeans supports development of Applets.• Create the Java project from scratch or from existing sources• Choose File > New Project (Ctrl-Shift-N). Under Categories, select Java.• Choose one of the following:

– If you are creating a new applet source file, select Java Class Library under Projects. Click Next.

– If you want to import an applet source file, select Java Project with Existing Sources. Click Next. Specify the file's location in the Source Packages Folder text box.

• Under Project Name, type HelloApplet. Change the Project Location to any folder on your computer.

• Click Finish. If you imported an applet source file, run it.

45

Page 46: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets• Create the applet source file• Right-click the HelloApplet project node in the Projects window and select

New > Other (Ctrl-N).• Under Categories, select Java. Under File Types, select Applet.

Alternatively, if you want to visually design your applet, select Swing GUI Forms > JApplet Form.

• If you want to import an applet source file, select Java Project with Existing Sources. Click Next. Specify the file's location in the Source Packages Folder text box.

46

Page 47: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets• Click Next.• Under Class Name, type MyApplet. Under Package, type org.me.hello.Click Finish.

The IDE creates the applet source file in the specified package. The applet source file opens in the Source editor.

• Define your applet class by copying and pasting the following code over the existing default code:

47

Page 48: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

• The IDE creates the basic applet code:public class HelloApplet extends JApplet { public static int() {}

}You can add methods and code as needed

48

Page 49: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets• The applet that you created can be run from the IDE.

– Right-click the HelloApplet project node in the Projects window and choose Build from the contextual menu.

– The HelloApplet.jar file is created in the dist folder, which you can see if you switch to the Files window .

– Right-click the applet class node (i.e., right-click "MyApplet.java" not the "HelloApplet" project) in the Projects window and choose Run File from the contextual menu.

The MyApplet.html launcher file, with the applet embedded, is created in the build folder, which you can see if you switch to the Files window (Ctrl-2):

49

Page 50: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

• Your applet is complete. Now you need to make it available to the user by deploying it as a web application.

• To do so, you create a web application, put the applet JAR on its classpath, and then add an applet tag to the web application's HTML file.

• Create the web project– Choose File > New Project. Under Categories, select Web. Under

Projects, select Web Application. Click Next.– Under Project Name, type HelloWebApplet. Change the Project

Location to any folder on your computer. Click Next, select your server, and click Finish.

50

Page 51: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

• Add the applet JAR file to the web project– When you want to include an applet JAR file in a web

project, you can do so by• adding the Java project that contains the JAR file, or• by adding the JAR file itself. Although the choice is yours, note

that when you add the Java project to the web project, you enable the IDE to build the applet whenever you build the web application. Therefore, when you modify the applet in the Java project, the IDE builds a new version of the applet whenever the web project is built.

• On the other hand, if the applet JAR file is not in a NetBeans IDE project, the applet source file is not rebuilt when you build the web project.

51

Page 52: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

• TO ADD THE APPLET PROJECT TO THE WEB APPLICATION:– In the Projects window, right-click the HelloWebApplet project node

and select Properties from the contextual menu. Choose one of the following:

• If the applet JAR file is in a Java project, click Packaging, and then click Add Project. Browse to and select the folder that contains the Java project. Note that IDE projects are marked by the NetBeans IDE project icon.

• If the applet JAR file is not in a IDE project, click Packaging, and then click Add JAR/Folder. Browse to and select the folder that contains the JAR file.

– The JAR file containing the applet source file is listed in a table at the bottom of the Project Properties dialog box.

52

Page 53: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

• Optionally, you can type a location for the applet in the table's Path in WAR column (in the Properties dialog box).– By default, the applet JAR file will be copied to the web

application's document root, which is the build/web folder (the highest level of the web application's file structure). Click OK.

– When you build the project, the applet's JAR file is packaged in the project's WAR file in the dist folder. It is also added to the build/web folder.

53

Page 54: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets• Create and run the JSP file or HTML file• Choose one of the following:

– If you want to embed the applet in a JSP file, double-click the default index.jsp file in the Projects window. This file is created by the IDE when you create a web project. It opens in the Source Editor.

– If you want to embed the applet in an HTML file, right-click the HelloWebApplet project node, and choose New > Other from the contextual menu. Under Categories, select Web. Under File Types, select HTML. Click Next. Give your HTML file a name and click Finish.

• Embed the applet in the file by adding the following applet tag anywhere between the file's <body></body> tags: <applet code="org.me.hello.MyApplet" archive="HelloApplet.jar"/>

• org.me.hello.MyApplet is the full classname to your applet• HelloApplet.jar is the JAR file that contains the applet

54

Page 55: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

55

Page 56: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

NetBeans and support for Applets

• TO RUN THE WEB APPLICATION:– Right-click the JSP node or HTML node in the

Projects window and choose Run File from the contextual menu. The server deploys the JSP file or HTML file in the IDE's default browser.

56

Page 57: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Applet Servlet Web Application

• Create the web application with the servlet first.

• Add the applet project to the web application’s project that contains the servlet by following the procedure outlined in previous slides.

57

Page 58: 1 Lecture 15 George Koutsogiannakis SUMMER 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES

Study Guide

• Chapters 14, 15, 16 of EE 6 Tutorial.• NetBeans documentation.

58