分类:
2008-04-03 17:36:08
Tutorial Download |
Download the sample |
This document describes how to create a simple web application that connects to a MySQL database server. It also covers some basic ideas and technologies in web development, such as ™ (JSP), ™ (JSTL), the Java Database Connectivity™ (JDBC) API, and two-tier, client-server architecture. This tutorial is designed for beginners who have a basic understanding of web development and are looking to apply their knowledge using a MySQL database.
is a popular Open Source database management system commonly used in web applications due to its speed, flexibility and reliability. MySQL employs SQL, or Structured Query Language, for accessing and processing data contained in databases.
This tutorial continues from the tutorial and assumes that you already have a connection to a MySQL database created and registered in NetBeans IDE. The table data that is included in ifpwafcad.sql. is also required for this tutorial. This SQL file creates two tables, Subject and Counselor, then populates them with sample data. Save this file to a local directory, then open it in NetBeans IDE and run it on the MySQL database. The database used in this tutorial is named MyNewDatabase.
Expected duration: 30 minutes
The following topics are covered below:
Before you begin, make sure you have the following software installed on your computer:
Notes:
Simple web applications can be designed using a two-tier architecture, in which the application communicates directly with a data source using the Java Database Connectivity API. A user's requests are sent to a database, and the results are sent directly back to the user. Two-tier architectures can be easily mapped to a client-server configuration, where a user's browser serves as the client, and a remote database reachable over the Internet corresponds to the server.
The application you build in this tutorial involves the creation of two JavaServer Pages. In each of these pages, you add basic HTML to implement a simple interface, followed by SQL tags provided by JSTL technology in order to query the database. Consider the following client-server scenario:
The welcome page (index.jsp) presents the user with a simple HTML form. When a client requests the index.jsp page, the JSP code contained therein is parsed, and data from the Subject database table is gathered, added to the page, and sent to the client. The user makes a selection in the provided HTML form and submits, which causes the client to make a request for response.jsp. When response.jsp is parsed, data from both the Subject and Counselor tables is gathered and inserted into the page. Finally, the page is returned to the client and the user views data based upon his or her selection.
In order to implement the scenario described above, you develop a simple application for a fictitious organization named IFPWAFCAD, or The International Former Professional Wrestlers' Association for Counseling and Development. The application enables a user to choose a counseling subject from a drop-down list (index.jsp), then retrieves data from the MySQL database and returns the information to the user (response.jsp):
Create a new project in the IDE:
Begin by preparing a simple interface for the two pages. Both index.jsp and response.jsp implement an HTML table to display data in a structured fashion. index.jsp also requires an HTML form that includes a drop-down list.
Make sure index.jsp is opened in the Source Editor. If it is not already open, double-click index.jsp from IFPWAFCAD > Web Pages in the Projects window.
IFPWAFCAD offers expert counseling in a wide range of fields. | |
---|---|
To view the contact details of an IFPWAFCAD certified former professional wrestler in your area, select a subject below: |
tags. In the Action text box, type in response.jsp, then
click OK.Select a subject:
To view this page in a browser, right-click in the Source Editor and choose Run File (Shift-F6). When you do this, the JSP page is automatically compiled and deployed to your server. The IDE opens your default browser to display the page from its deployed location: ![]() response.jspIn order to prepare the interface for response.jsp you must first create the file in your application. Note that most of the content that displays in this page is generated dynamically using JSP technology. Therefore, in the following steps you add placeholders which you will later substitute for the JSP code.
style.cssCreate a simple stylesheet that enhances the interface display:
This document assumes that you understand how the stylesheet functions, and how it affects corresponding HTML elements found in index.jsp and response.jsp. When working with CSS in the IDE, you can take advantage of the CSS Style Builder and CSS Preview. Together, these tools provide extensive support for creating style rules and viewing elements when coupled with style attributes. For example, place your cursor within the h2 rule in style.css, then open CSS Preview (Window > Other): ![]() CSS Preview demonstrates how an element renders in a browser. Also note that the preview automatically refreshes as you make changes to a rule, providing a real-time textual representation of style elements from the IDE. Setting up a Connection PoolThe most efficient way to implement communication between the server and database is to set up a database connection pool. Creating a new connection for each client request can be very time-consuming, especially for applications that continuously receive a large number of requests. To remedy this, numerous connections are created and maintained in a connection pool. Any incoming requests that require access to the application's data layer use an already-created connection from the pool. Likewise, when a request is completed, the connection is not closed down, but returned to the pool. Setting up a JNDI DatasourceBoth GlassFish and Tomcat contain Database Connection Pooling (DBCP) libraries that provide connection pooling functionality in a way that is transparent to you as a developer. In either case, you need to configure a Datasource for the server that creates an interface which your application can use for connection pooling. Depending on whether you're using GlassFish or Tomcat, do the following: GlassFishThe IDE provides enhanced support for GlassFish, enabling you to specify resources using a wizard:
By completing the wizard, you declared a new datasource and connection pool
for the application. In the Projects window, open the newly created Server
Resources > sun-resources.xml file and note that To confirm that a new datasource and connection pool are indeed registered with GlassFish, you can deploy the project to the server, then locate the resources in IDE's Services window:
TomcatConfigure a JNDI Datasource in Tomcat by adding a declaration for your resource to the application's context.xml file. This is the application's context container, which enables you to specify application meta-data necessary for the server in order to deploy and run the application. There are various locations where you can specify context elements, such as your server's global $CATALINA_HOME/conf/context.xml file. By adding resource declarations to your application's context.xml file however, you limit the resource to that application, and do not need to configure anything within the server itself. For more information, see the .
Referencing the Datasource from the ApplicationYou need to reference the JNDI resource you just configured from the web application. To do so, you can create an entry in the application's deployment descriptor (web.xml). Deployment descriptors are XML-based text files that contain information describing how an application is to be deployed to a specific environment. For example, they are normally used to specify application context parameters and behavioral patterns, security settings, as well as mappings for servlets, filters and listeners. To reference the JNDI Datasource in the application's deployment descriptor:
Adding the Database Driver's JAR File to the ServerAdding the database driver's JAR file is another step that is vital to enabling the server to communicate with your database. Ordinarily, you would need to locate your database driver's installation directory and copy the mysql-connector-java-5.x-bin.jar file from the driver's root directory into the library folder of the server you are using. Fortunately, the IDE is able to detect at deployment whether the JAR file has been added - and if not, it does so automatically. In order to demonstrate this, deploy your application to the server you are using (in the Projects window, choose Undeploy and Deploy from the right-click menu of the project node) and, depending on the server you are using, do the following: GlassFish
Tomcat
Adding Dynamic LogicIf you return to the index.jsp and response.jsp placeholders created earlier in the tutorial, you can add JSP and JSTL code to enable pages to generate content dynamically, i.e. based on user input. To do so, you need to perform the following 3 steps: Adding the JSTL Library to the Project's ClasspathIn order to make better use of the JSP resources at your disposal, you can make use of the (JSTL) to access and display data taken from the Logic Layer. This library comes bundled with the IDE. You therefore need to make sure the JSTL library is added to the web project's compilation classpath, then add the relevent taglib directives to each of the JSP pages. This allows the server we are using to identify the tags when it reads them from the JSP pages. Depending on whether you are using GlassFish or Tomcat, do the following: GlassFishDo nothing! GlassFish includes the JSTL library in its own library. You can verify this by expanding the Libraries > GlassFish node. The appserv-jstl.jar file defines all standard tags in the JSTL library. Adding taglib Directives to the JSP PagesRegardless of what server you are using, you need to add the necessary taglib directives to JSP pages:
Tomcat
Adding JSP and JSTL CodeFinally, add the code to each page. Both pages require that you implement an
SQL query that utilizes the JSTL index.jspIn order to dynamically display the contents of the form in index.jsp, you need to access all names from the Subject database table:
response.jspFor response.jsp, you need to access data from both the Subject and Counselor tables that correspond to the submitted id provided by the user. This is accomplished using an SQL query and the datasource created earlier in the tutorial:
Deploying and Running the ProjectWhether you are using the GlassFish application server or Tomcat, the process for deploying your project is the same. If you installed GlassFish or Tomcat through the IDE download, your server is already registered in the IDE. If you need to make any changes to server settings, or would like to register a different server with the IDE, choose Tools > Servers from the main menu to open the Server Manager. To deploy the IFPWAFCAD project to the server:
To run the application:
See AlsoThis concludes the Creating a Simple Web Application Using a MySQL Database tutorial. This document demonstrated how to create a simple web application that connects to a MySQL database. It also demonstrated how to construct an application using a basic two-tier architecture, and utilized JSTL and JSP technologies as a means of accessing and displaying data dynamically. For related or more advanced tutorials, see the following resources:
给主人留下些什么吧!~~
|