Beruflich Dokumente
Kultur Dokumente
A good online dictionary can be fast, efficient, and more current than print editions. Better still, consulting
an online dictionary may be more convenient than unearthing the cumbersome desk dictionary from a growing
mound of journals and manuscripts. Whether print or online, dictionaries are helpful only if they include the
words that users are seeking. Unfortunately, many dictionaries available on the Web are not so good. After
selecting 15 uncommon—but not quite obscure—words from various fields of science, editing, publishing, and
emerging technologies, we entered them into the search field of each dictionary. Some online dictionaries like
WordNet (Princeton University), the Free Online Dictionary of Computing, and CancerWEB’s Online Medical
Dictionary are devoted to single dictionaries and do not provide the variety of additional resources. But our
Online Dictionary providing three types of dictionaries, general English dictionary, Medical dictionary and
Computer dictionary. Along with this we are also providing the feature of spelling check of the word, which
will be typed.
ii
Contents
1 Introduction 1
2 Problem Definition 1
2.1 Motivation 1
3 Overview of Servlets 2
3.1 Use Servlets instead of CGI Scripts 2
3.2 Other Uses for Servlets 2
3.3 Architecture of the Servlet Package 3
3.4 Interface Servlet and the Servlet Lifecycle 3
3.5 HttpServlet class 4
3.6 HttpServletRequest Interface 4
3.7 HttpServletResponse Interface 4
6 Design of Project 8
6.1 Implementation Decision and Justification 8
6.2 Implementation of Database 8
6.2.1 Creating the Database 8
6.2.2 Creating a Table 9
6.2.3 Creating a Table Using JDBC 9
6.2.4 Deleting or Dropping a Table 10
6.2.5 The INSERT Statement 10
6.2.6 The UPDATE Statement 10
6.2.7 Searching the Word 12
6.2.8 Spelling Check 12
7 Conclusion 14
References 15
iii
1 Introduction
When a general online dictionary just doesn’t suffice, it may be time to look at some of the
specialized dictionaries available on the Web. There are online dictionaries and glossaries devoted to
almost every branch of science and technology. For example, the University of Texas hosts BioTech Life
Science Dictionary (biotech.icmb.utexas.edu/search/dict-search.html), a searchable collection of terms
specific to the life sciences. In a search for specialized dictionaries, yourDictionary.com is a good place
to start. In addition to its quick reference dictionary and thesaurus, this web site is a resource center for a
wide variety of specialty dictionaries in numerous languages. Dictionaries are grouped into categories,
including computer, medical, general english. Some dictionary softwares which also used all over world,
provide the meaning of a word, pronunciation information, word derivations, histories, or etymologies,
illustrations, usage guidance, and examples in sentences. But they are not updatable according to user
requirements. In this project we provide a software package that fulfills all above mentioned features.
This project is implementing using Java and SQL (Structured Query Language) in the windows operating
system. Project “Online Dictionary” mainly consists of three features. These are 1. a text editor, which
take input as text and find incorrect word and provide the possible correct words of the incorrect words.
2. A search for the meaning of the word. 3. Update to update the dictionary database. This will be done
off line. Only administrator can do the necessary modification in the dictionary database.
2 Problem Definition
A dictionary is a list of words with their definitions, a list of characters with its glyph or a list of
words with corresponding words in other languages. Many dictionaries also provide pronunciation
information, word derivations, histories, or etymologies, illustrations, usage guidance, and examples in
sentences. To implement all these things in a single dictionary with some new features is the goal of this
project.
2.1 Motivation
Our project topic is "Online Dictionary". Therefore we want to use Java servlet technology. The
HTTP (Hyper Text Transfer Protocol) that forms the basis of the World Wide Web uses URLs (Uniform
Resource Locator) to locate resources on the internet. Common URLs represents files or directories and
can represent complex task such as database lookups and internal searches. JavaServer Pages technology
is an extension of servlet technology. Servlets commonly are used when a small portion of the content
send to the client a static text or markup. In most cases servlet and JSP technologies are interchangeable.
The servlets are used to communicate between clients and servers via the HTTP protocol. A client sends
and HTTP request to the server. The servlet container receives the request and directs it to be processed
by the appropriate servlet. The servlet does its processing, which may include interacting with a database
or other server side components such as other servlets. The servlet returns its results to the client-
normally in the form of a HTML, XHTML or XML documents to display in the browser. Using this
browser a user can communicate to the dictionary database that is present in the server side program. A
user can enter his query here that will retrieve from the database and display the result to the client
through the servlet. We are also providing a text editor where a user can edit his required document and
save in his computer. In the text editor we will implement "open", "close", "save", “copy”, “paste” to do
the same to a file. Also we are providing some functions like font style and its sizes, bold, italic, font
colours etc. And also there will be an option to check spelling. When some words or sentences are given
in the text editor as input then as output it will highlight the incorrect word (i.e. which is not present in
1
the dictionary database). When some words are given in the text editor as input that will read one by one
by the getText() function. This can be done using threading where getText() function will read the word
after certain time interval and client will send that word to the server where server will check whether the
word is present in the dictionary database or not. If match is not found server will call doHighlight()
function which is present in the client side and highlight that word. Another important feature of our
project is update the dictionary, only administrator can update the dictionary. This updating will be done
offline.
3 Overview of Servlets
Servlets are modules that extend request/response-oriented servers, such as Java-enabled web
servers. For example, a servlet might be responsible for taking data in an HTML order-entry form and
applying the business logic used to update a company's order database.
Servlets are to servers what applets are to browsers. Unlike applets, however, servlets have no graphical
user interface.
Servlets can be embedded in many different servers because the servlet API, which you use to write
servlets, assumes nothing about the server's environment or protocol. Servlets have become most widely
used within HTTP servers; many web servers support the Servlet API.
Servlets are an effective replacement for CGI scripts. They provide a way to generate dynamic
documents that is both easier to write and faster to run. Servlets also address the problem of doing server-
side programming with platform-specific APIs: they are developed with the Java Servlet API, a standard
Java extension.
So use servlets to handle HTTP client requests. For example, have servlets process data POSTed
over HTTPS using an HTML form, including purchase order or credit card data. A servlet like this could
be part of an order-entry and processing system, working with product and inventory databases, and
perhaps an on-line payment system.
• Allowing collaboration between people. A servlet can handle multiple requests concurrently, and can
synchronize requests. This allows servlets to support systems such as on-line conferencing.
2
• Forwarding requests. Servlets can forward requests to other servers and servlets. Thus servlets can be
used to balance load among several servers that mirror the same content, and to partition a single
logical service over several servers, according to task type or organizational boundaries.
The javax.servlet package provides interfaces and classes for writing servlets. The architecture of the
package is described below.
All servlets must implement the Servlet interface. As with the key applet methods of interface Servlet
are invoked by the servlet container. This interface defines five methods which are given below.
ServletConfig getServletConfig ()
This method returns a reference to an object that implements interface ServletConfig. This object
provides access to the servlet’s configuration information such as servlet initialization parameters and the
servlet’s ServletContext, which provides the servlet with access to its environment.
String getServletInfo ()
This method is defined by a servlet programmer to return a string containing servlet information such
as the servlet’s author and version.
Void destroy ()
This “cleanup” method is called when a servlet is terminated by its servlet container. Resources used
by the servlet, such as an open file or an open database connection, should be deallocated here.
A servlet’s life cycle begins when the servlet container loads the servlet into memory-normally, in
response to the first request that the servlet receives. Before the servlet can handle that request, the servlet
container invokes the servlet’s init method. After init completes execution, the servlet can respond to its
first request. All request are handled by a servlet’s Service method, which receives the request, processes
the request and sends a response to the client. During the servlet’s life cycle method service is called once
per request. Each new request typically requests in a new thread of execution in which method service
executes. When the servlet container terminates the servlet, the servlet’s destroy method is called to
release servlet resources.
The servlet packages define two abstract classes that implement the interface Servlet-class
GenericServlet and class HttpServlet. These classes provide default implementations of all the Servlet
methods. Most servlets extend either GenericServlet or HttpServlet and override some or all of their
methods.
3
3.5 HttpServlet Class
Web-based servlets typically extend class HttpServlet. Class HttpServlet overrides method service to
distinguish between the typical request received from a client Web browser. The two most common
HTTP request types are get and post. A get request gets information from a server. Common uses of get
requests are to retrieve an HTML document or an image. A post request posts data to a server. Common
uses of post requests typically send information, such as authentication information or data from a form
that gathers user input, to a server.
Class HttopServlet defines methods doGet and doPost to respond to get and post request from a
client, respectively. These methods are called by method service, which is called when a request arrives
at the server. Method service first determines the request type, the calls the appropriate method for
handling such a request.
Every call to doGet or doPost for an HttpServlet receives an object that implements interface
HttpServletResponse. The web server that executes the servlet creates an HttpServletResponse object and
passes it to the servlet’s service method. This object provides a variety of method that enables the servlet
to formulate the response to the client. Some of these methods are from interface ServletResponse-the
interface that HttpServletResponse extends.
Every call to doGet or doPost for an HttpServlet receives an object that implements interface
HttpServletResponse. The web server that executes the servlet creates an HttpServletResponse object and
passes it to the servlet’s service method. This object provides a variety of method that enables the servlet
to formulate the response to the client. Some of these methods are from interface ServletResponse-the
interface that HttpServletResponse extends.
JDBC is designed on the CLI model. JDBC defines a set of API objects and methods to interact with
the underlying database. A java program first opens a connection to a database, makes a statement object,
passes SQL statements to the underlying DBMS through the Statement object, and retrieves the results as
well as information about the result sets. Typically, the JDBC class files and the java applets reside in the
client. They can be downloaded from the network also. To minimize the latency during execution, it is
better to have the JDBC classes in the client. The DBMS and the data source are typically located in a
remote server. The JDBC classes are in the java.sql package, and all the java programs use the objects
and methods in the java.sql package to read from and write to data sources.
4
4.1 JDBC-ODBC Bridge
A program using the jdbc will need a driver for the data source with which it wants to interface. This
driver can be a native module or it can be a java program that talks to a server in the network by using
some RPC or an HTTP talker-listener protocol. As a part of JDBC, sun also delivers a driver to access
ODBC data source from JDBC. This driver is jointly developed with Inter solve and also is called JDBC-
ODBC bridge. The JDBC-ODBC bridge is implemented as the JdbcOdbc.class and a native library to
access the ODBC driver. For Windows platform, the native library is a DLL(JDBCODBC.DLL). In our
project we have used “com.mysql.jdbc.Driver” driver.
Structured Query Language (SQL) is a development of an IBM product of the 1970s called
Structured English Query Language (SEQUEL). Despite its name, SQL is far more than a simple query
tool. In addition to being used to query a database, SQL is used to control the entire functionality of a
database system. To support these different functions, SQL can be thought of as a set of the following
languages:
Unlike Java and most other computer languages, SQL is declarative rather than procedural. In other
words, instead of writing a class to perform some task, in SQL issuing a statement that updates a table or
returns a group of records.
• INSERT
• UPDATE
• DELETE
5
Data Query Language
Probably the most important function of any database application is the ability to search for specific
records or groups of records and return them in the desired form. In SQL, this capability is provided by
the Data Query Language (DQL). The process of finding and returning formatted records is known as
query the database.
The Data Control Language (DCL) provides the tools to manage the database and control such
aspects as user-access privileges. Since a database usually represents a significant investment in time and
effort, managing users is an aspect of database management. A user is anyone who has access to the
database. Users can be granted different privileges, ranging from read-only access to a limited portion of
the database, all the way up to unlimited access to the entire RDBMS.
• Tomcat is the servlet container used in the official reference Implementation for the Java servlet
and JavaServer Pager technologies.
• Tomcat can be downloaded free from the Jakarta Web site, so, with Tomcat, there is no “barrier to
entry” in getting your JSP applications up and running.
Tomcat 5.0.19 is the next generation of Tomcat. The 5.0.19 servlet container has been developed from
the ground up for flexibility and performance. Version 5.0.19 implements the final released version of the
Servlet 2.3 and JSP 1.2 specifications. As required by the specifications, Tomcat 5.0.19 also supports
Web applications build for the Servlet 2.2 and JSP 1.1 specifications with no changes.
5.1 Installation
To unzip and install Tomcat, simply click on the Tomcat zip file, and Winzip opens a dialog box and
prompts you to select the install directory and then guides you through the installation. The actual
installation takes place in a subdirectory called jacarta-tomcat-5.0.19.
We prefer to install Tomcat in its own directory, either directly under C:\ or under Apache, since Tomcat
and Apache are designed to work well together.
Tomcat is a Java program, so it is possible to execute it from the command line. However, this involves
setting several environment variables. It is easier to use the scripts provided with the Tomcat distribution
to start and stop Tomcat.
For the average user, the most important scripts are listed in the following table
6
Script Purpose
tomcat Sets the environment variables, including CLASSPATH,
TOMCAT_HOME and JAVA_HOME, and starts Tomcat with the
proper comment-line parameters.
startup Starts tomcat in the back ground
shutdown Stops tomcat
The most important of these scripts is (tomcat .sh/tomcat.bat). This other scripts serve as a simplified,
single –task-oriented entry point to the Tomcat script (set different command-line parameters and so on).
TOMCAT_HOME points to the root directory of our Tomcat hierarchy, we should type the following
JAVA_HOME points to the root directory of our JDK hierarchy, and we should type the following
CLASSPATH points to the java classes required by Tomcat and we should type the following
• On Win32, type
SET CLASSPATH =.;C:\apache\tomcat\lib\servlet.jar;
SET CLASSPATH= “%CLASSPATH%;C:\apache\tomcat\lib\jasper.jar;
The easiest way to do all this is to create our own script file containing these lines:
PATH=C:\JAVA\JDK1.4.2\BIN;”%PATH%”
SET TOMCAT_HOME=C:\APACHE\TOMCAT
SET JAVA_HOME=C:\JAVA\JDK1.4.2
SET CLASSPATH =.;C:\apache\tomcat\lib\servlet.jar;
SET CLASSPATH= “%CLASSPATH%;C:\apache\tomcat\lib\jasper.jar;
STARTUP
The final command, ”STARTUP”, runs Tomcat’s own startup.bat script. Save this script as tcstart.bat.
Now start Tomcat by typing “tcstart”.
• Load the servlet container adapter library and initialized it prior to serving request.
7
• Check and see if a certain request belongs to a servlet, and, if s o, let Tomcat take the request and
handle it.
Tomcat needs to know what request it is going to serve, usually based on some pattern in the request
URL and where to direct this request
6 Design of Project
As discussed in section 2.1 the design of the project is shown in the following section with the
UML/Data flow diagram.
JDBC−ODBC SQL
Servlet/JSP Bridge Database
Required Result
UML diagram for searching the meaning of the word and checking the spelling
Send Send
8
If you are running a common line DBMS such as MySQL, start the package; at the command prompt,
type the following:
CREATE DATABASE DICTIONARY;
DriverManager
The DirverManager is responsible for loading JDBC drivers and for returning a connection to the
appropriate driver. The DriverManager locates suitable driver for the URL provided in the getConnectin()
call by polling the registered drivers.
Driver
The first thing we do is load the “com.mysql.jdbc.Driver” by name, using class.forName (). Then we
register it with the DriverManager, using this command:
DriverManager.registerDriver(new JdbcOdbcDriver());
Connection
We next request a connection to the database from the DriverManager using the following command:
getConnection(jdbc:driverName:databaseName);
The DriverManager polls on registered drivers to find the first one that can create a connection to the
URL. Variations on this command let you give the database user name or pass a Java Properties object
with the URL:
getConnection(String url, String user, String password);
getConnection(String url, properties info);
A connection represents session with a specific database, providing the context in which our SQL
statements are executed and results are returned. In our project we have used “com.mysql.jdbc.Driver”
driver.
9
Statement
The term Statement refers to the Java class that passes the SQL Query to the database via the
connection rather than to the SQL Query itself. A Statement object is used for executing a static SQL
statement and obtaining the results it produces.
Follows these rules when inserting data into a table with the INSERT statement:
• The column names you use must match the names defined for the column.
• The values you insert must match the data type defined for the column they are being inserted into.
You can’t, for example put string data into a numeric field.
• The data you insert into a column must comply with the column’s data constrains; for example, you
can’t put the last names of all numbers of the Corleone family into a column if you have constrained
that column as UNIQUE.
• The data size must not exceed the column width, so you can’t put 30 character names into 20 charac-
ter field.
UPDATE Contact_Info
SET Street = ’55 Broadway’, ZIP = ‘10006’
WHERE First_Name = ‘Michael’ AND Last_Name = ‘Corleone’
This statement first evaluate the WHERE clause to find all records First_Name and Last_Name. then
it makes the address change to all of those records. In our project we have used an user interface to
update the dictionary as shown in the following figure. You can select different kind of dictionary from
select dictionary. And you must enter “word” and its “meaning” otherwise it will give some errors, and
10
quotation is optional. When you submit the word and its meaning first it check in the database whether
the word is present or not, if the word is present it will give an error message” word is already resent”
otherwise it will update the dictionary.
11
6.2.7 Searching the word
As mentioned earlier user can search the word in different category. In our project three types of
category present- english, medical and computer. You can search the meaning or details of the word from
these category. When you submit the query it will search in the database and retrieved the query and
again send to the user.
12
13
7 Conclusion
A dictionary is a list of words with their definitions, a list of characters with its glyph or a list of words
with corresponding words in other languages. Our project “online dictionaries” provide pronunciation
information, word derivations, histories, or etymologies, illustrations, usage guidance, and examples in
sentences. Dictionaries are grouped into categories, including computer, medical, english. Later we can
increase the categories in geology, medicine, physics, rhetoric, publishing, printing, and shipping etc. If
any use found any new words they can contact us with the details of that word and they may also send
their suggestions.
14
References
[1] John O'Donahue, "Java Database Programming Bible", New Delhi, Wiley Publishing, Inc.
[2] Herbert Schildt, "The Complete Reference JAVA 2 Fourth Edition", New Delhi: 110 008, Tata
McGraw-Hill.
[3] PETER van der LINDEN, "Just JAVA 2 Fourth Edition", Delhi: 110 040, The Sun Microsystems
Press.
[4] Jamie Jaworski, “Java 2 Platform Unleashed”, New Delhi:110 002, Techmedia.
15