Introducción Sistema de Ventas Con Servlets
Introducción Sistema de Ventas Con Servlets
Introducción Sistema de Ventas Con Servlets
Introduction
Tutorial Contents
1. Introduction
o About this Tutorial
o What is an E-commerce Application?
o What is Java?
o What is the Java Community Process?
o Why use an IDE?
o Why use NetBeans?
o See Also
2. Designing the Application
3. Setting up the Development Environment
4. Designing the Data Model
5. Preparing the Page Views and Controller Servlet
6. Connecting the Application to the Database
7. Adding Entity Classes and Session Beans
8. Managing Sessions
9. Integrating Transactional Business Logic
10. Adding Language Support
11. Securing the Application
12. Testing and Profiling
13. Conclusion
Welcome to the NetBeans E-commerce Tutorial. In this multi-part tutorial, you learn how
to create a simple yet effective e-commerce application that demonstrates various important
features of Java web and EE development. In doing so, you'll familiarize yourself with the
NetBeans IDE and become capable of applying it to your own development purposes.
Taking the time to master the IDE will ultimately lead you to become more efficient and
versatile as a developer. While you work through the tutorial units, you'll learn how to
make best use of the IDE's facilities and tools. These include:
Editor support for different languages: syntax highlighting, code completion, API
documentation support, keyboard shortcuts, refactoring capabilities, and code
templates
Window system: Projects, Files and Services windows, the Tasks window, Javadoc
window, HTTP Monitor, Navigator and Palette
Integration with other services: automatic deployment to a registered server,
database connectivity, browser interoperability
Development tools: Debugger, Profiler, HTTP Server Monitor, Local History support,
and a graphical Diff Viewer
The tutorial is modular in fashion, with each unit focusing on specific concepts,
technologies, and features of the IDE. You can successfully follow a tutorial unit on its own
using the provided setup instructions and application snapshots (from Unit 5 onward).
However, you'll get the most benefit by working through all units consecutively, from
beginning to end. This will also help to illustrate the development process.
Unit 3, Setting up the Development Environment introduces you to the NetBeans IDE. In it,
you create a Java web project which is the basis for the work you undertake in later tutorial
units. In Unit 4, Designing the Data Model, you primarily work with MySQL WorkBench,
a visual database design tool, to create a data model for the application. Each successive
tutorial unit provides you with a project snapshot that corresponds to the project's
beginning state for that given unit. This enables you to work through a single tutorial unit
outside of the E-commerce Tutorial's larger context. To use these snapshots, download
them to your computer and open them in the IDE using the Open Project wizard (Ctrl-Shift-
O; ⌘-Shift-O on Mac).
You can view a live demo of the application that you build in this tutorial: NetBeans E-
commerce Tutorial Demo Application.
The remainder of this unit covers some information relevant to the tutorial, as well as basic
concepts necessary for Java EE development. Make sure you understand the concepts
outlined below before proceeding with development.
The application that you develop in this tutorial involves numerous concepts, technologies,
and tooling components:
Concepts
o Front-end development
o Web application project structure
o Data modeling
o Database connectivity
o Object-relational mapping
o Session management
o Transactional business logic
o Client and server-side validation
o Localization
o Web application security
o Design patterns, including Model-View-Controller (MVC) and Session Facade
Technologies
o HTML, CSS, and JavaScript technologies
o Servlet and JavaServer Pages (JSP) technologies
o Enterprise JavaBeans (EJB) technology
o Java Persistence API (JPA)
o The JavaServer Pages Standard Tag Library (JSTL)
o Java Database Connectivity (JDBC)
Development Tools
o NetBeans IDE
o GlassFish, a Java EE application server
o MySQL, a relational database management server (RDBMS)
o MySQL WorkBench, a visual database design tool
This tutorial focuses on business-to-customer (B2C) e-commerce, and applies the typical
scenario of a small retail store seeking to create a website enabling customers to shop
online. Software that accommodates a B2C scenario generally consists of two components:
1. Store Front: The website that is accessed by customers, enabling them to purchase
goods over the Internet. Data from the store catalog is typically maintained in a
database, and pages requiring this data are generated dynamically.
2. Administration Console: A password-protected area that is accessed over a secure
connection by store staff for purposes of online management. This typically
involves CRUD (create read update delete) access to the store catalog, management
of discounts, shipping and payment options, and review of customer orders.
What is Java?
In the computer software industry, the term "Java" refers to the Java Platform as well as the
Java Programming Language.
The Java language was conceptualized by James Gosling, who began work on the project in
1991. The language was created with the following 5 design principles[1] in mind:
If you'd like to learn more about the Java language, see the Java Tutorials.
Java as a Platform
The Java Platform signifies a software-based platform that is comprised of two parts:
The Java Virtual Machine (JVM): The JVM is an engine that executes
instructions generated by the Java compiler. The JVM can be thought of as an
instance of the Java Runtime Environment, or JRE, and is embedded in various
products, such as web browsers, servers, and operating systems.
The Java Application Programming Interface (API): Prewritten code, organized
into packages of similar topics. For instance, the Applet and AWT packages include
classes for creating fonts, menus, and buttons.
The Java Development Kit, or JDK, refers to the Java SE Edition, while other kits are
referred to as "SDK", a generic term for "software development kit." For example, the Java
EE SDK.[2]
You can see a visual representation of the Java platform by viewing the conceptual diagram
of component technologies provided in the JDK Documentation. As shown below, the
diagram is interactive, enabling you click on components to learn more about individual
technologies.
As the diagram indicates, the JDK includes the Java Runtime Environment (JRE). You
require the JRE to run software, and you require the JDK to develop software. Both can be
acquired from Java SE Downloads.
The Java platform comes in several editions, such as Java SE (Standard Edition), Java ME
(Micro Edition), and Java EE (Enterprise Edition).
Java EE
The Java Platform, Enterprise Edition (Java EE) builds upon the Java SE platform and
provides a set of technologies for developing and running portable, robust, scalable, reliable
and secure server-side applications.
Depending on your needs, you may want to use certain technologies from either category.
For example, this tutorial makes use of Servlet, JSP/EL, and JSTL "web" technologies, as
well as EJB and JPA "enterprise" technologies.
Java EE currently dominates the market, especially in the financial sector. The following
diagram is taken from an independent survey for European markets performed in 2007.
For a recent, informal comparison of Java EE to .NET, see the blog post Java EE or .NET -
An Almost Unbiased Opinion by a well-known member of the Java EE community.
There are many abbreviations and acronyms to parse. If you're new to all of this and find
the above explanation somewhat confusing, the following resources can help explain what
the differences are between some of the commonly used terminology.
The JSRs of technologies used and referred to in this tutorial include the following:
You can use the JCP website to search for individual JSRs. You can also view all current
EE technologies (Java EE 6) at:
http://java.sun.com/javaee/technologies/index.jsp
http://java.sun.com/javaee/technologies/javaee5.jsp
Consider what would be necessary if you wanted to create a Java-based web application
manually. After installing the Java Development Kit (JDK), you would need to set up your
development environment by performing the following steps.[3]
For educative purposes, it is worthwhile to create and run a Java web project manually so
that you are aware the necessary steps involved. But eventually, you'll want to consider
using tools that reduce or eliminate the need to perform tedious or repetitious tasks, thereby
enabling you to focus on developing code that solves specific business needs. An IDE
streamlines the process outlined above. As demonstrated in Unit 3, Setting up the
Development Environment, you'll install NetBeans IDE with the GlassFish application
server, and be able to set up a web application project with a conventional directory
structure using a simple 3-step wizard. Furthermore, the IDE provides provides built-in API
documentation which you can either call up as you code in the editor, or maintain open in
an external window.
An IDE also typically handles project compilation and deployment in a way that is
transparent to you as a developer. For example, the web project that you create in NetBeans
includes an Ant build script that is used to compile, clean, package and deploy the project.
This means that you can run your project from the IDE, and it will automatically be
compiled and deployed, then open in your default browser. Taking this a step further, many
IDEs support a Deploy on on Save feature. In other words, whenever you save changes to
your project, the deployed version on your server is automatically updated. You can simply
switch to the browser and refresh the page to view changes.
IDEs also provide templates for various file types, and often enable you to add them to your
project by suggesting common locations and including default configuration information
where necessary.
Aside from the "basic support" described above, IDEs typically provide interfaces to
external tools and services (e.g., application and database servers, web services, debugging
and profiling facilities, and collaboration tools) which are indispensable to your work if
Java development is your profession.
Finally, IDEs usually provide enhanced editor support. The editor is where you likely spend
most of your time working, and IDE editors typically include syntax highlighting,
refactoring capabilites, keyboard shortcuts, code completion, hints and error messages, all
aiming to help you work more efficiently and intelligently.
People are saying great things about NetBeans. For a list of testimonials, see NetBeans IDE
Testimonials. Many developers are migrating their applications to NetBeans from other
IDEs. For reasons why, read Real Stories From People Switching to NetBeans IDE.
The IDE provides many features for web development, and several advantages over other
IDEs. Here are several noteworthy points:
Works Out of the Box: Simply download, install, and run the IDE. With its small
download size, installation is a breeze. The IDE runs on many platforms including
Windows, Linux, Mac OS X and Solaris. All IDE tools and features are fully
integrated - no need to hunt for plug-ins - and they work together when you launch
the IDE.
Free and Open Source: When you use the NetBeans IDE, you join a vibrant, open
source community with thousands of users ready to help and contribute. There are
discussions on the NetBeans project mailing lists, blogs on Planet NetBeans, and
helpful FAQs and tutorials on the community wiki.
Profiling and Debugging Tools: With NetBeans IDE profiler, you get real time
insight into memory usage and potential performance bottlenecks. Furthermore, you
can instrument specific parts of code to avoid performance degradation during
profiling. The HeapWalker tool helps you evaluate Java heap contents and find
memory leaks.
Customizable Projects: Through the NetBeans IDE build process, which relies on
industry standards such as Apache Ant, make, Maven, and rake - rather than a
proprietary build process - you can easily customize projects and add functionality.
You can build, run, and deploy projects to servers outside of the IDE.
Collaboration Tools: The IDE provides built-in support for version control
systems such as CVS, Subversion, and Mercurial.
Extensive Documentation: There's a wealth of tips and instructions contained in
the IDE's built-in help set. Simply press F1 (fn-F1 on Mac) on a component in the
IDE to invoke the help set. Also, the IDE's official knowledge base provides
hundreds of online tutorials, articles and screencasts that are continuously being
updated.
For a more extensive list of reasons why you should consider choosing NetBeans, see
NetBeans IDE Connects Developers.
See Also
Online Resources
Books