Top Banner
CHAPTER-1 OVERVIEW OF THE PROJECT 1.1. INTRODUCTION The Online Appraisal System (OAS) is a process by which a manager or consultant examines and evaluates an employee's work behavior by comparing it with preset standards, documents the results of the comparison, and uses the results to provide feedback to the employee to show where improvements are needed. The set of procedures used to assess the value or quality of an individual, organization, project or phenomenon are referred to as an appraisal system. These assessments or evaluations are usually done against agreed upon or set parameters which enable comparison and ranking to be done during a specified period of time. The results of these evaluations provide the basis for reward schemes and performance improvement. A performance appraisal (PA) , performance review , performance evaluation , development discussion , or employee appraisal is a method by which the job performance of an employee is evaluated. The whole process of OAS 1
116

Employee Management System

Feb 06, 2016

Download

Documents

Niro Thakur

The Online Appraisal System (OAS) is a process by which a manager or consultant examines and evaluates an employee's work behavior by comparing it with preset standards, documents the results of the comparison, and uses the results to provide feedback to the employee to show where improvements are needed. The set of procedures used to assess the value or quality of an individual, organization, project or phenomenon are referred to as an appraisal system.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Employee Management System

CHAPTER-1

OVERVIEW OF THE PROJECT

1.1. INTRODUCTION

The Online Appraisal System (OAS)  is a process by which

a manager or consultant examines and evaluates an employee's work behavior by comparing it

with preset standards, documents the results of the comparison, and uses the results

to provide feedback to the employee to show where improvements are needed. The set of

procedures used to assess the value or quality of an individual, organization, project or

phenomenon are referred to as an appraisal system. These assessments or evaluations are usually

done against agreed upon or set parameters which enable comparison and ranking to be done

during a specified period of time. The results of these evaluations provide the basis for reward

schemes and performance improvement. A performance appraisal (PA) , performance

review, performance evaluation, development discussion, or employee appraisal is a method by

which the job performance of an employee is evaluated. The whole process of OAS covers

receiving appraisal from client and Admin side was done manually till date.

The proposed system is completely online web application which is more feasible,

efficient, user friendly and economical. Appraisal is a method by which the job performance of

an employee is evaluated. Appraisals are a part of career development and consist of regular

reviews of employee performance within organizations. A performance appraisal is a systematic

and periodic process that assesses an individual employee’s job performance, accomplishments,

potential for future improvement, strengths, weaknesses and productivity in relation to certain

pre-established criteria and organizational objectives.

1

Page 2: Employee Management System

This project aims at automating the daily operations of a Appraisal System. Appraisal

System has designed for the automatic generation of the Employee list for any company. Few

year back, when all the work in Employee system was performed manually. To generate

employee record for lacks of took lots of time. With the Online Appraisal System, these

problems can be overcome. Now to hire employee for any company you just have to specify the

id & the password you want to hire new employee for company. With this system you can also

maintain update the employee information.

The whole process of Appraisal system which covers receiving appraisal from Admin was

done manually till date. Processing to evaluate the appraisal that is checking and distributing

respective rating or scores is likely to take more time to take more time till it is under

development phase.

CURRENT SYSTEM PROBLEMS:

1) The current system is very time consuming

2) It is very difficult to evaluate manually

3) Evaluations are done manually which is not feasible.

4) The chances of paper leakage or paper lost are more in current system than proposed System.

5) In this system, appraisal processing takes more time as it is done manually.

WHATS NEW IS TO BE DEVELOPED:

The proposed system is completely online web application which is more feasible, efficient, user

friendly and economical.

Features of proposed system :

1) In comparison to present system the proposed system will be less time consuming and more

efficient.

2

Page 3: Employee Management System

2) Analysis will be very easy in proposed system as it is automated.

3) Decisions will be declared in a very short span of time just because of automated system.

4) The proposed system is much secure because there is no chance of paper leakage

5) The appraisals and other information’s are stored in secure database which is handled by an

administrator and backup can be thus created for future use.

Since the advent of computers in the last two decades, every organization is going under the

process of computerization. The computerization has many benefits. Primarily, a computer is

helpful in four major aspects of any kind of organization:

Time Efficiency

Cost Effective

Huge data storage capacity and

Simple operation

Online Appraisal System  is one of latest productivity enhancement tools used widely by all

organizations  wherever there is a need of booking of complaints also use by be the employee

for all the updates regarding his/her salary etc. Lack of paper movements provides complaint

management operations a speed which was never envisaged in manual mode at all. Online

Appraisal System is becoming more and more available, extracts communicative actions and

their subjects and classifies a complaint as valid or invalid (submitted due to a customer

misunderstanding, bad mood or other unrelated issues). 

The purpose of Online Appraisal System is to ensure that:

1. The work performed by employees accomplishes the work of the agency.

2. Employees have a clear understanding of the quality and quantity of work expected from

them.

3

Page 4: Employee Management System

3. Employees receive ongoing information about how effectively they are performing relative

to expectation.

4. Awards and salary increases based on employee performance are distributed accordingly.

5. Opportunities for employee development are identified.

6. Employee performance that does not meet expectations is addressed.

This project is modularized as the following:

1. Login

2. Add Employee

3. Modify Employee

4. Delete Employee

5. Search Employee

6. Employee List

7. Performance Appraisal

4

Page 5: Employee Management System

CHAPTER-2

LITERATURE REVIEW

Performance evaluation reflects an employee actual job performance levels, but in order to get a

true picture, the rating must be accurate . Accuracy is the primary goal of any appraisal system.

Employment decision that are based on inaccurate rating are not valid and would be difficult to

justify if legally challenged. Moreover, employee tend to lose their trust in the system when

rating do not accurately reflect there performance level, and there cause morale and turnover, it

also hinders on their opportunity for advancement.

In many instances, accurate rating seems to b e rare. Inaccuracy is most often attributable to the

presence of rater errors such as halo, regency, and leniency error. Rater errors are errors in

judgment that occur in a systematic manner when an individual observer and evaluates server

another. Rater errors may be defined technically as a difference between the output of the

human judgment process and that of an objective, accurate assessment uncolored by bias,

prejudice, or other subjective, extraneous influences. Another element that can cause inaccuracy

in rating is that of raters who lake the necessary training in how to conduct performance

evaluation . Training can help to educate a rater not only on system itself, but how to deal with

other issues such as consistency in rating and also the sensitization to appropriate rating

strategies and behavior.

5

Page 6: Employee Management System

This chapter sets out to look at the factor that hinder the accuracy the accuracy of performance

appraisal and the issues that can help to improve performance appraisal outcomes. This literature

review includes writings, research and scholarly opinions supporting the research.

6

Page 7: Employee Management System

CHAPTER-3

3.1ABOUT PROJECT

The Online Appraisal System(OAS)  is a process by which a manager or consultant examines

and evaluates an employee's work behavior by comparing it with preset standards,

documents the results of the comparison, and uses the results to provide feedback to the

employee to show where improvements are needed. The set of procedures used to assess the

value or quality of an individual, organization, project or phenomenon are referred to as an

appraisal system. These assessments or evaluations are usually done against agreed upon or set

parameters which enable comparison and ranking to be done during a specified period of time.

The results of these evaluations provide the basis for reward schemes and performance

improvement. A performance appraisal (PA), performance review, performance evaluation,

(career) development discussion, or employee appraisal is a method by which the job

performance of an employee is evaluated. Performance appraisals are a part of career

development and consist of regular reviews of employee performance within organizations. The

whole process of OAS covers receiving appraisal from client and HR side was done manually till

date.

7

Page 8: Employee Management System

3.1.1. DESCRIPTION OF WORK

0TH LEVEL:

Z↕↕↕↕↕↕

0th Level depicts the 2 different users namely;

1. Employee

2. Admin

8

ADMIN EMPLOYEE OAS

Page 9: Employee Management System

1ST LEVEL:

This level represents the login system for ADMIN, EMPLOYEE or BOSS with login table of

database.

In this level first Admin login into the system and Signup Users and store the data into database.

This level represents the login system for ADMIN or BOSS , EMPLOYEE with login table of

database.

9

ADMIN

HOME

SIGNUP USERS

LOGOUT

EDIT PROFILE

CHANGE PASSWORD

LOGIN PAGE

DATABASE FOR

ADMIN LOG

SIGNUP USERS (EMPLOYEE, ADMIN )

Page 10: Employee Management System

In this level first Admin login into the system and Signup Users and store the data into database.

Here

1). EMPLOYEE and ADMIN performs valid login through a Login page

2). Login details of EMPLOYEE and ADMIN are matched with database.

3). If valid login, EMPLOYEE and ADMIN are redirected to their respective home pages and if

invalid login, then all of them are redirected to invalid user page.

4). After EMPLOYEE successful login , Employee homepage appears which contains fields.

After HR successful login, HR home page appears which contains fields like:

1). HOME

2). EDIT PROFILE

3). CHANGE PASSWORD

4). APPRAISAL FORM

5). VIEW APPRAISAL RESULT

6). LOGOUT

3.1.2. OPERATIONS PERFORMED IN ONLINE APPRISAL SYSTEM

10

Page 11: Employee Management System

1).EMPLOYEE prepares their appraisal forms and submits. After submitting the form, the form

details are stored in database.

2). ADMIN checkout the client appraisal details from database. After that ADMIN evaluate

EMPLOYEE and add his ratings with Employee appraisal details and submit .Then EMPLOYEE

appraisal details with ADMIN rating get stored in database and a message goes.

3).EMPLOYEE and BOSS thus can also update their personal details in database.

11

Page 12: Employee Management System

3.1.3. FLOWCHART:

12

START

LOGIN EMPLOYEE BOSS

VALID/

INVALID

VALID/

INVALID

INVALID USERBOSS Home Page

EMPLOYEE Home Page

HOME

EDIT PROFILE

CHANGE PASSWORD

EMPLOYEE APPRAISALS

VIEW APPRAISAL RESULT

APPRAISAL FORM

HOME

EDIT PROFILE

CHANGE PASSWORD

RECORD NOT FOUND

VIEW APPRAISAL RESULT

Page 13: Employee Management System

3.1.4. SCREENSHOTS

LOGIN PAGE:

Login page:

This page is used to authenticate users ie user name and password. 2 types of user can access the

system:

13

LOGOUT LOGOUT

STOP

Page 14: Employee Management System

1). Admin

2). Employee

New user can also create his/her account.

ADMIN HOME PAGE:

This page consist of following attributes:

1).Employee name

2). Date of birth

14

Page 15: Employee Management System

3) Qualification

4).Department

5). Password

6). Salary

7). Phone no.

8). Email id

In the page of admin or user the registration of new user is also allowed. He/she can reset his

password can update his / her profile can change his password and also can delete his account .

EMPLOYEE HOMEPAGE:

15

Page 16: Employee Management System

Employee Homepage

1).Home

2).Edit profile

3).Change password

4).Appraisal form

5).View appraisal result

6). Logout

In the page, the registration of new user is also allowed. He/she can reset his password can

update his / her profile can change his password and also can delete there account .

16

Page 17: Employee Management System

Edit Profile Page of Employee (Same for all users)

In this page if the user want to update there profile and also can check there notification or any

kind of update he/she must login by using there login and password .

In this page there are three attributes which is mentioned above:

1). Notification

2).Update

3). Logout

17

Page 18: Employee Management System

After login in by user name and password he/she can change password

18

Page 19: Employee Management System

After Edit profile successfully this message appears

19

Page 20: Employee Management System

EMPLOYEE APPRISIAL FORM

20

Page 21: Employee Management System

DATABASE SCREENSHOTS:

21

Page 22: Employee Management System

3.1.5. TESTING

FUNCTIONAL TESTING

Functionality testing of software is testing conducted on a complete, integrated system to

evaluate the system's compliance with its specified requirements. Functionality testing falls

within the scope of black box testing, and as such, should require no knowledge of the inner

design of the code or logic.

STRUCTURAL TESTING

Structural testing is a method of testing software that tests internal structures or workings of an

application as opposed to its functionality (black-box testing). An internal perspective of the

system, as well as programming skills, are required and used to design test cases. The tester

chooses inputs to exercise paths through the code and determine the appropriate outputs.

LEVELS OF TESTING:

22

Page 23: Employee Management System

Testing is an important step in software development life cycle. The process of testing takes

place at various stages of development in programming. This is a vital step in development life

cycle because the process of testing helps to identify the mistakes and sends the program for

correction. This process gets repeated at various stages until the final unit or program is found to

be complete thus giving a total quality to the development process. The various levels of testing

found in a software development life cycle are: 

UNIT TESTING :

Unit testing is done for each module of the program to ensure the validity of each module. This

type of testing is done usually by developers by writing test cases for each scenarios of the

module and writing the results occurring in each step for each module.

REGRESSION TESTING :

We all know that development life cycle is subjected to continuous changes as per the

requirements of user. Suppose if there is a change in the existing system which has already been

tested it is essential that one has to make sure that this new changes made to the existing system

do not affect the existing functionality. For ensuring this regression testing is done. 

INTEGRATION TESTING :

Unit testing for each module as explained above the process of integrated testing as a whole

becomes simpler. This is because by correcting mistakes or bugs in each module the integration

of all units as a system and testing process becomes easier. So one might think why the

integration is testing needed. The answer is simple. It is needed because unit testing as explained

test and assures correctness of only each module. But it does not cover the aspects of how the

system would behave or what error would be reported when modules are integrated. This is done

23

Page 24: Employee Management System

in the level of integration testing. 

ALPHA TESTING :

The above different testing process described takes place in different stages of development as

per the requirement and needs. But a final testing is always made after a full finished product that

is before it released to end users and this is called as alpha testing. The alpha testing involves

both the white box testing and black box testing thus making alpha testing to be carried out in

two phases.

BETA TESTING :

This process of testing is carried out to have more validity of the software developed. This takes

place after the alpha testing. After the alpha phase also the generally the release is not made fully

to all end users. The product is released to a set of people and feedback is got from them to

ensure the validity of the product. So here normally the testing is being done by group of end

users and therefore this beta testing phase covers black box testing or functionality testing only.

3.2. IMPLEMENTATION DETAIL

3.2.1. HARDWARE & SOFTWARE REQUIREMENT

HARDWARE REQUIREMENT

PROCESSOR Intel Dual Core

RAM 1 GB

24

Page 25: Employee Management System

HARD DISK 2 GB

SOFTWARE REQUIREMENTS

LANGUAGE Java

FRONT END TOOL Net Beans IDE 6.9.1

DATABASE MS Access 2007

OPERATING SYSTEMS WINDOW 7

BROWSER INTERNET EXPLORER / GOOGLE CHROME

3.2.2. USER MANUAL

TECHNOLOGU USED

Java technology is both a programming language and a platform. The Java programming

language is a high-level language that can be characterized by all of the following buzzwords:

1).Simple

2).Object Oriented

3).Distributed

4).Multithreaded

5).Dynamic

6).Architecture Neutral

25

Page 26: Employee Management System

7).Portable

8).High performance

9).Robust

10).Secure

Because of Java reliability, minimum software & hardware requirement, extensibility and its

compatibility with all PC’s(OS-independence), we have chosen ‘Java & My SQL’ language to

develop this project.

Net Beans IDE 6.9.1

Net Beans is an integrated development environment (IDE) for developing primarily with Java

but also with other languages, in particular PHP, C/C++, and HTML.  It is also an application

platform framework for Java desktop applications and others. The Net Beans IDE is written in

Java and can run on Windows, OS X, Linux, Solaris and other platforms supporting a compatible

JVM.

The Net Beans Platform allows applications to be developed from a set of modular software

components called modules. Net Beans refers to both a platform framework for Java desktop

applications, and an integrated development environment (IDE) for developing with Java,

JavaScript, PHP, Python, Ruby, Groovy, C, C++, SCALA, CLOJURE, and others . The Net

Beans IDE is written in Java and runs everywhere where a JVM is installed, including Windows,

Mac OS, Linux, and Solaris.

26

Page 27: Employee Management System

3.3. SCOURCE CODE

3.3.1. LOGIN PAGE

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/*

* Login.java

*

* Created on Apr 2, 2014, 2:33:02 PM

*/

package employeemanagementsystem;

/**

27

Page 28: Employee Management System

*

* @author NIRO

*/

public class Login extends javax.swing.JFrame {

/** Creates new form Login */

public Login() {

initComponents();

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

28

Page 29: Employee Management System

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

txtuser = new javax.swing.JTextField();

btnSubmit = new javax.swing.JButton();

btnCancel = new javax.swing.JButton();

txtPass = new javax.swing.JPasswordField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setText("jLabel1")

jLabel2.setFont(new java.awt.Font("Algerian", 1, 18)); // NOI18N

jLabel2.setText("wELCOME TO APPRASIAL SYSTEM");

jLabel3.setFont(new java.awt.Font("Times New Roman", 0, 14));

jLabel3.setText("User Name");

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14));

jLabel4.setText("Password");

btnSubmit.setText("Submit");

btnSubmit.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

29

Page 30: Employee Management System

btnSubmitActionPerformed(evt);

}

});

btnCancel.setText("Cancel");

btnCancel.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnCancelActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING) .addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGr

oup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel2,javax.swing.GroupLayout.DEFAULT_SIZE,

430,Short.MAX_VALU .addGroup(layout.createSequentialGroup()

.addGap(131, 131, 131)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA

DING) .addComponent(btnSubmit)

30

Page 31: Employee Management System

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel4)

.addComponent(jLabel3))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali

gnment.LEADING) .addGroup(layout.createSequentialGroup()

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED .addCompone

nt(txtuser,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE

.addGroup(layout.createSequentialGroup()

.addGap(27, 27, 27)

.addComponent(btnCancel)) .addGroup(layout.createSequentialGroup()

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addCompon

ent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)))))

.addContainerGap())

);

layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA

DING).addGroup(layout.createSequentialGroup()

.addGap(25, 25, 25)

.addComponent(jLabel2,javax.swing.GroupLayout.PREFERRED_SIZE,62,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(27,27,27) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al

ignment.BASELINE)

31

Page 32: Employee Management System

.addComponent(jLabel3)

.addComponent(txtuser,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(29,29,29) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al

ignment.BASELINE) .addComponent(jLabel4)

.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.Co

mponentPlacement.RELATED,37,Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addC

omponent(btnSubmit)

.addComponent(btnCancel))

.addGap(47, 47, 47)) );

pack();

}// </editor-fold>

private void btnSubmitActionPerformed(java.awt.event.ActionEvent evt)

{

// TODO add your handling code here:

String empid = DB.Connect.validateLogin(txtuser.getText(), txtPass.getText());

if(txtuser.getText().equalsIgnoreCase("Admin")&&

txtPass.getText().equalsIgnoreCase("Admin"))

{

32

Page 33: Employee Management System

Admin a=new Admin()

this.hide();

a.show();

}

else

{

Employee emp=new Employee(empid);

emp.show()

}

private void btnCancelActionPerformed(java.awt.event.ActionEven evt)

{

// TODO add your handling code here:

txtuser.setText(null);

txtPass.setText(null);

}

/** * @param args the command line arguments */

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Login().setVisible(true);

33

Page 34: Employee Management System

} });

}

// Variables declaration - do not modify private javax.swing.JButton btnCancel;

private javax.swing.JButton btnSubmit;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JPasswordField txtPass;

private javax.swing.JTextField txtuser;

// End of variables declaration

}

3.3.2. ADMIN PAGE

/*

* To change this template, choose Tools | Templates

34

Page 35: Employee Management System

* and open the template in the editor.

*/

/*

* Admin.java

*

* Created on Apr 20, 2014, 2:43:56 PM

*/

Pckage employeemanagementsystem;

import java.awt.Color;

import java.sql.SQLException;

import javax.swing.JOptionPane;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.util.logging.Level;

import java.util.logging.Logger;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

35

Page 36: Employee Management System

import javax.swing.table.DefaultTableModel;

/**

*

* @author NIRO

*/

public class Admin extends javax.swing.JFrame {

ResultSet rs;

int i=0;

public Admin()

{

initComponents();

txtID.setText(DB.Connect.getEMPID());

txtSearch.setVisible(false);

btnsearch.setVisible(false);

lblemp.setVisible(false);

lblPhone.setVisible(false);

lbl.setVisible(false);

lbldisplay.setVisible(false);

lblname.setVisible(false);

DB.Connect.openConnection();

36

Page 37: Employee Management System

display();

}

void display()

{

try {

String query = "SELECT * FROM emp";

rs = DB.Connect.stat.executeQuery(query);

} catch (SQLException ex)

{

//Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);

}

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

37

Page 38: Employee Management System

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

jLabel8 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

txtID = new javax.swing.JTextField();

txtName = new javax.swing.JTextField();

txtDOb = new javax.swing.JTextField();

txtQual = new javax.swing.JComboBox();

txtDep = new javax.swing.JComboBox();

txtSal = new javax.swing.JTextField();

txtPhone = new javax.swing.JTextField();

38

Page 39: Employee Management System

txtEmail = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jButton3 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

btnNext = new javax.swing.JButton();

btnPrevious = new javax.swing.JButton();

btnFirst = new javax.swing.JButton();

btnLast = new javax.swing.JButton();

jButton5 = new javax.swing.JButton();

jButton6 = new javax.swing.JButton();

jButton7 = new javax.swing.JButton();

lblemp = new javax.swing.JLabel();

btnsearch = new javax.swing.JButton();

jButton8 = new javax.swing.JButton();

txtPass = new javax.swing.JPasswordField();

txtSearch = new javax.swing.JTextField();

lbl = new javax.swing.JLabel();

lblphone = new javax.swing.JLabel();

lblPhone = new javax.swing.JLabel();

39

Page 40: Employee Management System

lbldisplay = new javax.swing.JLabel();

lblname = new javax.swing.JLabel();

jLabel11 = new javax.swing.JLabel();

txtcpass = new javax.swing.JPasswordField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setFont(new java.awt.Font("Algerian", 1, 18));

jLabel1.setText("Online Apprasial System");

jLabel2.setText("Employee ID");

jLabel3.setText("Employee Name");

jLabel4.setText("DOB");

jLabel5.setText("Department");

jLabel6.setText("Password");

jLabel7.setText("Salary");

jLabel8.setText("Qualificaation");

jLabel9.setText("Phone No");

jLabel10.setText("Email ID");

txtID.setEnabled(false);

txtName.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

40

Page 41: Employee Management System

txtNameKeyPressed(evt);

}

});

txtQual.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "B.E.", "B.Tech",

"B.A.", "B.B.A" }));

txtDep.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "HR Department", "

" }));

txtSal.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

txtSalActionPerformed(evt);

}

});

txtSal.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

txtSalKeyPressed(evt);

}

});

txtPhone.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

txtPhoneKeyPressed(evt);

41

Page 42: Employee Management System

}

});

txtEmail.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

txtEmailKeyPressed(evt);

}

});

jButton1.setText("Register");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jButton2.setText("Reset");

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

jButton3.setText("Search");

42

Page 43: Employee Management System

jButton3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton3ActionPerformed(evt);

}

});

jButton4.setText("Update");

jButton4.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton4ActionPerformed(evt);

}

});

btnNext.setText("Next");

btnNext.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnNextActionPerformed(evt);

}

});

btnPrevious.setText("Previous");

43

Page 44: Employee Management System

btnPrevious.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnPreviousActionPerformed(evt);

}

});

btnFirst.setText("First");

btnFirst.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnFirstActionPerformed(evt);

}

});

btnLast.setText("Last");

btnLast.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnLastActionPerformed(evt);

}

});

jButton5.setText("Delete");

jButton5.addActionListener(new java.awt.event.ActionListener() {

44

Page 45: Employee Management System

public void actionPerformed(java.awt.event.ActionEvent evt) { jButton5ActionPerformed(evt);

}

});

jButton6.setText("Report");

jButton6.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton6ActionPerformed(evt);

}

});

jButton7.setText("Log Out");

jButton7.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton7ActionPerformed(evt);

}

});

lblemp.setText("Enter Employee ID");

btnsearch.setText("Get Value");

btnsearch.addActionListener(new java.awt.event.ActionListener()

45

Page 46: Employee Management System

public void actionPerformed(java.awt.event.ActionEvent evt) {

btnsearchActionPerformed(evt);

}

}); jButton8.setText("New Record");

jButton8.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton8ActionPerformed(evt);

}

});

lblPhone.setText("jLabel11");

lbldisplay.setText("jLabel11");

lblname.setText("jLabel11");

jLabel11.setText("Confirm Password");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addGap(141, 141, 141)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

46

Page 47: Employee Management System

.addComponent(jLabel10)

.addComponent(lblemp)

.addComponent(jLabel2)

.addComponent(jLabel3)

.addComponent(jLabel4)

.addComponent(jLabel6)

.addComponent(jLabel7)

.addComponent(jLabel9)

.addComponent(jLabel5)

.addComponent(jLabel8)

.addComponent(jLabel11))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(txtQual, 0, javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(txtDep, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(txtName,javax.swing.GroupLayout.DEFAULT_SIZE,120,Short.MAX_VALU

E) .addComponent(txtID, javax.swing.GroupLayout.DEFAULT_SIZE, 120,

47

Page 48: Employee Management System

Short.MAX_VALUE) .addComponent(txtDOb, javax.swing.GroupLayout.DEFAULT_SIZE,

120, Short.MAX_VALUE)

.addComponent(txtSearch,javax.swing.GroupLayout.DEFAULT_SIZE,120,

Short.MAX_VALUE)

.addComponent(txtSal, javax.swing.GroupLayout.DEFAULT_SIZE, 120,

Short.MAX_VALUE)

.addComponent(txtPhone javax.swing.GroupLayout.DEFAULT_SIZE,120,

Short.MAX_VALUE)

.addComponent(txtEmail,javax.swing.GroupLayout.DEFAULT_SIZE,120,

Short.MAX_VALUE)

.addComponent(txtPass,javax.swing.GroupLayout.DEFAULT_SIZE, 120,

Short.MAX_VALUE)) .addComponent(txtcpass,javax.swing.GroupLayout.PREFERRED_SIZE,

\120, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(68,68,68) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

LEADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAIL

ING, false)

.addComponent(lblphone,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(lbl,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

48

Page 49: Employee Management System

.addComponent(btnsearch,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(layout.createSequentialGroup()

.addGap(10, 10, 10)

.addComponent(lblPhone,javax.swing.GroupLayout.PREFERRED_SIZE,61,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()

.addGap(10, 10, 10)

.addComponent(lbldisplay,javax.swing.GroupLayout.PREFERRED_SIZE,61,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,8,

Short.MAX_VALUE)))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAIL

ING, false)

.addComponent(btnFirst,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(btnPrevious,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

49

Page 50: Employee Management System

.addComponent(jButton7,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(btnNext,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(btnLast javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(lblname,javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.PREFERRED_SIZE,62,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGap(172, 172, 172))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup(

.addContainerGap(156, Short.MAX_VALUE)

.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,335,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(196, 196, 196))

.addGroup(layout.createSequentialGroup()

.addGap(45, 45, 45)

50

Page 51: Employee Management System

.addComponent(jButton1)

.addGap(18, 18, 18)

.addComponent(jButton8)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jButton2)

.addGap(18, 18, 18)

.addComponent(jButton3)

.addGap(18, 18, 18)

.addComponent(jButton4)

.addGap(18, 18, 18)

.addComponent(jButton5)

.addGap(18, 18, 18)

.addComponent(jButton6)

.addContainerGap(61, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap() .addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,32,

javax.swing.GroupLayout.PREFERRED_SIZE)

51

Page 52: Employee Management System

.addGap(12, 12, 12)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addC

omponent(lblemp)

.addComponent(btnsearch)

.addComponent(txtSearch,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18,18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.s

wing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel2)

.addComponent(txtID,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(la

yout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jL

abel3) .addComponent(txtName,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addComponent(lblname))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)

52

Page 53: Employee Management System

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jButton7)

.addComponent(txtDOb,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(6, 6, 6)

addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtQual,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel8))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtDepjavax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel5))

.addGap(17, 17, 17)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel6)

53

Page 54: Employee Management System

.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()

.addGap(16, 16, 16)

.addComponent(btnNext)

.addGap(15, 15, 15)

.addComponent(btnFirst).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNR

ELATED)

.addComponent(btnPrevious)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(btnLast)

.addComponent(jLabel11)

.addComponent(txtcpass,javax.swing.GroupLayout.PREFERRED_SIZE,25,javax.swing.GroupL

ayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtSal,\javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel7)

.addComponent(lbl))

54

Page 55: Employee Management System

.addGap(11,11,11) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al

ignment.BASELINE)

.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel9) .addComponent(lblphone,javax.swing.GroupLayout.PREFERRED_SI

ZE,0, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(lblPhone,javax.swing.GroupLayout.PREFERRED_SIZE,20,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtEmail,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel10))

.addComponent(lbldisplay))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton6)

.addComponent(jButton5)

.addComponent(jButton4)

.addComponent(jButton3)

55

Page 56: Employee Management System

.addComponent(jButton2)

.addComponent(jButton8)

.addComponent(jButton1))

.addContainerGap(42, Short.MAX_VALUE))

);

pack();

}// </editor-fold>

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Login ln=new Login();

this.hide();

ln.show();

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)

{

if(txtPass.getText().equals(txtcpass.getText()))

{

try {

DB.Connect.openConnection();

56

Page 57: Employee Management System

String str="Insert into emp values('" + txtID.getText() + "','" + txtName.getText() + "','" +

txtDOb.getText()+ "','" + txtQual.getSelectedItem().toString() + "','" +

txtDep.getSelectedItem().toString() + "','" + txtPass.getText() + "','" + txtSal.getText()+"','"

+txtPhone.getText()+ "','" +txtEmail.getText()+ "','" +DB.Connect.getDate()+"','"

+DB.Connect.getTime()+ "')";

DB.Connect.stat.executeUpdate(str);

JOptionPane.showMessageDialog(null,"Register Successfully");

DB.Connect.closeConnection();

} catch (Exception e1) {

e1.printStackTrace();

}

}

else

JOptionPane.showMessageDialog(null,"Password Not Matched");

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

txtDOb.setText(null);

txtEmail.setText(null);

txtName.setText(null);

57

Page 58: Employee Management System

txtPass.setText(null);

txtSal.setText(null);

txtPhone.setText(null);

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

txtSearch.setVisible(true);

btnsearch.setVisible(true);

lblemp.setVisible(true);

}

private void btnsearchActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

// TODO add your handling code here:

boolean b = true;

// TODO add your handling code here:

DB.Connect.openConnection();

String sql = "select * from emp where emp_ID='" +txtSearch.getText()+ "'";

rs = DB.Connect.stat.executeQuery(sql);

58

Page 59: Employee Management System

if (rs.next()) {

setText();

txtSearch.setVisible(false);

btnsearch.setVisible(false);

lblemp.setVisible(false);

}

rs.close();

DB.Connect.closeConnection();

if (b) {

JOptionPane.showMessageDialog(null, "Record Not Found");

}

} catch (SQLException ex) {

ex.printStackTrace();

}

}

public void updateAccount()

{

try{

DB.Connect.openConnection();

59

Page 60: Employee Management System

DB.Connect.stat.executeUpdate("UPDATE emp SET emp_Pass='" + txtPass.getText() +

"',emp_Sal='" +txtSal.getText() + "',emp_Phone='" + txtPhone.getText() + "',emp_Email='" +

txtEmail.getText() + "' WHERE emp_ID='" + txtID.getText() + "'");

DB.Connect.closeConnection();

JOptionPane.showMessageDialog(null,"Updated Successfully");

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

updateAccount();

DB.Connect.record(txtID.getText(),txtName.getText(),txtDOb.getText(),

txtQual.getSelectedItem().toString(),txtDep.getSelectedItem().toString(),txtPass.getText(),txtSal.

getText(),txtPhone.getText(),txtEmail.getText());

}

void deleteInfo()

{

60

Page 61: Employee Management System

try{

DB.Connect.openConnection();

DB.Connect.stat.executeUpdate("delete * from emp where emp_ID='" +txtID.getText()+ "'");

DB.Connect.closeConnection();

JOptionPane.showMessageDialog(null,"Record Deleted Successfully");

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

deleteInfo();

}

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Admin a=new Admin();

a.show();

}

61

Page 62: Employee Management System

public void getcol() {

try {

DefaultTableModel model;

JTable tb;

JScrollPane sb;

JFrame f3 = new JFrame();

tb = new JTable();

tb.setBounds(10, 40, 10, 10);

f3.setSize(900, 450);

f3.setTitle("Report Generation");

sb = new JScrollPane(tb);

sb.setBounds(30, 60, 150, 100);

f3.add(sb);

f3.setVisible(true);

DB.Connect.openConnection();

DB.Connect.rs = DB.Connect.stat.executeQuery("select * from emp");

ResultSetMetaData rsmd = DB.Connect.rs.getMetaData();

// JPanel panel = new JPanel();

// model.addColumn("Purchase");

62

Page 63: Employee Management System

model = new DefaultTableModel();

model.addColumn("Employee ID");

model.addColumn("Employee Name");

model.addColumn("DOB");

model.addColumn("Qualification");

model.addColumn("Department");

model.addColumn("Password");

model.addColumn("Salary");

model.addColumn("Phone No");

model.addColumn("Email ID");

model.addColumn("Date");

model.addColumn("Time");

// model.addColumn("Purchase");

tb.setModel(model);

String data1[] = new String[11];

while (DB.Connect.rs.next()) {

data1[0] =DB.Connect.rs.getString(1);

data1[1] = DB.Connect.rs.getString(2);

data1[2] = DB.Connect.rs.getString(3);

63

Page 64: Employee Management System

data1[3] = DB.Connect.rs.getString(4);

data1[4] =DB.Connect. rs.getString(5);

data1[5] =DB.Connect.rs.getString(6);

data1[6] = DB.Connect.rs.getString(7);

data1[7] =DB.Connect.rs.getString(8);

data1[8] =DB.Connect.rs.getString(9);

data1[9] =DB.Connect.rs.getString(10);

data1[10] =DB.Connect.rs.getString(11);

model.addRow(data1);

}

DB.Connect.closeConnection();

} catch (Exception e) {

e.printStackTrace();

}

}

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

getcol();

}

64

Page 65: Employee Management System

private void btnFirstActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

//DB.Connect.closeConnection();

if(rs.first());

setText();

// connection.close();

} catch (Exception ex) {

// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);

}

}

private void btnLastActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

// DB.Connect.closeConnection();

if(rs.last());

setText();

// connection.close();

} catch (Exception ex) {

65

Page 66: Employee Management System

// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);

}

}

private void btnPreviousActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

//DB.Connect.closeConnection();

if(rs.previous());

setText();

// connection.close();

// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);

}

}

private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

//connection.open();

//DB.Connect.closeConnection();

if(rs.next());

setText();

66

Page 67: Employee Management System

// connection.close();

} catch (Exception ex) {

// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);

}

}

private void txtSalKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

String input = txtSal.getText();

Pattern p = Pattern.compile("[A-Z,a-z,&%$@!()*^]");

Matcher m = p.matcher(input);

if (m.find()) {

lbl.setVisible(true);

lbl.setText("Invalid !!");

lbl.setVisible(true);

lbl.setForeground(Color.red);

txtSal.setText("");

} else {

lbl.setVisible(false);

}

67

Page 68: Employee Management System

}

private void txtSalActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void txtPhoneKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

String input = txtPhone.getText();

int a=input.length();

Pattern p = Pattern.compile("[A-Z,a-z,&%$@!()*^]");

Matcher m = p.matcher(input);

if (m.find()) {

lblPhone.setVisible(true);

lblPhone.setText("Invalid!!");

lblPhone.setVisible(true);

lblPhone.setForeground(Color.red);

txtPhone.setText("");

} else

{

lblPhone.setVisible(false);

}

68

Page 69: Employee Management System

}

private void txtEmailKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

}

private void txtNameKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

Pattern p = Pattern.compile("[0-9]");

Matcher m = p.matcher(input);

if (m.find()) {

lblname.setText("Invalid!!");

lblname.setVisible(true);

lblname.setForeground(Color.red);

txtName.setText(null);

} else {

lblname.setVisible(false);

}

}

void setText() throws SQLException {

txtName.setText(rs.getString(2));

69

Page 70: Employee Management System

txtDOb.setText(rs.getString(3));

txtQual.setSelectedItem(rs.getString(4));

txtDep.setSelectedItem(rs.getString(5));

txtPass.setText(rs.getString(6));

txtSal.setText(rs.getString(7));

txtPhone.setText(rs.getString(8));

txtEmail.setText(rs.getString(9));

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Admin().setVisible(true);

}

});

}

// Variables declaration - do not modify

70

Page 71: Employee Management System

private javax.swing.JButton btnFirst;

private javax.swing.JButton btnLast;

private javax.swing.JButton btnNext;

private javax.swing.JButton btnPrevious;

private javax.swing.JButton btnsearch;

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JButton jButton4;

private javax.swing.JButton jButton5;

private javax.swing.JButton jButton6;

private javax.swing.JButton jButton7;

private javax.swing.JButton jButton8;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

71

Page 72: Employee Management System

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JLabel lbl;

private javax.swing.JLabel lblPhone;

private javax.swing.JLabel lbldisplay;

private javax.swing.JLabel lblemp;

private javax.swing.JLabel lblname;

private javax.swing.JLabel lblphone;

private javax.swing.JTextField txtDOb;

private javax.swing.JComboBox txtDep;

private javax.swing.JTextField txtEmail;

private javax.swing.JTextField txtID;

private javax.swing.JTextField txtName;

private javax.swing.JPasswordField txtPass;

private javax.swing.JTextField txtPhone;

private javax.swing.JComboBox txtQual;

private javax.swing.JTextField txtSal;

private javax.swing.JTextField txtSearch;

72

Page 73: Employee Management System

private javax.swing.JPasswordField txtcpass;

// End of variables declaration

}

3.3.3. EMPLOYEE PAGE

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/*

* Employee.java

*

* Created on Apr 2, 2014, 3:31:29 PM

*/

package employeemanagementsystem;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import javax.swing.JOptionPane;

73

Page 74: Employee Management System

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

/**

*

* @author NIRO

*/

public class Employee extends javax.swing.JFrame {

/** Creates new form Employee */

public Employee(String empid)

initComponents();

setEMPID(empid);

setText();

}

private String empid ;

public void setEMPID(String empid) {

this.empid = empid;

}

74

Page 75: Employee Management System

public String getEMPID() {

return empid;

}

void setText()

{

try {

// TODO add your handling code here:

boolean b = true;

// TODO add your handling code here:

DB.Connect.openConnection();

String sql = "select * from emp where emp_ID='" +getEMPID()+ "'";

DB.Connect.rs = DB.Connect.stat.executeQuery(sql);

if (DB.Connect.rs.next()) {

txtID.setText(DB.Connect.rs.getString(1));

txtName.setText(DB.Connect.rs.getString(2));

txtDOb.setText(DB.Connect.rs.getString(3));

txtQual.setText(DB.Connect.rs.getString(4));

txtDept.setText(DB.Connect.rs.getString(5));

txtPass.setText(DB.Connect.rs.getString(6));

75

Page 76: Employee Management System

txtSal.setText(DB.Connect.rs.getString(7));

txtPhone.setText(DB.Connect.rs.getString(8));

txtEmail.setText(DB.Connect.rs.getString(9));

b = false;

}

DB.Connect.rs.close();

DB.Connect.closeConnection();

if (b) {

JOptionPane.showMessageDialog(null, "Record Not Found");

}

} catch (SQLException ex) {

ex.printStackTrace();

}

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

76

Page 77: Employee Management System

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jLabel8 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

txtID = new javax.swing.JTextField();

txtName = new javax.swing.JTextField();

txtDOb = new javax.swing.JTextField();

txtPass = new javax.swing.JPasswordField();

txtSal = new javax.swing.JTextField();

txtPhone = new javax.swing.JTextField();

txtEmail = new javax.swing.JTextField();

txtQual = new javax.swing.JTextField();

77

Page 78: Employee Management System

txtDept = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

jButton3 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setFont(new java.awt.Font("Algerian", 1, 18));

jLabel1.setText("Online appraisal System");

jLabel8.setText("Qualificaation");

jLabel6.setText("Password");

jLabel7.setText("Salary");

jLabel4.setText("DOB");

jLabel5.setText("Department");

jLabel2.setText("Employee ID");

jLabel3.setText("Employee Name");

jLabel10.setText("Email ID");

jLabel9.setText("Phone No");

txtID.setEnabled(false);

txtName.setEnabled(false);

txtDOb.setEnabled(false);

78

Page 79: Employee Management System

txtSal.setEnabled(false);

txtQual.setEnabled(false);

txtDept.setEnabled(false);

jButton1.setText("Update");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jButton3.setText("Log Out");

jButton3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton3ActionPerformed(evt);

}

});

jButton2.setText("Notification");

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

79

Page 80: Employee Management System

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap(178, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel2)

.addComponent(jLabel3)

.addComponent(jLabel4)

.addComponent(jLabel8)

.addComponent(jLabel6)

.addComponent(jLabel7)

.addComponent(jLabel9)

.addComponent(jLabel10)

80

Page 81: Employee Management System

.addComponent(jLabel5))

.addComponent(jButton2))

.addGap(6, 6, 6)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(txtEmail,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtSal,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtName,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtID,javax.swing.GroupLayout.PREFERRED_SIZE,\120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtDOb,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtQual,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtDept,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,120,

javax.swing.GroupLayout.PREFERRED_SIZE)

81

Page 82: Employee Management System

.addGroup(layout.createSequentialGroup()

.addComponent(jButton1)

.addGap(18, 18, 18)

.addComponent(jButton3)))

.addGap(226, 226, 226))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,344,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(167, 167, 167))))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(19, 19, 19)

.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,35,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel2)

82

Page 83: Employee Management System

.addComponent(txtID,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel3)

.addComponent(txtNamejavax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(txtDOb,javax.swing.GroupLayout.Alignment.TRAILING,

javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()

.addGap(24, 24, 24)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(txtQual,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)))

83

Page 84: Employee Management System

.addGroup(layout.createSequentialGroup()

.addGap(70, 70, 70)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel5)

.addComponent(txtDept,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(17, 17, 17)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel6)

.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtSal,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel7))))

.addGap(11, 11, 11)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel9))

84

Page 85: Employee Management System

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtEmail,javax.swing.GroupLayout.PREFERRED_SIZE,25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel10))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,30,

Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jButton3)

.addComponent(jButton1)

.addComponent(jButton2))

.addContainerGap())

);

pack();

}// </editor-fold>

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Login ln=new Login();

ln.show();

this.hide();

85

Page 86: Employee Management System

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

updateAccount();

}

void getcol() {

try {

DefaultTableModel model;

JTable tb;

JScrollPane sb;

JFrame f3 = new JFrame();

tb = new JTable();

tb.setBounds(10, 40, 10, 10);

f3.setSize(900, 450);

f3.setTitle("Report Generation");

sb = new JScrollPane(tb);

sb.setBounds(30, 60, 150, 100);

f3.add(sb);

f3.setVisible(true);

86

Page 87: Employee Management System

DB.Connect.openConnection();

DB.Connect.rs = DB.Connect.stat.executeQuery("select * from notification where emp_ID='"

+getEMPID()+ "'");

ResultSetMetaData rsmd = DB.Connect.rs.getMetaData();

// JPanel panel = new JPanel();

// model.addColumn("Purchase");

model = new DefaultTableModel();

model.addColumn("Employee ID");

model.addColumn("Employee Name");

model.addColumn("DOB");

model.addColumn("Qualification");

model.addColumn("Department");

model.addColumn("Password");

model.addColumn("Salary");

model.addColumn("Phone No");

model.addColumn("Email ID");

model.addColumn("Date");

model.addColumn("Time");

// model.addColumn("Purchase");

tb.setModel(model);

87

Page 88: Employee Management System

String data1[] = new String[11];

while (DB.Connect.rs.next()) {

data1[0] =DB.Connect.rs.getString(1);

data1[1] = DB.Connect.rs.getString(2);

data1[2] = DB.Connect.rs.getString(3);

data1[3] = DB.Connect.rs.getString(4);

data1[4] =DB.Connect. rs.getString(5);

data1[5] =DB.Connect.rs.getString(6);

data1[6] = DB.Connect.rs.getString(7);

data1[8] =DB.Connect.rs.getString(9);

data1[9] =DB.Connect.rs.getString(10);

data1[10] =DB.Connect.rs.getString(11);

model.addRow(data1);

}

DB.Connect.closeConnection();

} catch (Exception e) {

e.printStackTrace();

}

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

88

Page 89: Employee Management System

}

public void updateAccount()

{

try{

DB.Connect.openConnection();

DB.Connect.stat.executeUpdate("UPDATE emp SET emp_Pass='" + txtPass.getText() +

"',emp_Phone='" + txtPhone.getText() + "',emp_Email='" + txtEmail.getText() + "' WHERE

emp_ID='" + txtID.getText() + "'");

DB.Connect.closeConnection();

JOptionPane.showMessageDialog(null,"Updated Successfully");

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

89

Page 90: Employee Management System

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JTextField txtDOb;

90

Page 91: Employee Management System

private javax.swing.JTextField txtDept;

private javax.swing.JTextField txtEmail;

private javax.swing.JTextField txtID;

private javax.swing.JTextField txtName;

private javax.swing.JPasswordField txtPass;

private javax.swing.JTextField txtPhone;

private javax.swing.JTextField txtQual;

private javax.swing.JTextField txtSal;

// End of variables declaration

CHAPTER-4

4.1. CONCLUSION

91

Page 92: Employee Management System

The proposed system is completely online web application which is more feasible, efficient, user

friendly and economical. By adopting a system that manages the entire employee lifecycle - from

recruiting to performance assessment to goal alignment to employee retention—it's safe to say

that having an online automated system can truly transform your business by increasing your

revenue while lowering your bottom line costs.

Features of proposed system (which we analyze)

In comparison to present system the proposed system will be less time consuming and

more efficient.

Analysis will be very easy in proposed system as it is automated.

Decisions will be declared in a very short span of time just because of automated system.

The proposed system is much secure because there is no chance of paper leakage.

The appraisals and other informIIation’s are stored in secure database which is handled

by an administrator and backup can be thus created for future use.

4.2. FUTURE SCOPE

Performance appraisal systems began as simple methods of income justification hence appraisal

is used to decide whether or not the salary or wage of an individual employee is justified.

92

Page 93: Employee Management System

Appraisal System really dates from the time of the Second World War - not more than 60 years

ago.

Modern OAS may be defined as a structured formal interaction between a subordinate and

supervisor, that usually takes the form of a periodic interview, in which the work performance of

the subordinate is examined and discussed, with a view to identifying weaknesses and strengths

as well as opportunities for improvement and skills development. In many organizations - but not

all - appraisal results are used, either directly or indirectly, the appraisal results are used to

identify the better performing employees who should get the majority of available merit pay

increases, bonuses, and promotions.

BIBLIOGRAPHY

93

Page 94: Employee Management System

BOOKS REFERRED

The following books were used extensively for the project development and implementation:

1).”The Complete Reference Java2” Tata McGraw-Hill publishing Company Limited. By

Herbert Schildt.

2).“Software Engineering, A Practitioner’s Approach” Tata McGraw-Hill Publishing Company

Limited. By Roger S. Pressman.

3).HEAD FIRST BOOK ( JAVA)

WEBSITES REFERRED

The following links were searched and exploited extensively for the project development and

implementation:

1).http://www.java.sun.com/products\java

2). http://www.jakarta.apache.org

3). http://www.javaworld.com/

4).http://www.java2s.com/

94