Book Image

Java EE Development with Eclipse - Second Edition

By : Ram Kulkarni
Book Image

Java EE Development with Eclipse - Second Edition

By: Ram Kulkarni

Overview of this book

<p>Java EE is a technology for developing enterprise class, scalable applications. With recent changes to Java EE specifications, JEE application development has become a lot simpler. However, recent changes have also added many new specifications, some of which compete with existing JEE specification. Along with JEE specifications and APIs, it is also very important to understand the entire application development process and tools that can help simplify and accelerate JEE application development.</p> <p>This guide provides a complete overview of developing JEE applications using Eclipse. The many features of the Eclipse IDE are explained. These enable the rapid development, debugging, testing, and deployment of JEE applications. You’ll explore not just different JEE technologies and how to use them (JSP, JSF, JPA, JDBC, EJB, web services etc.), but also suitable technologies for different scenarios.</p> <p>The book starts with how to set up the development environment for JEE applications and then goes on to describe many JEE specifications in detail, with an emphasis on examples. You’ll learn how to deploy an example application on Tomcat and Glassfish Application Server.</p> <p>You’ll create a simple application that reads from a queue, processes the request, and publishes results to a topic and Eclipse MAT (Memory Analysis Tool) to debug memory issues.</p>
Table of Contents (18 chapters)
Java EE Development with Eclipse Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Installing products


In the subsequent chapters, we will see how to develop JEE applications using different APIs in Eclipse. But the applications are going to need a JEE application server and a database. We are going to use Tomcat web container for the initial few chapters and then use GlassFish JEE application server. We are going to use MySQL database. We are going to need these products for most of the applications that we are going to develop. So the following sections describe how to install and configure Eclipse, Tomcat, GlassFish, and MySQL.

Installing Eclipse (Version 4.4)

You can download Eclipse from https://eclipse.org/downloads/. You will see many different packages for Eclipse. Make sure you install the Eclipse IDE for Java EE Developers package. Select an appropriate package based on your OS and JVM architecture (32 or 64 bit). You may want to run the command java –version to know if the JVM is 32-bit or 64-bit.

Unzip the downloaded zip file and then run the Eclipse application (you need to install JDK before you run Eclipse). The first time you run Eclipse, you will be asked to specify a workspace. Create a new folder in your file system and select that as the initial workspace folder. If you intend to use the same folder for workspace on every launch of Eclipse, then check the Use this as the default and do not ask again check box.

Figure 1.5 Select Eclipse Workspace

You will then see default Java EE perspective of Eclipse as shown in Figure 1.2.

Installing Tomcat

Tomcat is a Web Container. It supports APIs in the presentation layer described earlier. In addition, it supports JDBC and JPA also. It is easy to use and configure, and could be a good option if you do not want to use EJBs.

Download Tomcat from http://tomcat.apache.org/. At the time of writing, the latest version of Tomcat available was 8. Download the zip file and unzip in a folder. Set the JAVA_HOME environment variable to point to the folder where JDK is installed (the folder path should be the JDK folder, which has bin as one of the sub folders). Then run startup.bat at the Command Prompt on Windows and startup.sh in a Terminal window on Mac and Linux, to start the Tomcat server. If there are no errors, then you should see the message Server startup in --ms or Tomcat started.

Default Tomcat installation is configured to use port 8080. If you want to change the port, open server.xml under the conf folder and look for connector declaration like:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Change the port value to any port number you want, though in this book we will be using the default port 8080. Before we open the default page of Tomcat, we will add a user for administration of the Tomcat server. Open tomcat-users.xml under the conf folder in any text editor. At the end of the file you will see commented example of how to add users. Add the following configuration before closure of the </tomcat-users> tag:

  <role rolename="manager-gui"/>
  <user username="admin" password="admin" roles="manager-gui"/>

Here we are adding a user admin, with password also as admin, to a role called 'manager-gui'. This role has access to web pages for managing an application in Tomcat. This and other security roles are defined in web.xml of the manager application. You can find it at webapps/manager/WEB-INF/web.xml. For more information for managing Tomcat server, see http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html.

After making the preceding changes, open a web browser and browse to http://localhost:8080 (modify port number if you have changed the default port as described previously). You will see the following default Tomcat page:

Figure 1.6 The default Tomcat web application

Click on the Manager App button on the right. You will be asked for the user name and password. Enter the user name and password you configured in tomcat-users.xml for manager-gui, as described earlier. After you are successfully logged in, you will see the Tomcat Web Application Manager page, as shown in the following image. You can see the applications deployed in Tomcat in this page. You can also deploy your applications from this page.

Figure 1.7 Tomcat Web Application Manager

To stop the Tomcat server, press Ctrl/COMMAND + C or run shutdown script in the bin folder.

Installing the GlassFish server

Download GlassFish from https://glassfish.java.net/download.html. GlassFish comes in two flavors: Web Profile and Full Platform. Web Profile is like Tomcat, which does not include EJB support. So download Full Platform. See https://glassfish.java.net/webprofileORfullplatform31x.html for comparison of Web Profile and Full Platform.

Unzip the downloaded file in a folder. Default port of GlassFish server is also 8080. If you want to change that, open glassfish/domains/domain1/config/domain.xml in a text editor (you could open it in Eclipse too, using the File | Open File menu option) and look for 8080. You should see it in one of the <network-listener>. Change the port if you want to (which may be the case if some other application is already using that port).

To start the server, run the startserv script (.bat or .sh depending on the OS you use). Once the server has started, open a web browser and browse to http://localhost:8080. You should see a page like the following screenshot:

Figure 1.8 The default GlassFish web application

This page is located at glassfish/domains/domain1/docroot/index.html. Click on the go to the Administration Console link in the preceding page to open GlassFish administrator. For details on administrating GlassFish server, see https://glassfish.java.net/docs/4.0/administration-guide.pdf.

Figure 1.9 The GlassFish administrator

To stop the GlassFish server, run the stopserv script in the glassfish/bin folder.

Installing MySQL

We will be using MySQL database for many of the examples in this book. Following sections describe how to install and configure MySQL for different platforms.

Installing MySQL on Windows

Download MySQL Community Server from http://dev.mysql.com/downloads/mysql/. You can either download the web installer or the all in one installer. The web installer would download only those components that you have selected. Following instructions show the download options using the web installer.

Web installer first downloads a small application, and when you run that, it gives you options to select components that you want to install.

We would like to install MySQL Workbench too, which is a client application to manage MySQL Server. As of writing this chapter, MySQL Workbench required Visual C++ 2013 Runtime for Windows installation. If you don't have it already installed, you can download it from http://www.microsoft.com/en-in/download/details.aspx?id=40784.

  1. Select the Custom option and click on Next.

    Figure 1.10 MySQL Installer for Windows

  2. Select MySQL Server and MySQL Workbench products and complete the installation. During the installation of Server, you will be asked to set the root password and given the option to add more users. It is always a good idea to add user other than root for applications to use.

    Figure 1.11 Select MySQL Products and Features to Install

  3. Make sure you select All Hosts when adding a user so that you are able to access MySQL database from any remote machine that has network access to the machine where MySQL is installed.

    Figure 1.12 Add MySQL User

  4. Run MySQL Workbench after installation. You will find that the default connection to the local MySQL instance is already created for you.

    Figure 1.13 MySQL Workbench Connections

  5. Click on the local connection and you will be asked to enter the root password. Enter the root password that you typed during the installation of MySQL server. MySQL Workbench opens and displays the default test schema.

    Figure 1.14 My SQL Workbench

Installing MySQL on Mac OS X

OS X versions before 10.7 had MySQL server installed by default. See http://dev.mysql.com/doc/mysql-macosx-excerpt/5.7/en/macosx-installation-server.html to know which version of MySQL was installed for different versions of OS X. If you are using OS X 10.7 or later, then you will have to download and install MySQL Community Server from http://dev.mysql.com/downloads/mysql/.

There are many different ways to install MySQL on OS X. See http://dev.mysql.com/doc/refman/5.7/en/osx-installation.html for installation instruction for OS X. Note that users on OS X should have administrator privileges to install the MySQL server.

Once you install the server, you can start it either from the Command Prompt or from the system preferences.

  1. To start it from the Command Prompt, execute the following command in Terminal:

    sudo /usr/local/mysql/support-files/mysql.server start
    
  2. To start it from System Preferences, open the preferences and click the MySQL icon.

    Figure 1.15 MySQL System Preferences - OSX

  3. Click the Start MySQL Server button.

  4. Next, download MySQL Workbench for OSX from http://dev.mysql.com/downloads/workbench/.

Installing MySQL on Linux

There are many different ways to install MySQL on Linux. Refer to https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html for details.

Creating MySQL users

You can create MySQL user either from the Command Prompt or by using MySQL Workbench.

  1. To execute SQL and other commands from the Command Prompt, open Terminal and type the following:

    mysql -u root -p <root_password>
    
  2. Once logged in successfully, you will see the mysql Command Prompt:

    mysql>
    
  3. To create a user, first select the mysql database.

    mysql>user mysql;
    Database changed
    mysql>insert into user (host, user, password, select_priv, insert_priv, update_priv)
               values ('%', 'user1', password('usper1_pass'),'Y','Y','Y');
    

The preceding command will create a user named 'user1' with password 'user1_pass' having privileges to insert, update, and select. And because we have specified host as '%', this user can access the server from any host.

If you prefer a graphical user interface to manage the users, then run MySQL Workbench, connect to the local MySQL server (see Figure 1.13 MySQL Workbench Connections), and click on Users and Privileges under the Management section.

Figure 1.16 Creating a user in MySQL Workbench

Having installed all the above products, you should be in a position to start developing JEE applications. We may need a few additional software, but we will see how to install and configure them at appropriate time.