KhabarHimachal Android project Report

88
1 KhabarHimachal A Project Report Submitted in partial fulfillment for the award of degree of Master of Computer Applications (2011-2014) Undertaken at Submitted by Develop Tech SCO 80-81-82, 2nd Floor, Sector 34A (160022), Chandigarh (UT), India. Phone: 0172-5049007 / 107 Mobile: +91 9780131210 +91 8556941015 E-mail: [email protected] Under Supervision of Internal Guide (s) Training In-Charge Prof . Manpreet Kaur Mr .Tripat Pal Singh Software Engineer

Transcript of KhabarHimachal Android project Report

Page 1: KhabarHimachal Android project Report

1

KhabarHimachal

A Project Report

Submitted in partial fulfillment

for the award of degree of Master of Computer Applications

(2011-2014)

Undertaken at Submitted by

Develop Tech SCO 80-81-82, 2nd Floor,Sector 34A (160022),Chandigarh (UT), India.Phone:         0172-5049007 / 107Mobile:        +91 9780131210+91 8556941015 E-mail:         [email protected]

Under Supervision of

Internal Guide (s) Training In-Charge Prof . Manpreet Kaur Mr .Tripat Pal Singh

Software Engineer

PG Department of Computer ScienceMata Gujri College, Sri Fatehgarh Sahib.

(An Autonomous College)

Page 2: KhabarHimachal Android project Report

2

Tables of Content

S . No. Title Page No.

1. Certificate from Develop Tech 3-4

2. Acknowledgement 5

3. Introduction to Company 6-9

4. Problem Assigned 10

5. System Requirements 11

10. Software/Hardware and Technologies 12-21

11. Solution Strategies 22- 27

12. Development Model Used 28

13. Introduction to Project 29-31

14. System Implementation 32-33

15. Design Phase 34-35

16. DFD(Data Flow Diagrams) 36

17. Database Design 37-43

18. Screen Shots 44-46

19. Code of Project 47-68

20. BIBLIOGRAPHY 69

Page 3: KhabarHimachal Android project Report

3

ACKNOWLEDGEMENT

Nothing concrete can be achieved without an optimum combination of inspection and

perspiration. The idea of presenting this material without adequate thanks to those who give it to

us or pointed in the right direction seems simply indefensible. Generating this piece has been

time consuming and an arduous task and has involved various contributions.

It is my pleasure to acknowledge the help I have received from different individuals, Project

Guide and all the Staff of the Company during the project.

My first sincere appreciation and gratitude goes to respected Tripat Pal Singh, Project guide,

DevelopTech IT Solutions Pvt. Ltd. for his guidance, constructive comments, valuable

suggestions and inspirations. During the entire training session, i have received endless help

from him.

Also, it gives me immense pleasure to express my sincere and whole hearted sense of gratitude

to our esteemed Head Training (DevelopTech IT Solutions Pvt. Ltd.) Mr. Rohit Sharma, for

his invaluable and untiring guidance and supervision throughout training Period .Its was a matter

of great privilege to derive benefits of his enormous experience.

Finally, I thank to all people of the DevelopTech IT Solutions Pvt. Ltd. for their kind

cooperation.

Name- Manpreet Kaur

Roll No- 6276

Page 4: KhabarHimachal Android project Report

4

Introduction to Company

DevelopTech is a strategic solutions and professional services provider to advise, transform and

optimize business and technology processes while minimizing risk. Our core services include

Console Applications, System Application, Web Applications& Mobile Applications

.

DevelopTech service offering includes:

Software Development

Corporate Training

Internet Marketing

Email Marketing

SMS Marketing System

E-Commerce Services

Web Hosting Services

IT Consulting Services

DevelopTechis generally a client based company because initially it has not been aimed at

working on product base approach but later on DevelopTechwill be shifting on the product

based approach.

Till now, what are the Domains which DevelopTech has worked upon?

1) Console Applications

2) Window Applications

3) Web Applications

4) Mobile Applications

Page 5: KhabarHimachal Android project Report

5

1. Console Applications: DevelopTech has worked on the following console

applications:

1.1 Advanced User maintenance: involves management of users groups, users (personal

information, contact information, official information), user roles. The application is modular

and can be embedded in any project.

1.2 Payroll System: involves management of financial accounts of employees who are

working in a particular organization.

2 Window Applications: DevelopTech has worked on a wide range of window

applications:

2.1 Advanced User-maintenance: involves management of users groups, users (personal

information, contact information, official information), user roles. The application is modular

and can be embedded in any project.

2.2 Saloon ERP System: involves multiple modules which can generally be found inside a

core ERP system but some them are:

2.2.1 Payroll

2.2.2 Inventory

2.2.3 Sales

2.2.4 Payment Gateway

2.2.5 Newsletters, Gift Vouchers etc

2.3 Payroll System: involves management of financial accounts of employee’s who are

working in a particular organization.

2.4 CManager: is a user friendly window application made specifically on CA requirement

belongs to the banking domain. The application typically performs all the tasks which are usually

for a CA.

Page 6: KhabarHimachal Android project Report

6

2.5 qReports: is an interactive graph processing tool which represents the data set retrieved

from the database in the form of graphs of various kinds.

2.6 Smart Query: is a graphical client of MySQL Server. The project aims at providing an

easy to use interface for managing database users as well as database user privileges and high

end query tracking system which tracks each and every activity of the end user regarding query

execution.

2.7 Accurate Grabber: is an interactive tool which could be used inside a network oriented

organization. The main objective of the project is to track each and every activity of the end user

by taking the snapshots of the end user's system.

2.8 Code Level Security: is a window application which implements encryption algorithms to protect the source codes.

3 Web Applications: DevelopTech has worked on a huge range of web applications:

3.1 Audience Locate Tool: is an online marketing tool for fetching users or clients for a new

business.

3.2 Custom Database Management API Tool: is an implementation of Restful API

intended to provide web services to the users to access data from one centralized server.

3.3 CManager: is an user friendly web-application made specifically on CA requirement

belongs to the banking domain.

3.4 Ace Intranet: is an MIS application which basically connects employees of same

organization via End user chat interface.

3.5 Imperial Finance: is an MIS application which relates to the banking domain. The

application provides an easy to use interface for the end-user who may be a bank official or a

bank's client.

3.6 iNoticeBoard: is an online web application which could be implemented inside every

organization independent of domain.

Page 7: KhabarHimachal Android project Report

7

3.7 Khabar Himachal: is a news portal is a unit of VRINDA MEDIA LINKERS renowned

name in the media circle of HIMACHAL PRADESH. They will initiative in this lieu to provide

all important events & important issues regarding Cultural, Political, Public Issues, Crime,

Sports, Religious & GOVT. Schemes to the Himachalis not only in the state but in the whole

world where ever the Himachalis are settled.

4 Mobile Applications: DevelopTech has worked on a huge range of iOS, iPAD, Andro

id apps:

Motorsport iOS App: is a mobile application for the soft management of tracks by the

engineers working at FIM. Basically, the purpose of this app is to draw a rough track on the app

before physically mapping the tracks in the area.

4.1 Isara Yachts: is an iOS app which is built corresponding to the http://isarayachts.com for

promotional purposes.

4.2 News24: is an iOS and android app which is build corresponding to the

http://news24Online.com for providing news to people.

4.3 Aryans: is an Android app which is built for the Aryan Group of colleges as iNoticeborad

and their student and staff members – Get latest personalized announcements with file

attachments.

Awards: DevelopTech is awarded by STPI (Software Technology parks of India) and CII (Confederation

of Indian Industry) for the Young Entrepreneur of the year 2012-2013.

DevelopTechSCO 80-81-82, 2nd Floor,Sector 34A (160022),Chandigarh (UT), India.Phone:         0172-5049007 / 107Mobile:        +91 9780131210+91 8556941015 E-mail:         [email protected] Worked as a trainee in java technologies.

Page 8: KhabarHimachal Android project Report

8

2 Profile of problem assigned

In an Educational Institution, circulating information among its students is of foremost

importance. A lot of processes need to be managed for proper management of information in an

institution. From processing of admission forms to displaying information on the notice board all

the processes are managed manually. To display information centrally is a difficult task in an

educational institution. So, the profile of the problem is to manage and circulate information in

an educational institution easily and effectively.

3 Study of existing system3.1 Manual System- In this type of system paper and pen is used to keep the track of all the

activities and events.

Most of the organizations use paper to keep records, show notices etc.

This manual system has various drawbacks like:

It is very difficult to maintain all the records manually i.e. by using paper and pen.

Searching records in manual system is a very time consuming process.

Sometimes it is not possible to keep the track of all the documents centrally. E.g. Usually

organizations do not keep the track of all the notices displayed on their notice board.

Large manpower is required to manage data in a manual system.

Data in manual system is less secure as there is no username and password concept to

make the data secure.

3.2 Automated existing system

There are some existing automated systems which has been used to manage data in educational

institutions. But these existing systems have some flaws which are:

Page 9: KhabarHimachal Android project Report

9

The existing systems which are available are basically bound to a particular institution in

which they are used.

Existing systems are not able to manage the data of more than one organization at a time,

without making any change into it.

4 System Requirements

4.1 Problem statementTo reduce the risk, money, time used in manual system the System KHABAR HIMACHAL has

been think of and been formulated.

4.2 Functions to be provided

KHABAR HIMACHAL has been formulated by keeping in mind, the major needs of all the

educational institutions. It has been formulated to provide facilities according to the designation

of the person.

The person can have one of the following designations in khabar himachal:

.

4.2.1 Admin: An organization can have one and only one admin. An admin has control over

the data related to his/her own organization. Admin can make operators, assign privilege to

operators.

4.2.2: An organization can have multiple Reporters. Reporters can be given certain privileges

by the admin.

In Short we can say KhabarHimachal provides various functionalities like:

Admin can manage records of all the reporters of his/her organization.

Any information available in the form of images and videos can be displayed centrally by

an admin.

Page 10: KhabarHimachal Android project Report

10

5 Processing Environment: Hardware/software5.1 Hardware EnvironmentThis application was processed on a system with configuration

4.00 GB RAM

Windows 7

Intel(R) core (TM) i5 2450M CPU @2.50GHz

Minimum Hardware Requirements are

512 MB RAM

1 GB free fixed disk

Windows

Linux

5.2 Software Environment

5.2.1 J2SE – Java 2 Standard Edition

There are two principal products in the Java SE platform family:

5.2.1.1) Java SE Runtime Environment (JRE)

The Java Runtime Environment (JRE) provides the libraries, the Java Virtual Machine, and other

components to run applets and applications written in the Java programming language. In

addition, two key deployment technologies are part of the JRE: Java Plug-in, which enables

applets to run in popular browsers; and Java Web Start, which deploys standalone applications

over a network. It is also the foundation for the technologies in the Java 2 Platform, Enterprise

Edition (J2EE) for enterprise software development and deployment. The JRE does not contain

tools and utilities such as compilers or debuggers for developing applets and applications.

5.2.1.2 Java Development Kit (JDK).

The Java Development Kit (JDK) is a superset of the JRE, and contains everything that is in the

JRE, plus tools such as the compilers and debuggers necessary for developing applets and

applications.

Page 11: KhabarHimachal Android project Report

11

5.2.1.3 Java SE API

The Java SE application programming interface (API) defines the manner by which an applet or

application can make requests to and use the functionality available in the compiled Java SE

class libraries. (The Java SE class libraries are also part of the Java SE platform.)

The Java SE API consists of core technologies, Desktop (or client) technologies, and other

technologies.

Core components provide essential functionality for writing powerful enterprise-worthy

programs in key areas such as database access, security, remote method invocation

(RMI), and communications.

Desktop components add a full range of features to help build applications that provide a

rich user experience – deployment products such as Java Plug-in, component modeling

APIs such as JavaBeans, and a graphical user interface.

Other components round out the functionality.

5.2.1.4 Java Virtual Machine

The Java Virtual Machine is responsible for the hardware- and operating system-independence of

the Java SE platform, the small size of compiled code (bytecodes), and platform security.

5.2.1.5 Java Platform Tools

The Java SE platform works with an array of tools, including Integrated Development

Environments (IDEs), performance and testing tools, and performance monitoring tools.

Page 12: KhabarHimachal Android project Report

12

5.2.2 J2EE – Java 2 Enterprise Edition

Java Platform, Enterprise Edition (Java EE) builds on the solid foundation of Java Platform,

Standard Edition (Java SE) and is the industry standard for implementing enterprise-class

service-oriented architecture (SOA) and next-generation web applications. The SDKs contain

Sun GlassFish Enterprise Server, previously named Sun Java System Application Server, and

provide support for Java EE 5/ Java EE 5 specifications.

Java Platform, Enterprise Edition (Java EE) is a set of coordinated technologies that significantly

reduces the cost and complexity of developing, deploying, and managing multitier, server-centric

applications. Building on the Java Platform, Standard Edition (Java SE), Java EE adds the

capabilities that provide a complete, stable, secure, and fast Java platform for the enterprise.

Java Platform, Enterprise Edition 5 (Java EE 5) focuses on making development easier, yet

retains the richness of the J2EE 1.4 platform. Offering new and updated features such as

Enterprise JavaBeans (EJB) Technology 3.0, JavaServer Faces (JSF) Technology, and the latest

web services APIs, Java EE 5 makes coding simpler and more straightforward, but maintains the

power that has established Java EE as the premier platform for web services and enterprise

application development.

The Java EE 5 SDK and Java Application Platform SDK provide support for Java EE 5

specifications, and the Java Application Platform SDK features additional runtimes such as Open

ESB, Portlet Container, and Sun Java System Access Manager.

With a primary focus on ease of development, the Java EE 5 platform offers developers ready

access to a secure, portable, and scalable platform for their enterprise applications. Java EE 5

technology makes coding simpler and more straightforward through the use of Java annotations,

programming based on POJOs (Plain Old Java Objects), and resource injection concepts. Sun

GlassFish Enterprise Server (formerly Sun Java System Application Server and hereafter

referred to as Application Server) v2.1 supports all the technologies required by the Java EE 5

specification. A brief summary of the key Java EE 5 technologies is provided here.

Page 13: KhabarHimachal Android project Report

13

5.2.2.1 NetBeans

A free, open-source Integrated Development Environment for software developers.

One can get all the tools you need to create professional desktop, enterprise, web, and mobile

applications with the Java language, C/C++, and even dynamic languages such as PHP,

JavaScript, Groovy, and Ruby.

NetBeans IDE is easy to install and use straight out of the box and runs on many platforms

including Windows, Linux, Mac OS X and Solaris.

NetBeans IDE is an integrated development environment (IDE) for writing, compiling, testing,

and debugging desktop applications and web applications for the Java platform.

NetBeans IDE includes a full-featured text editor with syntax highlighting and error checking,

visual design tools, Ant support, version control system support, and many other features.

The NetBeans IDE provides several features and enhancements, such as rich PHP, JavaScript

and Ajax editing features, improved support for using the Hibernate web framework and the Java

Persistence API, and tighter GlassFish v3 and MySQL integration.

Page 14: KhabarHimachal Android project Report

14

Netbeans – Developing Windows Application

Netbeans can be used to create professional-looking GUIs with automatic spacing and alignment.

Professional Swing GUI Building

Design Swing GUIs by dragging and positioning GUI components from a palette

onto a canvas. The GUI builder automatically takes care of the correct spacing

and alignment. Click into JLabels, JButtons, ButtonGroups, JTrees, JTextFields,

ComboBoxes and edit their properties directly in place. You can use the GUI

builder to prototype GUIs right in front of customers.

Intuitive and Customizable 

You can choose whether the GUI code should be generated with fully qualified or

simple class names. The help bar displays context-sensitive hints about what can

be done with the selected component and suggests shortcuts that can speed up

your work in the futureStandard and Custom GUI Components

Swing Application Framework (JSR 296) Support

The Swing Application Framework simplifies the handling of the application life

cycle, actions and resources. Take advantage of the provided code-generation

tools and building blocks, and develop small to medium-sized desktop

applications faster than ever

Beans Binding technology (JSR 295) Support

Take advantage of Beans Binding technology and the Java Persistence API to

create Swing desktop database applications more easily.

Page 15: KhabarHimachal Android project Report

15

Netbeans – Developing Web Application, Enterprise Application and Web Service

Netbean can be used to write standards-based web and enterprise applications that can be accessed with a web browser over the internet or an intranet.

Web and Enterprise Application Development

The NetBeans IDE provides tools for building all Java EE components, including web

pages, servlets, web services, and Enterprise Java Beans (EJBs).

Web Frameworks

The NetBeans IDE make it easy to create Java EE projects that rely on the Spring and

Hibernate frameworks. The editor supports code completion, navigation and refactoring

for mapping files.

Easy Migration from Eclipse

You can import Eclipse Web Application projects. Imported Eclipse projects stay

synchronized with their original when you modify them in Eclipse.

Multi-Language Editor Support

Take advantage of full syntax highlighting, code completion, pop-up documentation, and

error checking for JSP, JSF, XML, JavaScript, CSS and PHP - even mixed.

Page 16: KhabarHimachal Android project Report

16

5.2.2.2 GlassFish

GlassFish is an enterprise-quality Java EE 5 application server that offers advanced clustering,

centralized administration, and best-in-class performance built by the GlassFish community. The

Java EE SDKs contain Sun GlassFish Enterprise Server, previously named Sun Java System

Application Server.

Key Features of Sun GlassFish Enterprise Server

It complies fully with the latest Java EE 5 specification to deliver one of the best application

runtimes for next-generation enterprise applications and web services. It implements and

extends the following Java EE standards:

Enterprise Java Beans 3.0

JAXB 2.0

Java Persistence

Java Server Faces 1.2

Java Server Pages 2.1 (JSP 2.1)

Java Server Pages Standard Tag Library (JSTL) 1.2

Streaming API for XML (StAX)

Web Services Metadata

Java API for XML based Web Services 2.0 (JAX-WS 2.0)

Common Annotations for the Java Platform 1.0 (CAJ 1.0)

Page 17: KhabarHimachal Android project Report

17

5.2.2.3 Tomcat

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse

range of industries and organizations.

Apache Tomcat is developed in an open and participatory environment and released under the

Apache Software License. Apache Tomcat is intended to be a collaboration of the best-of-breed

developers from around the world.

Apache Tomcat is an implementation of the Java Servlet and JavaServer Pages technologies.

Apache Tomcat version 6.0 implements the Servlet 2.5 and JavaServer Pages 2.1

A standard installation of Tomcat 7.0 makes all of the following APIs available

for use by web applications (by placing them in "lib"):

* annotations-api.jar (Annotations package)

* catalina.jar (Tomcat Catalina implementation)

* catalina-ant.jar (Tomcat Catalina Ant tasks)

* catalina-ha.jar (High availability package)

* catalina-tribes.jar (Group communication)

* ecj-3.7.2.jar (Eclipse JDT Java compiler)

* el-api.jar (EL 2.2 API)

* jasper.jar (Jasper 2 Compiler and Runtime)

* jasper-el.jar (Jasper 2 EL implementation)

* jsp-api.jar (JSP 2.2 API)

* servlet-api.jar (Servlet 3.0 API)

* tomcat-api.jar (Interfaces shared by Catalina and Jasper)

* tomcat-coyote.jar (Tomcat connectors and utility classes)

* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP)

One can make additional APIs available to all of your web applications by putting unpacked

classes into a "classes" directory (not created by default), or by placing them in JAR files in the

"lib" directory.

Page 18: KhabarHimachal Android project Report

18

5.2.2.4 MySQL Database ServerMySQL, the most popular Open Source SQL database server, is developed, distributed, and

supported by MySQL AB, now purchased by Sun MicroSystem.

The official way to pronounce “MySQL” is “My EssQue Ell” (not “my sequel”).

Following are main features of MySQL:

MySQL is a database management system.

A database is a structured collection of data. It may be anything from a simple shopping

list to a picture gallery or the vast amounts of information in a corporate network. To add,

access, and process data stored in a computer database, you need a database management

system such as MySQL Server.

MySQL is a relational database management system.

A relational database stores data in separate tables rather than putting all the data in one

big storeroom. This adds speed and flexibility. The SQL part of “MySQL” stands for

“Structured Query Language.” SQL is the most common standardized language used to

access databases and is defined by the ANSI/ISO SQL Standard. The SQL standard has

been evolving since 1986 and several versions exist. In this manual, “SQL-92” refers to

the standard released in 1992, “SQL:1999” refers to the standard released in 1999, and

“SQL:2003” refers to the current version of the standard. We use the phrase “the SQL

standard” to mean the current version of the SQL Standard at any time.

MySQL software is Open Source.

Open Source means that it is possible for anyone to use and modify the software.

Anybody can download the MySQL software from the Internet and use it without paying

anything.

The MySQL Database Server is very fast, reliable, and easy to use.

Page 19: KhabarHimachal Android project Report

19

MySQL Server was originally developed to handle large databases much faster than

existing solutions and has been successfully used in highly demanding production

environments for several years.

MySQL Server works in client/server or embedded systems.

The MySQL Database Software is a client/server system that consists of a multi-threaded

SQL server that supports different backends, several different client programs and

libraries, administrative tools, and a wide range of application programming interfaces

(APIs).

A large amount of contributed MySQL software is available. It is very likely that your

favorite application or language supports the MySQL Database Server.

Following features are implemented in MySQL 5.0:

VARCHAR Data Type: True VARCHAR support. Maximum effective length of

VARCHAR is 65,532 bytes now, and no stripping of trailing whitespace occurs.

BIT Data Type

Precision Math

Strict Mode and Standard Error Handling

Data Dictionary (Information Schema)

Stored Procedures

Triggers

Views

Cursors

Instance Manager: Can be used to start and stop the MySQL Server, even from a remote

host.

Storage Engines: New storage engines include ARCHIVE and FEDERATED.

Page 20: KhabarHimachal Android project Report

20

6 Solution Strategies The Strategy was to divide the application into three layers to make it an enterprise application.

The development process was done by keeping in mind the concept of following threelayers:

6.1 Presentation layerWeb Interface

6.1.1 HTML (Hypertext Markup Language) HTML stands for Hyper Text Markup Language

HTML is not a programming language, it is a markup language

A markup language is a set of markup tags

HTML uses markup tags to describe web pages

The purpose of a web browser (like Internet Explorer or Firefox) is to read HTML documents

and display them as web pages. The browser does not display the HTML tags, but uses the tags

to interpret the content of the page.

6.1.2 CSS(Cascading Style Sheet) CSS stands for Cascading Style Sheets

Styles define how to display HTML elements

Styles are normally stored in Style Sheets

Styles were added to HTML 4.0 to solve a problem

External Style Sheets can save you a lot of work

External Style Sheets are stored in CSS files

Multiple style definitions will cascade into one

6.1.3 JavaScript

Page 21: KhabarHimachal Android project Report

21

JavaScript is used in millions of Web pages to improve the design, validate forms, detect

browsers, create cookies, and much more. JavaScript is the most popular scripting language on

the internet, and works in all major browsers, such as Internet Explorer, Firefox, and Opera.

JavaScript was designed to add interactivity to HTML pages

JavaScript is a scripting language

A scripting language is a lightweight programming language

JavaScript is usually embedded directly into HTML pages

JavaScript is an interpreted language (means that scripts execute without preliminary compilation)

Everyone can use JavaScript without purchasing a license

Purpose of using JavaScript

JavaScript gives HTML designers a programming

JavaScript can put dynamic text into an HTML page

JavaScript can react to events

JavaScript can read and write HTML elements

JavaScript can be used to validate data

6.2 Business Logic layerBusiness Layer

Page 22: KhabarHimachal Android project Report

22

Core Java Technologies

Java

Java is Platform Independent, Secure, Object Oriented, Scalable, and Robust

Programming Language.

It consists of two parts

JVM stands for Java Virtual Machine, which is run time environment to execute

the java programs.

Java API (Application Programming Interface) that consists of inbuilt classes

used in java programs.

Exception Handling

An exception is an event, which occurs during the execution of a program that

disrupts the normal flow of the program's instructions.

When an error occurs within a method, the method creates an object and hands it

off to the runtime system. The object, called an exception object, contains

information about the error, including its type and the state of the program

when the error occurred. Creating an exception object and handing it to the

runtime system is called throwing an exception.

Multithreading

Threads are called lightweight processes. Threads exist within a process — every process has at

least one. Threads share the process's resources, including memory and open files. This makes

for efficient, but potentially problematic, communication.

When number of threads is executing simultaneously in same memory but different path of

execution .this process is known as multithreading.

Page 23: KhabarHimachal Android project Report

23

Collections Framework

A collection is simply an object that groups multiple elements into a single unit. Collections are

used to store, retrieve, manipulate, and communicate aggregate data.

A collections framework is a unified architecture for representing and manipulating collections.

JDBC

JDBC (Java Database Connectivity) is an API, which is used for the communication of java

programs with different databases.

Java Mail API

The Java Mail API provides a platform-independent and protocol-independent framework to

build mail and messaging applications.

Servlets

Servlets are basically a part of Java Platform, Enterprise Edition (Java EE) and is a technology

that is used for extending the functionality of the servers that host application access via request-

response programming model.

JSP

JSP (Java Server Pages) a technology of Java Platform, Enterprise Edition (Java EE) is used for

server-side programming and with the help of JSP we can segregate the work of a web designer

and a developer.

Page 24: KhabarHimachal Android project Report

24

J2EE – Java 2 Enterprise Edition

Java Platform, Enterprise Edition (Java EE) builds on the solid foundation of Java Platform,

Standard Edition (Java SE) and is the industry standard for implementing enterprise-class

service-oriented architecture (SOA) and next-generation web applications. The SDKs contain

Sun GlassFish Enterprise Server, previously named Sun Java System Application Server, and

provide support for Java EE 5/ Java EE 5 specifications.A brief summary of the key Java EE 5

technologies is provided here.

Netbeans

A free, open-source Integrated Development Environment for software developers.

One can get all the tools you need to create professional desktop, enterprise, web, and mobile

applications with the Java language, C/C++, and even dynamic languages such as PHP,

JavaScript, Groovy, and Ruby.

Glassfish

GlassFish is an enterprise-quality Java EE 5 application server that offers advanced clustering,

centralized administration, and best-in-class performance built by the GlassFish community. The

Java EE SDKs contain Sun GlassFish Enterprise Server, previously named Sun Java System

Application Server.

Tomcat

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse

range of industries and organizations.

Page 25: KhabarHimachal Android project Report

25

Apache Tomcat is developed in an open and participatory environment and released under the

Apache Software License. Apache Tomcat is intended to be a collaboration of the best-of-breed

developers from around the world.

MySQL Database ServerMySQL, the most popular Open Source SQL database server, is developed, distributed, and

supported by MySQL AB, now purchased by Sun MicroSystem.

The official way to pronounce “MySQL” is “My EssQue Ell” (not “my sequel”). MySQL Server

is used to create database.It is a RDBMS(Relational database management system). It stores data

in the form of tables. It uses different constraints to keep the data consistent and non-

redundant. The different constraints used are: Primary key constraint- It ensures that data in field

should be unique and not null. Foreign key constraint- It is used to make relationship between

two tables. It ensures that the field with the foreign key constraint can contain only those values

that are in the Primary table’s field with primary key.

Page 26: KhabarHimachal Android project Report

26

Development Model Used:

Rapid Prototyping Model

Page 27: KhabarHimachal Android project Report

27

Introduction To Project

This section gives a scope description and overview of everything included in this SRS document.

Also, the purpose for this document is described and a list of abbreviations and definitions is

provided.

1.1 Purpose

KHABAR HIMACHAL news portal is a unit of VRINDA MEDIA LINKERS, a renowned name in

the media circle of Himachal Pradesh. Himachal Pradesh is a very resourceful state & many instance

& political circumstances happen which never go beyond the border limits of Himachal Pradesh.

The web portal of KHABAR HIMACHAL is an initiative in this lieu to provide all important events

and important issues regarding Cultural, Political, Public Issues, Crime, Sports, Religious & GOVT.

schemes to the Himachalis not only in the state but in the whole world where ever the Himachalis

are settled. This web portal has an idea of, for the HIMACHAL, by the HIMACHAL and to the

HIMACHAL.

The purpose of this document is to give a detailed description of the requirements for the

"KHABAR HIMACHAL WEB PORTAL" software. It will illustrate the purpose and complete

declaration for the development of system. It will also explain system constraints, interface and

interactions with other external applications.

1.2 Scope

The “Khabar Himachal Web Portal” is a web-based project which displays the news to the user. It is

developed using Advanced JAVA. The user can view the news district wise as well as category wise.

Page 28: KhabarHimachal Android project Report

28

The portal provides the news of different districts. The user can also view the news of any category

such as Sports, Politics, Public issues, Religion, etc.

The Administrator uses the web-portal in order to administer or manage the system and provide the

accurate information. The news uploaded are available for the end user to view.

The user can also upload the news by providing the news and the necessary details about himself.

Furthermore, the software needs an Internet connection to fetch and display results. All system

information is maintained in a database, which is located on a web-server at the back-end.

1.3 Definitions, acronyms, and abbreviations

Table 1.1- Definitions

Term DefinitionUser Someone who interacts with the web application

Administrator System administrator who is given specific permission for managing

and controlling the system

Web-Portal A web portal is specially-designed Web Application which brings

information together from diverse sources in a uniform way.

DESC Description

I/P Input

O/P Output

MUST The minimum level required to avoid failure contained in a

PLanguage statement

PLAN The minimum level required to avoid failure contained in a

PLanguage statement

PROC Processing

GIST A short, simple description of the concept contained in a PLanguage statement

METER The process or device used to establish location on a SCALE contained in a PLanguage statement

Page 29: KhabarHimachal Android project Report

29

SCALE The scale of measure used by the requirement contained in a PLanguage statement

WISH A desirable level of achievement that may not be attainable through

available means contained in a PLanguage statement

Page 30: KhabarHimachal Android project Report

30

System Implementation

Implementation IssuesImplementation phase of the software development is concerned with translating the design

specifications into the source code. After the system has been designed, and arrives the stage of

putting it into actual usage known as the implementation of the system. This involves putting up

of actual practical usage of the theoretically designed system. The primary goal of

implementation is to write the source code and the internal documentation so that conformance

of the code to its specifications can easily be verified and so the debugging, modifications and

testing are eased. This goal can be achieved by making the source code as clear and as

straightforward as possible. Simplicity, Elegance and Clarity are the hallmarks of good programs

whereas complexity are indications of inadequate design and misdirected thinking. The system

implementation is a fairly complex and expensive task requiring numerous inter-dependent

activities. It involves the effort of a number of groups of people: user and the programmers and

the computer operating staff etc. This needs a proper planning to carry out the task successfully.

Thus it involves the following activities:

◦ Writing and testing of programs individually

◦ Testing the system as a whole using the live data

◦ Training and Education of the users and supervisory staff

Source code clarity is enhance buy using structured coding techniques, by efficient coding style,

by appropriate supporting documents, by efficient internal comments and by features provided in

the modern programming language.

The following are the structured coding techniques:

Single Entry, Single Exit

Data Encapsulation

Using recursion for appropriate problems

Page 31: KhabarHimachal Android project Report

31

1.1 User Verification - The customized and tested application will be validated using

production database in a small department or region of the organization. A sample pool

of system owners, system designers and system users are used to ensure all levels have

been completed. Like “Mental Arithmetic Aid” is installed on various systems with the

organization, where we want to develop it, so that it can be verified or tested by various

people.

1.2 User Acceptance - Based on the acceptance of the verification stage the application is

made fully operational throughout the organization.

1.3 User Training – Using the same sample pool from User Verification or a new client

defined team, representatives of system owners, system designers, system support and system

users are trained in various modules. Using a combination of classroom and hands-on training of

the concepts and operation of the selected modules.

Page 32: KhabarHimachal Android project Report

32

Design Phase

After the analysis phase we have with us the details of the existing system and the requirements

of the user for the new system. This phase diverts focus from the problem domain to the solution

domain. It acts as a bridge between the requirement phase and its solution. The design phase

focuses on the detailed implementation of the system recommended in the feasibility study.

Emphasis is on translating performance specifications into design specifications.

Systems design is the process or art of defining the architecture, components, modules,

interfaces, and data for a system to satisfy specified requirements. One could see it as the

application of systems theory to product development. There is some overlap with the disciplines

of systems analysis, systems architecture and systems engineering.

Object-oriented analysis and design (OOAD) methods are becoming the most widely used

methods for computer system design. The UML has become the standard language used in

Object-oriented analysis and design. It is widely used for modeling software systems and is

increasingly used for high designing non-software systems and organizations.

The External DesignExternal design consists of conceiving, planning out and specifying the externally observable

characteristics of the software product. These characteristics include user displays or user

interface forms and the report formats, external data sources and the functional characteristics,

performance requirements etc. External design begins during the analysis phase and continues

into the design phase.

Page 33: KhabarHimachal Android project Report

33

Logical design

The logical design of a system pertains to an abstract representation of the data flows, inputs and

outputs of the system. This is often conducted via modelling, which involves a simplistic (and

sometimes graphical) representation of an actual system. In the context of systems design,

modelling can undertake the following forms, including:

Data flow diagrams

Entity Life Histories

Entity Relationship Diagrams

Physical designThe physical design relates to the actual input and output processes of the system. This is laid

down in terms of how data is input into a system, how it is verified/authenticated, how it is

processed, and how it is displayed as output.

Physical design, in this context, does not refer to the tangible physical design of an information

system. To use an analogy, a personal computer's physical design involves input via a keyboard,

processing within the CPU, and output via a monitor, printer, etc. It would not concern the actual

layout of the tangible hardware, which for a PC would be a monitor, CPU, motherboard, hard

drive, modems, video/graphics cards, USB slots, etc.

Design Methodology: Rapid Application Development (RAD)Rapid Application Development (RAD) is a methodology in which a systems designer produces

prototypes for an end-user. The end-user reviews the prototype, and offers feedback on its

suitability. This process is repeated until the end-user is satisfied with the final system.

Page 34: KhabarHimachal Android project Report

34

DFD(Data Flow Diagrams)

Khabarhimachal Database

Page 35: KhabarHimachal Android project Report

35

Database of Project:

Page 36: KhabarHimachal Android project Report

36

1.1. Tables in Database:

1.2. AdvertisementTable:

1.3. Category Table:

Page 37: KhabarHimachal Android project Report

37

1.4. LatestNews table:

1.5. News Table:

Page 38: KhabarHimachal Android project Report

38

1.6. NewsCategory table:

1.7. Photos Table:

1.8. Poll Table:

Page 39: KhabarHimachal Android project Report

39

1.9. Polloptions table:

2.0. PublicNews Table:

Page 40: KhabarHimachal Android project Report

40

2.1. Rashiphal table:

2.2. Userdetail Table:

Page 41: KhabarHimachal Android project Report

41

2.3. Usermaster Table:

2.4. Videos Table:

Page 42: KhabarHimachal Android project Report

42

SCREEN SHOTSLogin Screen:

This page is used to authenticate user. Two type of users exist :

1)Admin

2)Reporter

On successful login user is taken to their respective home page.

Page 43: KhabarHimachal Android project Report

43

ADMIN HOME PAGE :

If on login user is of the type administrator, then he is taken to this webpage. It provides

administrator with all the links that are required to enable the administrator to maintain software

details. The links provided are:

Home – takes to employee home page

News Reporter- Show all Reporters

Manage News- Show all News

Manage Photos- Show Photos added and option for adding new photos

Manage Videos- Show Videos added and option for adding new Video

Manage Poll- Edit selected and delete

Public News- View all Public News or choose to delete

Change Password- We Can Change password(Admin or Reporter).

Logout.

Page 44: KhabarHimachal Android project Report

44

Reporter Home Page:

If on login user is of the type Reporter, then he is taken to this webpage. It provides

administrator with all the links that are required to enable the administrator to maintain software

details. The links provided are:

Home – takes to employee home page

Add News - Add News

Add Photos- adding new photos

Add Videos- adding new Video

Change Password- We Can Change password(Admin or Reporter).

Logout.

Page 45: KhabarHimachal Android project Report

45

Code of Servlet

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package KH_1.servlet.com;

import KH_1.beans.UserMasterBeans;

import KH_1.services.com.LoginServices;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

*

* @author Anju

*/

Page 46: KhabarHimachal Android project Report

46

@WebServlet(name = "Authenticate", urlPatterns={"/LoginServlet"})

public class LoginServlet extends HttpServlet{

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws

ServletException, IOException {

resp.setContentType("text/html");

PrintWriter pw=null;

try {

pw=resp.getWriter();

if(req.getParameter("sbLogin")!=null)

{

String email=req.getParameter("txtEmail");

String password=req.getParameter("txtPassword");

if(email!=null && password!=null)

{

LoginServices logser=new LoginServices();

UserMasterBeans logbeans=logser.Authenticate(email, password);

if(logbeans!=null)

{

if(logbeans.isStatus())

{

if(logbeans.getUserType().equalsIgnoreCase("Admin"))

Page 47: KhabarHimachal Android project Report

47

{

HttpSession session=req.getSession();

session.setAttribute("id", logbeans.getUserId());

session.setAttribute("txtUserType", logbeans.getUserType());

resp.sendRedirect("admin/mp.jsp");

}

else

{

HttpSession session=req.getSession();

session.setAttribute("id", logbeans.getUserId());

session.setAttribute("txtUserType", logbeans.getUserType());

resp.sendRedirect("Reporter/mp.jsp");

}

}

else

{

resp.sendRedirect("Login_mp.jsp?msg=Blocked by Admin");

}

}

else

{

resp.sendRedirect("Login_mp.jsp?msg=Wrong username");

}

Page 48: KhabarHimachal Android project Report

48

}

else

{

resp.sendRedirect("Login.jsp?msg=Enter Username and Password");

}

}

} catch (IOException e) {

System.out.println(e);

}

}

}

Page 49: KhabarHimachal Android project Report

49

Code of Reporter Bean

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package KH_1.beans;

/**

*

* @author Anju

*/

public class AddEditViewReporterBeans {

String

txtEmailId,txtPassword,txtUserType,txtLastLoginOn,txtName,txtDOB,ImagePath,txtGender,txt

ContactNo,txtAreaOfWork,txtCorrAddress,txtPerAddress;

boolean rbtnStatus;

int txtUserId;

public String getTxtEmailId() {

return txtEmailId;

}

Page 50: KhabarHimachal Android project Report

50

public void setTxtEmailId(String txtEmailId) {

this.txtEmailId = txtEmailId;

}

public String getTxtPassword() {

return txtPassword;

}

public void setTxtPassword(String txtPassword) {

this.txtPassword = txtPassword;

}

public String getTxtUserType() {

return txtUserType;

}

public void setTxtUserType(String txtUserType) {

this.txtUserType = txtUserType;

}

public String getTxtLastLoginOn() {

return txtLastLoginOn;

}

Page 51: KhabarHimachal Android project Report

51

public void setTxtLastLoginOn(String txtLastLoginOn) {

this.txtLastLoginOn = txtLastLoginOn;

}

public String getTxtName() {

return txtName;

}

public void setTxtName(String txtName) {

this.txtName = txtName;

}

public String getTxtDOB() {

return txtDOB;

}

public void setTxtDOB(String txtDOB) {

this.txtDOB = txtDOB;

}

public String getImagePath() {

return ImagePath;

}

Page 52: KhabarHimachal Android project Report

52

public void setImagePath(String ImagePath) {

this.ImagePath = ImagePath;

}

public String getTxtGender() {

return txtGender;

}

public void setTxtGender(String txtGender) {

this.txtGender = txtGender;

}

public String getTxtContactNo() {

return txtContactNo;

}

public void setTxtContactNo(String txtContactNo) {

this.txtContactNo = txtContactNo;

}

public String getTxtAreaOfWork() {

return txtAreaOfWork;

}

Page 53: KhabarHimachal Android project Report

53

public void setTxtAreaOfWork(String txtAreaOfWork) {

this.txtAreaOfWork = txtAreaOfWork;

}

public String getTxtCorrAddress() {

return txtCorrAddress;

}

public void setTxtCorrAddress(String txtCorrAddress) {

this.txtCorrAddress = txtCorrAddress;

}

public String getTxtPerAddress() {

return txtPerAddress;

}

public void setTxtPerAddress(String txtPerAddress) {

this.txtPerAddress = txtPerAddress;

}

public boolean isRbtnStatus() {

return rbtnStatus;

}

Page 54: KhabarHimachal Android project Report

54

public void setRbtnStatus(boolean rbtnStatus) {

this.rbtnStatus = rbtnStatus;

}

public int getTxtUserId() {

return txtUserId;

}

public void setTxtUserId(int txtUserId) {

this.txtUserId = txtUserId;

}

}

Page 55: KhabarHimachal Android project Report

55

ManagePhotoServices

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package KH_1.services.admin;

import KH_1.beans.AddEditViewPhotoBean;

import KH_1.services.com.DBConnection;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

Page 56: KhabarHimachal Android project Report

56

/**

*

* @author Anju

*/

public class ManagePhotoServices {

public int addPhoto(AddEditViewPhotoBean objbean)

{

PreparedStatement pstmt=null;

PreparedStatement pstmt1=null;

ResultSet rs=null;

Connection con=null;

int id=0;

try {

con=DBConnection.Connect();

pstmt=con.prepareStatement("select max(PhotoId) from photos");

rs=pstmt.executeQuery();

if(rs.next())

{

id=rs.getInt("max(PhotoId)");

}

id=id+1;

Page 57: KhabarHimachal Android project Report

57

con=DBConnection.Connect();

pstmt1=con.prepareStatement("insert into

photos(PhotoId,PhotoTitle,PhotoDesc,PhotoTag,PhotoPath,UploadDate,UploadBy,Status)

values(?,?,?,?,?,?,?,?)");

pstmt1.setInt(1, id);

pstmt1.setString(2, objbean.getTxtPhotoTitle());

pstmt1.setString(3, objbean.getTaDescription());

pstmt1.setString(4, objbean.getTxtTag());

pstmt1.setString(5, objbean.getTxtPhoto());

pstmt1.setString(6, objbean.getTxtPhotoDate());

pstmt1.setInt(7, objbean.getUpdatedBy());

pstmt1.setString(8, objbean.getStatus());

pstmt1.executeUpdate();

} catch (Exception e)

{

System.out.println(e);

}

finally

{

try {

pstmt.close();

pstmt1.close();

rs.close();

} catch (Exception e) {

System.out.println(e);

Page 58: KhabarHimachal Android project Report

58

}

}

return id;

}

public AddEditViewPhotoBean getPhoto(int id)

{

PreparedStatement pstmt=null;

ResultSet rs=null;

Connection con=null;

AddEditViewPhotoBean objbean=null;

try {

con=DBConnection.Connect();

pstmt=con.prepareStatement("select * from photos where PhotoId=?");

pstmt.setInt(1, id);

rs=pstmt.executeQuery();

while(rs.next())

{

try {

objbean=new AddEditViewPhotoBean();

objbean.setTxtPhotoId(id);

objbean.setTxtPhotoTitle(rs.getString("PhotoTitle"));

objbean.setTaDescription(rs.getString("PhotoDesc"));

Page 59: KhabarHimachal Android project Report

59

objbean.setTxtTag(rs.getString("PhotoTag"));

objbean.setTxtPhoto(rs.getString("PhotoPath"));

objbean.setTxtPhotoDate(rs.getString("UploadDate"));

objbean.setUpdatedBy(rs.getInt("UploadBy"));

objbean.setStatus(rs.getString("Status"));

} catch (Exception e) {

System.out.println(e);

}

}

} catch (Exception e) {

System.out.println(e);

}

return objbean;

}

public boolean approvePhoto(int id,String status)

{

Connection con=null;

ResultSet rs=null;

PreparedStatement pstmt=null;

try

{

Page 60: KhabarHimachal Android project Report

60

con=DBConnection.Connect();

pstmt=con.prepareStatement("update photos set Status=? where PhotoId=?");

if(status.equals("PN"))

{

pstmt.setString(1,"AP");

}

pstmt.setInt(2,id);

int i=pstmt.executeUpdate();

if(i>0)

{

return true;

}

}

catch(Exception e)

{

System.out.println(e);

}

finally

{

try {

rs.close();

pstmt.close();

} catch (Exception e) {

System.out.println(e);

Page 61: KhabarHimachal Android project Report

61

}

}

return false;

}

public boolean deletePhoto(int id)

{

Connection con=null;

ResultSet rs=null;

PreparedStatement pstmt=null;

try

{

con=DBConnection.Connect();

pstmt=con.prepareStatement("delete from photos where PhotoId=?");

pstmt.setInt(1,id);

int j=pstmt.executeUpdate();

if(j>0)

{

return true;

}

}

catch(Exception e)

{

System.out.println(e);

}

Page 62: KhabarHimachal Android project Report

62

finally

{

try {

rs.close();

pstmt.close();

} catch (Exception e) {

System.out.println(e);

}

}

return false;

}

public ArrayList getPhotosByDate(String date)

{

ArrayList al=null;

PreparedStatement pstmt=null;

ResultSet rs=null;

Connection con=null;

try {

al=new ArrayList();

con=DBConnection.Connect();

pstmt=con.prepareStatement("select * from photos where UploadDate=?");

pstmt.setString(1, date);

rs=pstmt.executeQuery();

while(rs.next())

Page 63: KhabarHimachal Android project Report

63

{

try {

AddEditViewPhotoBean objbean=new AddEditViewPhotoBean();

objbean.setTxtPhotoId(rs.getInt("PhotoId"));

objbean.setTxtPhotoTitle(rs.getString("PhotoTitle"));

objbean.setTaDescription(rs.getString("PhotoDesc"));

objbean.setTxtTag(rs.getString("PhotoTag"));

objbean.setTxtPhoto(rs.getString("PhotoPath"));

objbean.setTxtPhotoDate(rs.getString("UploadDate"));

objbean.setUpdatedBy(rs.getInt("UploadBy"));

objbean.setStatus(rs.getString("Status"));

al.add(objbean);

} catch (SQLException e) {

System.out.println(e);

}

}

} catch (Exception e) {

System.out.println(e);

}

return al;

}

public boolean EditPhoto(AddEditViewPhotoBean objbean)

{

Page 64: KhabarHimachal Android project Report

64

Connection con=null;

PreparedStatement pstmt=null;

try {

con=DBConnection.Connect();

pstmt=con.prepareStatement("update photos set

PhotoTitle=?,PhotoDesc=?,PhotoTag=?,PhotoPath=?,UploadDate=? where PhotoId=?");

pstmt.setString(1, objbean.getTxtPhotoTitle());

pstmt.setString(2, objbean.getTaDescription());

pstmt.setString(3, objbean.getTxtTag());

pstmt.setString(4, objbean.getTxtPhoto());

pstmt.setString(5, objbean.getTxtPhotoDate());

pstmt.setInt(6, objbean.getTxtPhotoId());

pstmt.executeUpdate();

}

catch(SQLException e)

{

System.out.println(e);

}

finally

{

try {

pstmt.close();

} catch (Exception e) {

Page 65: KhabarHimachal Android project Report

65

System.out.println(e);

}

}

return false;

}

public ArrayList getPhotos()

{

Connection con=null;

ArrayList l=new ArrayList();

ResultSet rs=null;

PreparedStatement pstmt=null;

AddEditViewPhotoBean objb=null;

try {

con=DBConnection.Connect();

pstmt=con.prepareStatement("select * from photos");

rs=pstmt.executeQuery();

while(rs.next())

{

objb=new AddEditViewPhotoBean();

objb.setTxtPhotoId(rs.getInt("PhotoId"));

objb.setTxtPhotoTitle(rs.getString("PhotoTitle"));

objb.setTaDescription(rs.getString("PhotoDesc"));

objb.setTxtTag(rs.getString("PhotoTag"));

Page 66: KhabarHimachal Android project Report

66

objb.setTxtPhoto(rs.getString("PhotoPath"));

objb.setTxtPhotoDate(rs.getString("UploadDate"));

objb.setUpdatedBy(rs.getInt("UploadBy"));

objb.setStatus(rs.getString("Status"));

l.add(objb);

}

} catch (Exception e) {

System.out.println(e);

}

finally

{

try {

rs.close();

pstmt.close();

} catch (Exception e) {

System.out.println(e);

}

}

return l;

}

}

Page 67: KhabarHimachal Android project Report

67

Page 68: KhabarHimachal Android project Report

68

BIBLIOGRAPHY

Books: -

1. The Complete Reference Java 2

Herbert Schildt

Tata McGraw-Hill

2. Begging Java 2

Ivor Horton

SPD

3. Professional Java Programming

Brett Spell

SPD

4. The Complete Reference J2ME

5. JEE5 Tutorial

Websites: -

www.sun.java.com

https://jdic.dev.java.net/.