Академический Документы
Профессиональный Документы
Культура Документы
A report submitted in partial fulfillment of the requirements for the Award of Degree of
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING
by
CH.SAI BHAVYA
Regd. No.: 16A51A0534
Under Supervision of
Mr. Krishna
HOTSPARE e-services PVT., LTD,
Rushikonda,Vishakhapatnam-530048,A.P.,INDIA
(Duration: 9th May, 2019 to 4th June, 2019)
i
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
ADITYA INSTITUTE OF TECHNOLOGY AND MANAGEMENT
(An Autonomous Institution)
TEKKALI
CERTIFICATE
This is to certify that the “Internship report” submitted by CH.SAI BHAVYA(Regd. No.:
16A51A0534) is work done by her and submitted during 2019 – 2020 academic year, in partial
fulfillment of the requirements for the award of the degree of BACHELOR OF TECHNOLOGY in
COMPUTER SCIENCE AND ENGINEERING, at Hotspare e-services pvt.Ltd,
Vishakapatanam-530048.
Dr.G.S.N.Murthy
M. Tech.,Ph.D.
Head of the Department
Department of CSE
ii
iii
ACKNOWLEDGEMENT
I also would like all the people that worked along with me HOTSPARE,
Vishakhapatnam with their patience and openness they created an enjoyable working
environment.
It is indeed with a great sense of pleasure and immense sense of gratitude that I
acknowledge the help of these individuals.
I would like to thank my Head of the Department Dr. G.S.N.Murthy for his
constructive criticism throughout my internship.
I am extremely great full to my department staff members and friends who helped
me in successful completion of this internship.
CH.SAI BHAVYA
(16A51A0534)
iv
ABSTRACT
The goal of this Digital Exam is about to include asynchronous e-learning technologies in order
to remain competitive and attract the best students and teachers. A technology that should be
added to the arsenal of infrastructure programs is tele-examination. In this paper, the
construction of a complete online automatic examination system of digital circuits is analyzed.
Specifically, open source software was used to construct a dynamic website for automated
student examination in order to support asynchronous e-learning, supported by an RDBMS
database. The system supports multiple classes and multiple categories for each lesson, which in
turn can contain a number of tests, all of which are managed by the administrator (professor)
through the web application. Moreover, questions and answers are constructed randomly by a
generator program developed in C language. The professor can supervise an active test in real
time, and modify the time period of the submission for each student. After the submission of an
exam he has the options to grade the text and file type answers that were included in it, to
oversee an analytical list of the answers given by each student and finally to produce PDFs with
those answers and view various charts about the results. The exams are accessible either by
authenticated students or by students who have received a personal identification number (token)
or by free users with limited privileges.
Organization Information:
Hotspare E Services Private Limited incorporated with MCA on 19 September 2018. The
Hotspare E Services Private Limited is listed in the class of company and classified as Non Govt
Company.The company has 2 directors/key management personal Ramesh Kumar Behara and
Lokanadham Behara Hotspare E Services Private Limited company registration number is
109223 and its Corporate Identification Number(CIN) provided from MCA is
U74999AP2018PTC109223. Hotspare E Services Private Limited company's registered office
address is Flat No 202,Akhila Castle, Durga Nagar, Chandram Palem, Madhur Wada
Vishakhapatnam Ap 530048 In. Find other contact information for Hotspare E Services Private
Limited such as Email, Website and more below. The company has reportedly 0 charges
associated and 0 documents available for download. Current status of Hotspare E Services
Private Limited company is Active..
v
Programs and opportunities:
The opportunity of the students are: It can manage all results of different examinations at one
place. He can even upload the semester mark sheets and have all internal and external marks
memos stored at one place for quick and easy access and view all important dates including
holidays, examination time tables, class time tables, fee details, Faculty notes etc. They can
download study material. The opportunity of Faculty are : Online Examination portal to assess
students performance in a transparent and analytical manner ,Student Attendance Tracker. Get
online survey/feedback and find solutions for the grievances quick and fast. Improve
communication with the parents through real time sharing of students attendance, examination
results, performance analysis etc. Dashboard to communicate with all departments and
employees in the institute. Can view and export reports easily.
Methodologies:
We follow a structured methodology for our projects which starts from designing the solution to
the implementation phase. Well planned Project reduces the time to deliver the project and any
additional ad-hoc costs to our clients, hence we dedicate majority of our time understanding our
clients business and gather requirements. This ground up approach helps us deliver not only the
solution to our clients but also add value to your investments.
Under each division we further provide specific industry solutions on focused domains with
cutting edge technologies.
Under each division we further provide specific industry solution on focused domains with
cutting edge technologies. We emphasize on building relationships with our clients by delivering
projects on time and within budge
vi
INDEX
2. System Analysis………………………………………………………………….....2
4. Technology………………………………………………………………………….4
4.1 HTML…………………………………………………………………….……..4
4.3 Database…………………………………………………………………….…..6
4.4 Eclipse-Oxygen…………………………………………………………………6
5. Coding……………………………………………………………………...……….7
6. Screenshots................................................................................................................15
7. Conclusion……………………………………………………………….…………18
8. Bibliography………………………………………………………………………..19
vii
Learning Objectives/Internship Objectives
Internships are generally thought of to be reserved for college students looking to gain
experience in a particular field. However, a wide array of people can benefit from
Training Internships in order to receive real world experience and develop their skills.
An objective for this position should emphasize the skills you already possess in the area
and your interest in learning more
Some internship is used to allow individuals to perform scientific research while others
are specifically designed to allow people to gain first-hand experience working.
Utilizing internships is a great way to build your resume and develop skills that can be
emphasized in your resume for future jobs. When you are applying for a Training
Internship, make sure to highlight any special skills or talents that can make you stand
apart from the rest of the applicants so that you have an improved chance of landing the
position.
viii
WEEKLY OVERVIEW OF INTERNSHIP ACTIVITIES
ix
DATE DAY NAME OF THE TOPIC/MODULE COMPLETED
27/05/19 Monday Working on Uploading the Excel sheet data into the
database
4th WEEK
28/05/19 Tuesday Continuing the Work on Excel sheet data using JSP
29/05/19 Wednesday Presenting the work done until now
30/05/19 Thursday Working on Uploading the Word document into the
database
31/05/19 Friday Continuing the work on Word document using JSP
03/06/19 Monday Working on Uploading the Question bank template into the
database using JSP
04/06/19 Tuesday Presenting the work done until now
x
1. INTRODUCTION
“Digital Exam” is a software application which helps in assessing the performance of
the candidate. It provides an efficient and effective way of learning. Students can get
instant results by this system. A Competitive atmosphere is created for the
students by switching to this system. Beneficial for students to conduct a
paperless examination.
There are three main perspectives in this application. They are: teachers, students and
administrators. From the teachers’ perspective the experience has been very positive –
less time was allocated to grading written examinations, the grades are perceived as
fairer and the time saved can be spent on increasing the quality of other parts of the
courses. From a student perspective the experience has also been very positive – most
students are enjoying obtaining the results much more quickly, editing their answers
on the examination more easily and the grades are perceived as fairer. The
administrators’ experience is far more complex. While some parts of the
administrative system encouraged the introduction of digital examination.
APPLICATION ACCESS:
digitalexam.in:
1. Student
2. Admin
digitalexam.com:
There are six roles to access dgitalexam.com. They can categorize as follows
1. Student
2. Faculty
3. Head of the department (HOD)
4. Principal
5. Secretary
6. Administration
1
2. SYSTEM ANALYSIS
Existing System:
In an Existing system he whole process of assigning test and evaluating their scores
after the test, was done manually till date. Processing the test paper i.e. checking and
distributing respective scores used to take time when the software was not installed.
Disadvantages of Current System:
• The current system is very time consuming.
• To take exam of more candidates more invigilators are required but no need of
invigilator in case of online examination.
• The chances of paper leakage are more in current system as compared to proposed
system.
• Result processing takes more time as it is done manually.
Proposed System
One stop solution for all activities of students, employees and organization with
respect to academics. Transparent & methodical system for candidate evaluation.
Embedded with data analytics for improvised reports on student performance. Ability
to restore from the last break point/system failure. Saves paper. Lesser time for
conduct and evaluation process. No mass copying as questions are randomly picked.
Maintenance of large bank of questions for each subject. No need to invest time on
preparing question papers every time and helps the teacher to spend quality time for
students‟ progress.
For every user there will be having a unique ID to login their accounts. Before login
their accounts, the user must complete the registration process. Admin does not need
any registration.
2
3. SOFTWARE REQUIREMENTS SPECIFICATIONS
The software requirement specification can produce at the culmination of the analysis
task. The function and performance allocated to software as part of system
engineering are refined by established a complete information description, a detailed
functional description, a representation of system behavior, and indication of
performance and design constrain, appropriate validate criteria, and other information
pertinent to requirements.
Software Requirements:
Hardware Requirement:
3
4. TECHNOLOGY
4.1 HTML
HTML stands for Hyper Text Markup Language, which is the most widely used
language on Web to develop web pages. HTML was created by Berners-Lee in late
1991.
Hypertext refers to the way in which Web pages (HTML documents) are linked
together. As its name suggests, HTML is a Markup Language which means you use
HTML to simply "mark-up" a text document with tags that tell a Web browser how to
structure it to display.
A form will take input from the site visitor and then will post it to a back-end
application such as CGI, ASP Script or PHP script etc. The back-end application will
perform required processing on the passed data based on defined business logic
inside the application.
There are various form elements available like text fields, textarea fields, drop-down
menus, radio buttons, checkboxes, etc.
Single-line text input controls − This control is used for items that require
only one line of user input, such as search boxes or names. They are created
using HTML <input> tag.
Password input controls − This is also a single-line text input but it masks the
character as soon as a user enters it. They are also created using HTML
<input> tag.
Multi-line text input controls − This is used when the user is required to give
details that may be longer than a single sentence. Multi-line input controls are
created using HTML <textarea> tag.
4
4.2 JSP
Java Server Pages (JSP) is a server-side programming technology that enables the
creation of dynamic, platform-independent method for building Web-based
applications. JSP have access to the entire family of Java APIs, including the JDBC
API to access enterprise databases. This tutorial will teach you how to use Java Server
Pages to develop your web applications in simple and easy steps.
Java Server Pages (JSP) is a technology for developing Webpages that supports
dynamic content. This helps developers insert java code in HTML pages by making
use of special JSP tags, most of which start with <% and end with %>.
A Java Server Pages component is a type of Java servlet that is designed to fulfill the
role of a user interface for a Java web application. Web developers write JSPs as text
files that combine HTML or XHTML code, XML elements, and embedded JSP
actions and commands.
Using JSP, you can collect input from users through Webpage forms, present records
from a database or another source, and create Webpages dynamically.
Let us now understand how to create a file upload form. The following HTML code
creates an uploader form. Following are the important points to be noted down −
The form method attribute should be set to POST method and GET method
can not be used.
The form action attribute should be set to a JSP file which would handle file
uploading at backend server. Following example is using upload
File.jsp program file to upload file.
To upload a single file you should use a single <input .../> tag with
attribute type = "file". To allow multiple files uploading, include more than
one input tag with different values for the name attribute. The browser
associates a Browse button with each of them.
5
4.3 DATABASE
A number of Web Servers that support Java Server Pages and Servlets development
are available in the market. Some web servers can be downloaded for free and
Tomcat is one of them.
Apache Tomcat is an open source software implementation of the Java Server Pages
and Servlet technologies and can act as a standalone server for testing JSP and
Servlets, and can be integrated with the Apache Web Server.
After a successful startup, the default web-applications included with Tomcat will be
available by visiting http://localhost:8080/.
JDBC provides an abstraction layer between Java applications and database servers,
so that an application's code does not need to be altered in order for it to
communicate with multiple database formats. Rather than connecting to the database
directly, the applications send requests to the JDBC API, which in turn communicates
with the specified database through a driver that converts the API calls into the
proper dialect for the database to understand.
4.4 Eclipse-Oxygen
The Eclipse Simultaneous Release is the end result of a process that sees the
coordination of scheduling and communication across Eclipse Open Source Project
teams. This year's Eclipse Oxygen is the 12th official simultaneous release; it includes
the hard work from of 83 open source projects, comprising approximately two million
net new lines of code. The output of this process is a composite repository of open
source software, and a new release of the Eclipse IDE. The Eclipse Oxygen release
includes many improvements in functionality and performance, includes new tools for
Java™ code coverage analysis, and can be extended to support Java 9 development
via an early access preview.
6
5. CODING
Registration Form
<%
String name=request.getParameter("name");
String password=request.getParameter("pwd");
String email=request.getParameter("email");
String phno=request.getParameter("pno");
String gender=request.getParameter("gender");
String address=request.getParameter("addr");
byte[] unencodedPassword = password.getBytes();
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
}
catch (Exception e) {}
md.reset();
md.update(unencodedPassword);
byte[] encodedPassword = md.digest();
StringBuffer buf = new StringBuffer();
for (int i = 0; i < encodedPassword.length; i++) {
if (((int) encodedPassword[i] & 0xff) < 0x10) {
buf.append("0");
}
buf.append(Long.toString((int) encodedPassword[i] & 0xff, 16));
}
String passw=buf.toString();
try
{
Class.forName("com.mysql.jdbc.Driver");
7
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/
project","root","");
PreparedStatement ps=con.prepareStatement("insert into student values(?,?,?,?,?,?)");
ps.setString(1,name);
ps.setString(2,passw);
ps.setString(3,email);
ps.setString(4,phno);
ps.setString(5,gender);
ps.setString(6,address);
int x=ps.executeUpdate();
if(x!=0)
{
out.print("registration done successfully");
}
else
{
out.print("something went wrong...");
}
}
catch(Exception e)
{
out.print(e);
}
%>
Login Form
<%
String username=request.getParameter("uname");
String password=request.getParameter("pswd");
String correctpassword="";
try
8
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:
3306/project","root","");
Statement st=con.createStatement();
st.executeQuery("select Password from login wherename='"+name+"'");
ResultSet rs=st.getResultSet();
if(rs.next())
{
correctpassword=rs.getString(1);
}
st.close();
if(correctpassword.equals(password))
{
String site = new String("http://www.mydigitalexam.com");
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
}
else
{
out.print("Invalid username or password!!");
}
}
catch(Exception e)
{
out.print("Exception in verifying password:"+e.toString());
}
%>
9
Excel sheet
10
try{
11
for(int i=1;i<dataHolder.size();i++) {
cellStoreArrayList=(ArrayList)dataHolder.get(i);
ps.setString(1,((HSSFCell)cellStoreArrayList.get(0)).toString());
ps.setString(2,((HSSFCell)cellStoreArrayList.get(1)).toString());
ps.setString(3,((HSSFCell)cellStoreArrayList.get(2)).toString());
ps.setString(4,((HSSFCell)cellStoreArrayList.get(3)).toString());
ps.setString(5,((HSSFCell)cellStoreArrayList.get(4)).toString())
count= ps.executeUpdate();
}
if(count>0)
{
%>
Following deatils from Excel file have been inserted in task2 table of database
<table>
<tr>
<th>NAME</th>
<th>QUALIFICATION</th>
<th>PROFESSION</th>
<th>SALARY</th>
<th>TAX</th>
</tr>
<%
for (int j=1;j < dataHolder.size(); j++) {
cellStoreArrayList=(ArrayList)dataHolder.get(j);%>
<tr>
<td><%=((HSSFCell)cellStoreArrayList.get(0)).toString() %></td>
<td><%=((HSSFCell)cellStoreArrayList.get(1)).toString() %></td>
<td><%=((HSSFCell)cellStoreArrayList.get(2)).toString() %></td>
<td><%=((HSSFCell)cellStoreArrayList.get(3)).toString() %></td>
<td><%=((HSSFCell)cellStoreArrayList.get(4)).toString() %></td>
</tr>
<%}
}
12
else
{%>
<center> Details have not been inserted!!!!!!!!!</center>
<% }
}catch(Exception e)
{}%>
</table>
</body>
</html>
Question Template
<%@page import="java.sql.*"%>
<%@page import="java.io.FileInputStream"%>
<%@page import="org.apache.poi.openxml4j.opc.OPCPackage"%>
<%@page import="org.apache.poi.xwpf.extractor.XWPFWordExtractor"%>
<%@page import="org.apache.poi.xwpf.usermodel.XWPFDocument"%>
<%
String file = request.getParameter("file1");
String fileName=""+file+"";
try {
FileInputStream fis = new FileInputStream(file);
XWPFDocument xdoc = new XWPFDocument(OPCPackage.open(fis));
XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
String s= new String((extractor.getText()));
Class.forName("com.mysql.jdbc.Driver");
System.out.println("load driver success");
Connection connection
=DriverManager.getConnection("jdbc:mysql://localhost:3306/project?useSSL=false",
"root","");
String query="INSERT INTO questions VALUES(?, ?, ?, ?)";
PreparedStatement preparedStatement = connection.prepareStatement(query);
int c=0;
String sup[]= s.split("#");
13
int l=sup.length;
System.out.println(l);
for(int i=1;i<l;i++) {
String qsup[] = sup[i].split("_",2);
String opt[] = qsup[1].split("_Ans:",2);
String dqsup = opt[0].replace("\n_","%");
preparedStatement.setInt(1,i);
preparedStatement.setString(2,qsup[0]);
preparedStatement.setString(3,dqsup);
preparedStatement.setString(4,opt[1]);
preparedStatement.executeUpdate();
System.out.println("Success");
}
}
catch(Exception ex) {
ex.printStackTrace();
}
%>
14
6. SCREENSHOTS
Registration Page:
Login Page:
15
Uploading Excel sheet:
16
Uploading Question Template:
17
7. CONCLUSION
18
8. BIBLOGRAPHY
WEBLINKS:
1. http://java.candidjava.com/tutorial/registration-form-in-jsp-with-
database-connectivity-servlet-database-connectivity-Mysql.htm
2. https://stackoverflow.com/questions/23075646/how-to-insert-excel-
file-to-mysql-database-by-using-jsp
3. http://java2career.com/2012/04/insert-file-into-database-in-jsp.html
19