Post on 19-Apr-2017
transcript
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: info@developtech.in
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)
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
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
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
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.
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.
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: info@developtech.in Worked as a trainee in java technologies.
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:
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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
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
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.
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.
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.
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.
26
Development Model Used:
Rapid Prototyping Model
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.
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
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
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
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.
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.
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.
34
DFD(Data Flow Diagrams)
Khabarhimachal Database
35
Database of Project:
36
1.1. Tables in Database:
1.2. AdvertisementTable:
1.3. Category Table:
37
1.4. LatestNews table:
1.5. News Table:
38
1.6. NewsCategory table:
1.7. Photos Table:
1.8. Poll Table:
39
1.9. Polloptions table:
2.0. PublicNews Table:
40
2.1. Rashiphal table:
2.2. Userdetail Table:
41
2.3. Usermaster Table:
2.4. Videos Table:
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.
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.
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.
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
*/
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"))
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");
}
48
}
else
{
resp.sendRedirect("Login.jsp?msg=Enter Username and Password");
}
}
} catch (IOException e) {
System.out.println(e);
}
}
}
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;
}
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;
}
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;
}
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;
}
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;
}
54
public void setRbtnStatus(boolean rbtnStatus) {
this.rbtnStatus = rbtnStatus;
}
public int getTxtUserId() {
return txtUserId;
}
public void setTxtUserId(int txtUserId) {
this.txtUserId = txtUserId;
}
}
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;
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;
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);
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"));
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
{
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);
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);
}
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())
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)
{
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) {
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"));
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;
}
}
67
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/.