Escolar Documentos
Profissional Documentos
Cultura Documentos
1.1 INTRODUCTION
This project gives a new approach for the E-evaluation of the visually challenged people which can be on par with other general candidates. Even when VCPs get qualified in the Universities exams, next problem they face is the hurdle of screening tests are competitive exams conducted for the jobs by the difficult recruiting agencies like union and state PSCs, companies ,boards etc.., In this technological age where number of e-gadgets are available and software has penetrated into every nook and corner of our life ,the methods of E-learning and-evaluation can be used to reduce the hurdles of the VSP candidate. This project gives a model where in it explain how a VCP can take a screening test using E-gadgets and without any scribers help.screening test using E-gadgets and without any scribers help. In this model of E-evaluation for VCPs, the gadgets required are a computer with a keyboard, an earphone and a cd/storage device (with software and question paper).The candidate undergoing exam is to use these gadgets during exam. This model is aimed at the objective type exam that are most common for that screening tests. The algorithm of the software is presented in these project that explain how a VCP takes an exam and how the evaluation is carried out without the help of any other people The components of this project are: a) A computer b) Earphones c) VCP taking the exam and D) Keyboard COMPUTER: This is the platform on which the exam/screening test is held .It is the general configuration PC with a CPU, monitor, keyboard, earphone facility etc..The type of the computer setup is now a common hardware in any college/examine centre. KEYBOARD: This is a single way interface between the software and the candidate by which VCP answers and controls question paper. Only a small portion (right side of the board)of the ordinary computer keyboard is to be used by the candidate. The keys of this portion of the keyboard are to be pasted with symbols as shown in the picture below. On practice even this
may not be required by the candidate. The functions of the symbols/keys are explained in below table. There is a thought of developing a special keyboard.
E A B
R C D
ALT
ENTER
<-
EARPHONES: This is also a single way interface between the software and candidate by which VCP hears the instructions and questions from the question paper. Before the exam starts, there will be some pre exam work, in most of the cases it involves: filling of hall ticket number, writing of name of exam, year, paper code etc but in this case there will be only entry of password and student id. Thus comes with all the information filled in application. As the software inserted in the computer, it auto place the program. In this time is already set and invigilator reads out the time to the candidate after entering his password. Then the candidate enters his/her id. Before actual start of exams, the instructions and details of the question paper are read by the computer and the candidate hears it through headphones. At the exact time, exam starts with the reading of question number 1. The candidate starts answering using the keyboard and the answer sheet in the database get updated as shown in the algorithm. The exam ends automatically with lapse of time as the 3
time period is already set in the program. The program automatically closes the attending of answer with the end of the exam and display results.
ALGORITHM OF THE SOFTWARE: This software uses the text reading software as a subroutine. Texts reading software is now-a-days became common and are used in many fields. The program software designed for our purpose reads the instructions and questions for the candidate. It takes the commands from the keyboard and operates the next function (i.e. marks/changes the answer sheet and reads the next question/message) as described in below algorithm. The answer sheet gets updated on the entering of keys A,B,C or D. End of every question or instruction reading waits for a command from keyboard and every entry from keyboard results in reading of next page.
Exam start
Candidate doesto any of thethe following Press A,B,C,D choose sections Press ALT+A,ALT+B,ALT+C to selection of answers Press arrow for start exam Press R for repeat or result Press E to the end of the exam 4
Software&Questionpaper (Computer)
Ear Phone
Keyboard
5 VCP
ADVANTAGES
This system of evaluation of a VCP has many advantages over other existing system of evaluation. They are: 1) No scribe is required. So there is a total confidence on a candidates performance and evaluation 2) No external help for candidate makes him independent like normal candidate. The burden of getting the proper scribe is removed for the candidate. 3) Candidate can practice this model if he/she is given model software with the issue of hall ticket and he/she can learn with least difficulty as number of gadgets is few. 4) Due to the use of limited no of keys and that to a particular part of the keyboard, this model is user friendly. 5) It is language independent; an objective type test in any language can be conducted for the VCP, Provided the text reading software is available in that language.
FIG: 2.1.1 Incremental Model The incremental approach attempts to combine the waterfall sequence with some of the advantages of prototyping. This approach is favored by many object-oriented practitioners. It basically divides the overall project into a number of increments. Then it applies the waterfall model to each increment. The system is put into production when the first increment is delivered. As time passes additional increments are completed and added to the working system. This approach is favored by many object-oriented practitioners.
using a waterfall approach. This includes detailed analysis and design for the use cases in the increment and coding and testing of the event processors that implement the sequence of events defined by the use cases. The result is production quality software that satisfies a subset of the requirements and is delivered to the end users. Work on different increments may be done in parallel.
Transisition The transition phase (not shown in the figure) is the last phase in the project. This may include such things a performance tuning and rollout to all users.
Structure of HTML HTML elements perform a defined task. HTML uses two types of elements Empty Tags Container Tags
Empty tags represent formatting constricts such as line breaks and horizontal rules. Container tags define a section of text, formats and dot all of the selected text. A container tag has both a beginning and an ending. HTML Layout An HTML document consists of text, which comprises the content of the document and tags, which, defines the structure, and appearance of the document. The structure of an HTML document is simple, consists of outer <HTML> tag enclosing the document header each document has a head and body delimited by the <HEAD> and <BODY> tag. The head is where you give your HTML document a title and where you indicate other parameters the browser may use when displaying the document. This includes the text for displaying the text. Tag also references special and indicates the hot spots that link your document to other documents. Creating a form usually involves two independent steps: Creating the layout for the form itself and then writing a script program on the server side to process the formation you get back from a form. Inside the opening and closing FORM tags are each of the individual form elements plus any other HTML content to create a layout for that form. The opening tag of the FORM element usually includes the attributes: METHOD and ACTION. The METHOD attributes can be either GET or POST which determines how your form data is sent to the script to process it. The ACTION attribute is a pointer to the script that processes the form on the server side. The ACTION can be included by a relative path or by a full URL to a script on your server or somewhere else. For example, the following <FORM> tag would call a script called form-name in cgi-bin directory on server www.myservser.com Example <FORM Method= post action=http://www.mytservser.com/cgi-bin/form-name.pl> . . . </FORM>
11
Why is JSP so exciting? 1. JSP is Java-based, and Java is well-suited for enterprise computing. In fact, JSP is a key part of the Java 2 Enterprise Edition (J2EE) platform and can take advantage of the many Java Enterprise libraries, such as JDBC, JNDI, and Enterprise Java Beans. 2. JSP supports a powerful model for developing web applications that separates presentation from processing.. In the early days of the Web, the only tool for developing dynamic web content was the Common Gateway Interface (CGI). CGI outlined how a web server made user input available to a program, as well as how the program provided the web server with dynamically generated content to send back. CGI scripts were typically written in Perl. (In fact, CGI Perl scripts still drive numerous dynamic web sites.) However, CGI is not an efficient solution. For every request, the web server has to create a new operating-system process, load a Perl interpreter and the Perl script, execute the script, and then dispose of the entire process when it's done. To provide a more efficient solution, various alternatives to CGI have been added to programmers' toolboxes over the last few years: Fast CGI, for example, runs each CGI 12
program in an external permanent process (or a pool of processes). In addition, mod_perl for Apache, NSAPI for Netscape, and ISAPI for Microsoft's IIS all run server-side programs in the same process as the web server itself. While these solutions offer better performance and scalability, each one is supported by only a subset of the popular web servers. The Java Servlet API, introduced in early 1997, provides a solution to the portability issue. However, all these technologies suffer from a common problem: HTML code embedded inside programs. If you've ever looked at the code for a servlet, you've probably seen endless calls to out.println ( ) that contain scores of HTML tags. For the individual developer working on a simple web site this approach may work fine, but it makes it very difficult for people with different skills to work together to develop a web application. This is becoming a significant problem. As web sites become increasingly complex and are more and more critical to the success of an organization, the appearance and usability of the web interface becomes paramount. New client technologies, such as clientside scripts and DHTML, can develop more responsive and interactive user interfaces, style sheets can make it easier to globally change fonts and colors, and images can make the interface more appealing. At the same time, server-side code is getting more complex, and demands for reliability, performance, and fault tolerance are increasing. The growing complexity of web applications requires a development model that allows people with different skills to cooperate efficiently. Java Server Pages provides just such a development model, allowing web page authors with skills in graphics, layout, and usability to work in tandem with programmers who are experienced in server-side technologies such as multithreading, resource pooling, databases, and caching. While there are other technologies, such as ASP, PHP and Cold Fusion, that support similar development models, none of them offers all the advantages of JSP.
13
JSP ARCHITECTURE
In the process of dynamic content generation, Sun Microsystems has introduced with a new concept as Logic separation from client.
Client1
Client2
LOGICS
Server
Client3
Logic which is required is written at one place and can be accessed by all the clients which are at different places when they require. So, in order to implement this, we have two Architectures known as Model 1 Model 2
Model-1 Architecture In Model-1 Architecture, presentation logics and Business logics are combined. When these two are combined, each presentation logic requires copy of business logic so that the model and server should work towards this, such thing is time and resource consume, so in order to overcome this Model 2 Architecture has been introduced. Model-1 Architecture is called as Java Bean. 14
Model
View
Server
Model-2 Architecture Model-2 Architecture is also called as Java Strut. In this Model, presentation and business logics are separated. We have three parts in this, View Controller Model
Controller
Data Browser
View
Base
Mod e
Model: contains business logics which represent application state along with database.
15
View: A JSP act a view which receives data from the model this view doesnt contain any
data manipulation logics.
Controller:
takes request from client, process the Model and provide information to
different JSP page and passing control to different views. JavaServer Pages (JSP) is a Java technology that allows software developers to dynamically generate HTML, XML or other types of documents in response to a Web client request. The technology allows Java code and certain pre-defined actions to be embedded into static content.
Architecture of JSP
16
Active Server Pages (ASP). ASP is a similar technology from Microsoft. The advantages of JSP are twofold. First, the dynamic part is written in Java, not Visual Basic or other MS-specific language, so it is more powerful and easier to use. Second, it is portable to other operating systems and non-Microsoft Web servers.
Pure Servlets. JSP doesn't give you anything that you couldn't in principle do with a servlet. But it is more convenient to write (and to modify!) regular HTML than to have a zillion println statements that generate the HTML. Plus, by separating the look from the content you can put different people on different tasks: your Web page design experts can build the HTML, leaving places for your servlet programmers to insert the dynamic content.
Server-Side Includes (SSI). SSI is a widely-supported technology for including externally-defined pieces into a static Web page. JSP is better because it lets you use servlets instead of a separate program to generate that dynamic part. Besides, SSI is really only intended for simple inclusions, not for "real" programs that use form data, make database connections, and the like.
JavaScript. JavaScript can generate HTML dynamically on the client. This is a useful capability, but only handles situations where the dynamic information is based on the client's environment. With the exception of cookies, HTTP and form submission data is not available to JavaScript. And, since it runs on the client, JavaScript can't access server-side resources like databases, catalogs, pricing information, and the like.
Static HTML. Regular HTML, of course, cannot contain dynamic information. JSP is so easy and convenient that it is quite feasible to augment HTML pages that only benefit marginally by the insertion of small amounts of dynamic data. Previously, the cost of using dynamic data would preclude its use in all but the most valuable instances.
JSP syntax
A Java Server Page may be broken down into the following pieces:
static data such as HTML JSP directives such as the include directive JSP scripting elements and variables 17
JSP actions custom tags with correct library JSP directives control how the JSP compiler generates the servlet.
Include : The include directive informs the JSP compiler to include a complete file into the
current file. It is as if the contents of the included file were pasted directly into the original file. This functionality is similar to the one provided by the C preprocessor. Included files generally have the extension "jspf" (for JSP Fragment) <%@ include file="somefile.jspf" %>
Page: There are several options to the page directive. import : Results in a Java import statement being inserted into the resulting file. contentType : specifies the content that is generated. This should be used if HTML is not
used or if the character set is not the default character set.
errorPage : Indicates the page that will be shown if an exception occurs while processing
the HTTP request.
isErrorPage: If set to true, it indicates that this is the error page. Default value is false. isThreadSafe : Indicates if the resulting servlet is thread safe. autoFlush : To autoflush the contents.A value of true, the default, indicates that buffer
should be flushed when it is full. A value of false, rarely used, indicates that an exception should be thrown when the buffer overflows. s will be used, and attempts to access variable session will result in errors at the time the JSP page is translated into a servlet.
buffer : To set Buffer Size. The default is 8k and it is advisable that you increase it. isELIgnored : Defines whether EL expressions are ignored when the JSP is translated. language : Defines the scripting language used in scriptlets, expressions and declarations.
Right now, the only possible value is "java".
18
extends : Defines the superclass of the class this JSP will become. You won't use this unless
you REALLY know what you're doing - it overrides the class hierarchy provided by the Container.
info : Defines a String that gets put into the translated page, just so that you can get it using
the generated servlet's inherited getServletInfo() method.
pageEncoding : Defines the character encoding for the JSP. The default is "ISO-88591"(unless the contentType attribute already defines a character encoding, or the page uses XML document syntax). <%@ page import="java.util.*" %> //example import <%@ page contentType="text/html" %> //example contentType <%@ page isErrorPage=false %> //example for non error page <%@ page isThreadSafe=true %> //example for a thread safe JSP <%@ page session=true %> //example for using session binding <%@ page autoFlush=true %> //example for setting autoFlush <%@ page buffer=20 %> //example for setting Buffer Size Note: Only the "import" page directive can be used multiple times in the same JSP .
taglib: The taglib directive indicates that a JSP tag library is to be used. The directive
requires that a prefix be specified (much like a namespace in C++) and the URI for the tag library description. <%@ taglib prefix="myprefix" uri="taglib/mytag.tld" %>
out : The JSPWriter used to write the data to the response stream. JSP actions
19
JSP actions are XML tags that invoke built-in web server functionality. They are executed at runtime. Some are standard and some are custom (which are developed by Java developers). The following list contains the standard ones:
jsp:include : Similar to a subroutine, the Java servlet temporarily hands the request and
response off to the specified JavaServer Page. Control will then return to the current JSP, once the other JSP has finished. Using this, JSP code will be shared between multiple other JSPs, rather than duplicated.
jsp:forward: Used to hand off the request and response to another JSP or servlet. Control
will never return to the current JSP.
jsp:plugin: Older versions of Netscape Navigator and Internet Explorer used different
tags to embed an applet. This action generates the browser specific tag needed to include an applet.
jsp:fallback: The content to show if the browser does not support applets. jsp:getProperty: Gets a property from the specified JavaBean. jsp:setProperty: Sets a property in the specified JavaBean. jsp:useBean: Creates or re-uses a JavaBean available to the JSP page. The scope attribute
can be request, page, session or application. It has the following meanings:
request: The attribute is available for the lifetime of the request. Once the request has been
processed by all of the JSPs, the attribute will be de-referenced .
page: the attribute is available for the current page only. session: The attribute is available for the lifetime of the user's session . application: The attribute is available to every instance and is never de-referenced. Same as
a global variable: The example above will use a Bean Manager to create an instance of the class com.foo.MyBean and store the instance in the attribute named "myBean". The attribute will be available for the life-time of the request. It can be shared among all of the JSPs that were included or forwarded-to from the main JSP that first received the request. 20
document.onkeydown = function(evt) { evt = evt || window.event; Switch (evt.keyCode) { case 82: rButtonPressed(); break; case 69: endButtonPressed(); break; } }; </script> In above example, code is written in javascript.69 is the ascii value of e and 82 is the ascii value of r.when we press r ,rButtonPressed() function invoked. it replace window with 1.jsp page. when we press e ,eButtonPressed() function invoked. it replace window with end.jsp page. 22
Structure analysis: Structure analysis processes the input text to determine where paragraphs, sentences and other structures start and end. Text pre- processing: This expands any abbreviations or other forms of shorthand. E.g. St. Joseph becomes Saint Joseph. Text-to-phoneme conversion: It converts each word to phonemes which refers to a basic unit of sound in a language. Prosody analysis: It processes the sentence structure, words and phonemes to determine appropriate prosody for the sentence. Waveform production: Finally, the phonemes and prosody information are used to produce the audio waveform for each sentence. Requirements for Text to Speech: The following jar files are very important cmu_us_kal.jar, cmulex.jar, en_us.jar; freetts.jar; cmulex.jar; jsapi.jar; 1. Unzip the freeTTS binary package and check inside the \lib directory, that all the above jar files are available except jsapi.jar. 2. The jsapi.exe file will be available. 3. Run Jsapi.exe, and you will get jsapi.jar. 4. Copy all the Jars (jsapi.jar, freetts.jar, cmu_time_awb.jar, cmu_us_kal.jar, etc.) to that working Folder or C:\Program files\java\ jdk1.6.0_03\jre\lib\ext Sample Code 24
<%@page contentType="text/html" import="java.sql.*" %> <%@ page import="com.sun.speech.freetts.FreeTTS"%> <%@ page import="com.sun.speech.freetts.Voice"%> <%@ page import="com.sun.speech.freetts.VoiceManager"%> <%@ page import="com.sun.speech.freetts.audio.SingleFileAudioPlayer"%> <%@ page import="java.io.FileInputStream"%> <% try { final Voice voice; final FreeTTS freetts; voice=VoiceManager.getInstance().getVoice("kevin16"); if(voice!=null) { voice.allocate(); } freetts=new FreeTTS(voice); voice.speak("Now the question one is...."); voice.speak("Sorting is not possible by using which of the following methods?"); voice.speak("Now the options are...."); voice.speak(" a. Insertion"); 25
An individual database system is accessed via a specific JDBC driver that implements the java.sql.Driver interface. Drivers exist for nearly all-popular RDBMS systems, through few are available for free. Sun bundles a free JDBC-ODBC bridge driver with the JDK to allow 26
access to a standard ODBC,data sources, such as a Microsoft Access database, Sun advises against using the bridge driver for anything other than development and very limited development. JDBC drivers are available for most database platforms, from a number of vendors and in a number of different flavours. There are four driver categories
What is JDBC?
Java Database Connectivity (JDBC) is a programming framework for Java developers writing programs that access information stored in databases, spreadsheets, and flat files. JDBC is commonly used to connect a user program to a "behind the scenes" database, regardless of what database management software is used to control the database. JDBC Architecture Two-tier and three-tier Processing Models The JDBC API supports both two-tier and three-tier processing models for database access.
Fig: 2.6.1 JDBC Two-tier Architecture In the two-tier model, a Java applet or application talks directly to the data source. This requires a JDBC driver that can communicate with the particular data source being accessed. A user's commands are delivered to the database or other data source, and the results of those statements are sent back to the user. The data source may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the data source as the server. The network can be an intranet, which, for example, connects employees within a corporation, or it can be the Internet.
27
In the three-tier model, commands are sent to a "middle tier" of services, which then sends the commands to the data source. The data source processes the commands and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another advantage is that it simplifies the deployment of applications. Finally, in many cases, the three-tier architecture can provide performance advantages.
JDBC API
The JDBC API lets you invoke SQL commands from Java programming language methods. You use the JDBC API in an enterprise bean when you override the default container-managed persistence or have a session bean access the database. With containermanaged persistence, database access operations are handled by the container, and your enterprise bean implementation contains no JDBC code or SQL commands. You can also use the JDBC API from a servlet or JSP page to access the database directly without going through an enterprise bean. The JDBC API has two parts: an application-level interface used by the application components to access a database, and a service provider interface to attach a JDBC driver to the J2EE platform. JDBC accomplishes its goals through a set of Java interfaces, each implemented differently by individual vendors. The set of classes that implement the JDBC interfaces for a 28
particular database engine is called a JDBC driver. In building a database application, you do not have to think about the implementation of these underlying classes at all; the whole point of JDBC is to hide the specifics of each database and let you worry about just your application. shows the JDBC classes and interfaces.
In addition to these, the following support interfaces are also available to the developer
java.sql.Callablestatement java. sql. DatabaseMetaData java.sql.Driver java. sql. PreparedStatement 29
java. sql .ResultSetMetaData java. sql. DriverPropertymfo java.sql.Date java.sql.Time java. sql. Timestamp java.sql.Types java. sql. Numeric
Application Areas
JDBC has been designed and implemented for use in connecting to databases. Fortunately, JDBC has made no restrictions, over and above the standard Java security mechanisms, for complete systems. To this end, a number of overall system configurations are feasible for accessing databases. Java application which accesses local database Java applet accesses server-based database Database access from an applet via a stepping stone Using a JDBC driver Java Software has defined the following driver categorization system:
Type 1
These drivers use a bridging technology to access a database. The JDBC-ODBC bridge that comes with the JDK 1.1 is a good example of this kind of driver. It provides a gateway to the ODBC API. Implementations of that API in turn do the actual database access. Bridge solutions generally require software to be installed on client systems, meaning that they are not good solutions for applications that do not allow you to install software on the client.
Type 2
30
The type 2 drivers are native API drivers. This means that the driver contains Java code that calls native C or C++ methods provided by the individual database vendors that perform the database access. Again, this solution requires software on the client system.
Type 3
Type 3 drivers provide a client with a generic network API that is then translated into database specific access at the server level. In other words, the JDBC driver on the client uses sockets to call a middleware application on the server that translates the client requests into an API specific to the desired driver. As it turns out, this kind of driver is extremely flexible since it requires no code installed on the client and a single driver can actually provide access to multiple databases.
Type 4
Using network protocols built into the database engine, type 4 drivers talk directly to the database using Java sockets. This is the most direct pure Java solution. In nearly every case, this type of driver will come only from the database vendor. Regardless of data source location, platform, or driver (Oracle, Microsoft, etc.), JDBC makes connecting to a data source less difficult by providing a collection of classes that abstract details of the database interaction. Software engineering with JDBC is also conducive to module reuse. Programs can easily be ported to a different infrastructure for which you have data stored (whatever platform you choose to use in the future) with only a driver substitution. As long as you stick with the more popular database platforms (Oracle, Informix, Microsoft, MySQL, etc.), there is almost certainly a JDBC driver written to let your programs connect and manipulate data. You can download a specific JDBC driver from the manufacturer of your database management system (DBMS) or from a third party (in the case of less popular open source products). The JDBC driver for your database will come with specific instructions to make the class files of the driver available to the Java Virtual Machine, which your program is going to run. JDBC drivers use Java's built-in DriverManager to open and access a database from within your Java program. To begin connecting to a data source, you first need to instantiate an object of your JDBC driver. This essentially requires only one line of code, a command to the DriverManager, telling the Java Virtual Machine to load the bytecode of your driver into memory, where its methods will be available to your program. The String parameter below is the fully qualified class name of the driver you are using for your platform combination: 31
Class.forName ("org.gjt.mm.mysql.Driver").newInstance ()
Connecting to a database
In order to connect to a database, you need to perform some initialization first. Your JDBC driver has to be loaded by the Java Virtual Machine classloader, and your application needs to check to see that the driver was successfully loaded. We'll be using the ODBC bridge driver, but if your database vendor supplies a JDBC driver, feel free to use it instead. To connect to the database, we create a string representation of the database. We take the name of the datasource from the command line, and attempt to connect as user "dba", whose password is "sql". // Create a URL that identifies database String url = "jdbc:odbc:" + args[0]; // Now attempt to create a database connection Connection db_connection = DriverManager.getConnection (url, "dba", "sql"); As you can see, connecting to a database doesn't take much code. Executing database queries In JDBC, we use a statement object to execute queries. A statement object is responsible for sending the SQL statement, and returning a set of results, if needed, from the query. Statement objects support two main types of statements - an update statement that is normally used for operations which don't generate a response, and a query statement that returns data. // create a statement to send SQL Statement db_statement = db_connection.createStatement (); Once you have an instance of a statement object, you can call its executeUpdate and executeQuery methods. To illustrate the executeUpdate command, we'll create a table that stores information about employees. // Create a simple table, which stores an employee ID and name db_statement.executeUpdate ("create table employee { int id, char(50) name };"); 32
// Insert an employee, so the table contains data db_statement.executeUpdate ("insert into employee values (1, 'John Doe');"); // Commit changes db_connection.commit(); Now that there's data in the table, we can execute queries. The response to a query will be returned by the executeQuery method as a ResultSet object. ResultSet objects store the last response to a query for a given statement object. Instances of ResultSet have methods following the pattern of getXX where XX is the name of a data type. Such data types include numbers (bytes, ints, shorts, longs, doubles, big-decimals), as well as strings, booleans, timestamps and binary data. // Execute query ResultSet result = db_statement.executeQuery ("select * from employee"); // While more rows exist, print them While (result.next ()) { // Use the getInt method to obtain emp. id System.out.println ("ID : " + result.getInt("ID")); // Use the getString method to obtain emp. name System.out.println ("Name: " + result.getString ("Name")); System.out.println (); }
JDBC-ODBC Bridge
If possible use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC.It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge(that is, the Bridge native library, the ODBC driver manager library, library, the ODBC driver library, and the database client library) 33
Backup
34
MySQL Enterprise Backup performs online "Hot", non-blocking backups of your MySQL databases. Full backups can be performed on all InnoDB data, while MySQL is online, without interrupting queries or updates. In addition, incremental backups are supported where only data that has changed from a previous backup is backed up. Also partial backups are supported when only certain tables or tablespaces need to be backed up.
Download Whitepaper "MySQL Enterprise Backup - Fast, Consistent, Online Backups" Restore
MySQL Enterprise Backup restores your data from a full backup. Consistent Pointin-Time Recovery (PITR) enables DBAs to perform a restore to a specific point in time. Using MySQL backups and binlog, DBAs can also perform fine-grained roll forward recovery to a specific transaction. A partial restore allows recovery of targeted tables or tablespaces. Plus, DBAs can restore backups to a separate location, or create clones for fast replication setup or administration.
Compression
MySQL Enterprise Backup supports creating compressed backup files, typically reducing backup size from 70% to over 90% when compared to the size of actual database files, reducing storage and other costs.
35
By scaling-out with MySQL, we were recently able to add 3 million new users in less than a month. We chose MySQL Enterprise for two reasons: first, access to super-sharp support technicians who clearly know what they're doing and can help us overcome our toughest problems. Second, the new MySQL Enterprise monitoring tools give us unprecedented views into real-time and historical DB performance -to troubleshoot problems, balance workloads, and predict future resource requirements.
MySQL Enterprise Monitor provides you with the following benefits Get a consolidated view into the health of all your MySQL databases Monitor over 600 MySQL and operating system variables with the Enterprise Dashboard Monitor MySQL sessions, connections, replication latency and more with 30+ graphs Improve application performance with the MySQL Query Analyzer Gain immediate visibility into your replication topologies through auto detection and grouping View real time master/slave performance using the MySQL Replication Monitor Customize the MySQL Enterprise Monitor for your specific needs using customization options Get notified of issues before they become costly outages using threshold driven alerts Use single sign-on capabilities through LDAP integration Resolve problems faster by using the option to collect and package server specific MySQL, OS and query diagnostic for MySQL Support New! MySQL Cluster Graphs and Advisor provide automated, real-time monitoring of MySQL Cluster data nodes and best practice advice New! MySQL and Operating System Graphs provide better visual monitoring of key system resources like database transactions and binlog cache efficiency for real-time and historical trending purposes. The MySQL Enterprise Monitor is a distributed web application that is deployed within the safety of your firewall. It is comprised of a centralized Service Manager and lightweight Service Agent this is installed on each monitored MySQL server.
White Papers
MySQL Enterprise Monitor: What's New 36
Self-running Demo
Monitor your MySQL Servers Monitor MySQL Replication and Scale Out
On Demand Webinars
Improve application performance with the MySQL Enterprise Monitor and the MySQL Query Analyzer Scale-Out & Replication Best Practices for High-Growth Business
New! Perform in-depth cause analysis using MySQL Connector Plug-ins New! Filter for specific query problems like full table scans and bad index using advanced global search options Visualize query activity to gain further performance insight beyond query statistics Filter queries during periods of performance degradation for easier and quicker troubleshooting Continuously monitor queries running against all your MySQL Servers Quickly identify problem queries that impact the throughput of your applications View query details in drill down panels to analyze the root cause for performance degradation Fine-tune the problematic SQL code to regain peak performance
The MySQL Query Analyzer saves you time and effort in finding and fixing problem queries by providing: New! Searchable graphs and intelligent installation options for better usability Clickable query activity graphs for analyzing queries during usage spikes in key systems resources SQL warning and error counts for each query Aggregated view into query execution counts, run time, result sets across all MySQL servers with no dependence on MySQL logs or SHOW PROCESSLIST Sortable views by all monitored statistics Searchable and sortable queries by query type, content, server, database, date/time, interval range, and "when first seen" Historical and real-time analysis of all queries across all servers Drill downs into sampled query execution statistics, fully qualified with variable substitutions, and EXPLAIN results MySQL Workbench MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. It provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, and much more. MySQL Workbench is available on Windows, Linux and Mac OS.
Tomcat is an open source application server based on Java technology. In a nutshell, it serves Java Servlets and Java Server Pages (JSP) technology on a Website. A Tomcat worker is a Tomcat instance that is waiting to execute Servlets on behalf of some web server. For example, we can have a web server such as Apache forwarding servlet requests to Tomcat process (the worker) running behind it.
Authentication: The means by which communication entities prove their identities to one
another.
Access Control: The means by which request for resources are limited to users or programs. Integrity: The means used to prove that information has not been modified while in transit. Confidentiality: The means used to ensure that information is understandable only by
authorized users. Tomcat security is user role-based and web container (some what web application) centric.
40
41
This project mainly contains 2 modules like Invigilator module VCP module
42
43
The administrative user interface concentrates on the consistent information that is practically, part of the organizational activities and which needs proper authentication for the data collection. These interfaces help the administrators with all the transactional states like Data insertion, Data deletion and Date updation along with the extensive data search capabilities. The operational or generic user interface helps the end users of the system in transactions through the existing data and required services. The operational user interface also helps the ordinary users in managing their own information in a customized manner as per the included flexibilities
INPUT STAGES
The main input stages can be listed as below: Data recording Data transcription Data conversion Data verification Data control Data transmission Data validation Data correction 44
INPUT TYPES
It is necessary to determine the various types of inputs. Inputs can be categorized as follows: External inputs, which are prime inputs for the system. Internal inputs, which are user communications with the system. Operational, which are computer departments communications to the system? Interactive, which are inputs entered during a dialogue.
INPUT MEDIA
At this stage choice has to be made about the input media. To conclude about the input media consideration has to be given to; Type of input Flexibility of format Speed Accuracy Verification methods Rejection rates Ease of correction Storage and handling requirements Security Easy to use Portability
Keeping in view the above description of the input types and input media, it can be said that most of the inputs are of the form of internal and interactive. As Input data is to be the directly keyed in by the user, the keyboard can be considered to be the most suitable input device.
OUTPUT DESIGN
In general are: External Outputs whose destination is outside the organization. Internal Outputs whose destination is with in organization and they are the Users main interface with the computer. Outputs from computer systems are required primarily to communicate the results of processing to users. They are also used to 45
provide a permanent copy of the results for later consultation. The various types of outputs Operational outputs whose use is purely with in the computer department. Interface outputs, which involve the user in communicating directly with the system.
OUTPUT DEFINITION
The outputs should be defined in terms of the following points: Type of the output Content of the output Format of the output Location of the output Frequency of the output Volume of the output Sequence of the output
It is not always desirable to print or display data as it is held on a computer. It should be decided as which form of the output is the most suitable. For Example Will decimal points need to be inserted Should leading zeros be suppressed.
OUTPUT MEDIA
In the next stage it is to be decided that which medium is the most appropriate for the output. The main considerations when deciding about the output media are: The suitability for the device to the particular application. The need for a hard copy. The response time required. The location of the users The software and hardware available.
Keeping in view the above description the project is to have outputs mainly coming under the category of internal outputs. The main outputs desired according to the requirement specification are: The outputs were needed to be generated as a hard copy and as well as queries to be viewed on the screen. Keeping in view these outputs, the format for the output is taken from 46
the outputs, which are currently being obtained after manual processing. The standard printer is to be used as output media for hard copies.
Stages in SDLC
Requirements gathering Analysis Design Coding Testing Maintenance
47
FIG: 4.1.1 Requirements gathering These requirements are fully described in the primary deliverables for this stage: the Requirements Document and the Requirements Traceability Matrix (RTM). The requirements document contains complete descriptions of each requirement, including diagrams and references to external documents as necessary. Note that detailed listings of database tables and fields are not included in the requirements document. The title of each requirement is also placed into the first version of the RTM, along with the title of each goal from the project plan. The purpose of the RTM is to show that the product components developed during each stage of the software development lifecycle are formally connected to the components developed in prior stages. In the requirements stage, the RTM consists of a list of high-level requirements, or goals, by title, with a listing of associated requirements for each goal, listed by requirement title. In this hierarchical listing, the RTM shows that each requirement developed during this stage is formally linked to a specific product goal. In this format, each requirement can be traced to a specific product goal, hence the term requirements traceability. The outputs of the requirements definition stage include the requirements document, the RTM, and an updated project plan. Feasibility study is all about identification of problems in a project. No. of staff required to handle a project is represented as Team Formation, in this case only modules are individual tasks will be assigned to employees who are working for that project. 48
Project Specifications are all about representing of various possible inputs submitting to the server and corresponding outputs along with reports maintained by administrator
Analysis Stage
The planning stage establishes a bird's eye view of the intended software product, and uses this to establish the basic project structure, evaluate feasibility and risks associated with the project, and describe appropriate management and technical approaches.
FIG: 4.1.2 Analysis stage The most critical section of the project plan is a listing of high-level product requirements, also referred to as goals. All of the software product requirements to be developed during the requirements definition stage flow from one or more of these goals. The minimum information for each goal consists of a title and textual description, although additional information and references to external documents may be included. The outputs of the project planning stage are the configuration management plan, the quality assurance plan, and the project plan and schedule, with a detailed listing of scheduled activities for the upcoming Requirements stage, and high level estimates of effort for the out stages.
Designing Stage
The design stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/or prototype efforts. Design elements describe the desired software features in detail, and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudo code, and a complete entity-relationship diagram with a full data dictionary. These design 49
elements are intended to describe the software in sufficient detail that skilled programmers may develop the software with minimal additional input.
FIG: 4.1.3 Design stage When the design document is finalized and accepted, the RTM is updated to show that each design element is formally associated with a specific requirement. The outputs of the design stage are the design document, an updated RTM, and an updated project plan.
50
FIG: 4.1.4 Development stage The RTM will be updated to show that each developed artifact is linked to a specific design element, and that each developed artifact has one or more corresponding test case items. At this point, the RTM is in its final configuration. The outputs of the development stage include a fully functional set of software that satisfies the requirements and design elements previously documented, an online help system that describes the operation of the software, an implementation map that identifies the primary code entry points for all major system functions, a test plan that describes the test cases to be used to validate the correctness and completeness of the software, an updated RTM, and an updated project plan.
51
FIG: 4.1.5 Integration and testing stage The outputs of the integration and test stage include an integrated set of software, an online help system, an implementation map, a production initiation plan that describes reference data and production users, an acceptance plan which contains the final suite of test cases, and an updated project plan.
52
FIG: 4.1.6 Installation and acceptance stage The primary outputs of the installation and acceptance stage include a production application, a completed acceptance test suite, and a memorandum of customer acceptance of the software. Finally, the PDR enters the last of the actual labor data into the project schedule and locks the project as a permanent project record. At this point the PDR "locks" the project by archiving all software items, the implementation map, the source code, and the documentation for future reference.
Maintenance
Outer rectangle represents maintenance of a project, Maintenance team will start with requirement study, understanding of documentation later employees will be assigned work and they will under go training on that particular assigned category.For this life cycle there is no end, it will be continued so on like an umbrella (no ending point to umbrella stick s).
SYSTEM ARCHITECTURE
53
Architecture flow
Below architecture diagram represents mainly flow of requests from users to database through servers. In this scenario overall system is designed in three tires separately using three layers called presentation layer, business logic layer and data link layer. This project was developed using 3-tire architecture.
User
SERVER
Request Response
Data Base
54
Process Description
A sample process description is based on the process information.
Data Dictionary
The data dictionary supplies information such as data type, how the data is used, required accuracy, life span of data and data flows for the system
Performance Requirement
The static and dynamic numerical requirements placed on the software are described in this section.Performance depends on the size of the input file .
Portability
The system its portable to any platform.
Maintainability
The system would be designed as an open system i.e. new methods can be added easily. The system will have complete commented documentation .
Security
Authorization is needed to access the system to prevent malicious or accidental access to creditcard.software Users will be provided with a user name and password.
Reliability
The system should produce reliable results.
Testability
Effort needed to test to ensure performs as intended 56
Usability
Effort required learning, operating, preparing input, and interpreting output
Reusability
Extent to which it can be reused in another application
Interoperability
Effort needed to couple one system with another
Security
Specify the factors that would protect the software from accidental or malicious access, use, modification, destruction, or disclosure. requirements in this area could include the need to: Utilize certain cryptographic techniques Keep specific log or history data sets Assign certain functions to different modules Restrict communications between some areas of the program Specific
User Class
Some systems provide different sets of functions to different classes of users.
Objects
Objects are real-world entities that have a counterpart within the system. Associated with each object is a set of attributes and functions. These functions are also called services, methods, or processes. Note that sets of objects may share attributes and services. These are grouped together as classes.
Feature
A feature is an externally desired service by the system that may require a sequence of inputs to effect the desired result. Each feature is generally described in as sequence eof stimulus-response pairs.
Stimulus
Some systems can be best organized by describing their functions in terms of stimuli.
Response
57
Some systems can be best organized by describing their functions in support of the generation of a response.
TECHNICAL FEASIBILITY
The technical issue usually raised during the feasibility stage of the investigation includes the following: Does the necessary technology exist to do what is suggested? Do the proposed equipments have the technical capacity to hold the data required to use the new system? Will the proposed system provide adequate response to inquiries, regardless of the number or location of users? Can the system be upgraded if developed? Are there technical guarantees of accuracy, reliability, ease of access and data security?
Reliability
The package wills pick-up current transactions on line. Regarding the old transactions, User will enter them in to the system . 58
Security
The web server and database server should be protected from hacking, virus etc
Portability
The application will be developed using standard open source software (Except Oracle) like Java, tomcat web server, Internet Explorer Browser etc these software will work both on Windows and Linux o/s. Hence portability problems will not arise.
Availability
This software will be available always.
Maintainability
The system called the ewheelz uses the 2-tier architecture. The 1st tier is the GUI, which is said to be front-end and the 2nd tier is the database, which uses My-Sql, which is the back-end. The front-end can be run on different systems (clients). The database will be running at the server. Users access these forms by using the user-ids and the passwords.
ECONOMIC FEASILITY
The computerized system takes care of the present existing systems data flow and procedures completely and should generate all the reports of the manual system besides a host of other management reports. It should be built as a web based application with separate web server and database server. This is required as the activities are spread through out the organization customer wants a centralized database. Further some of the linked transactions take place in different locations. Open source software like TOMCAT, JAVA, MYSQL and LINUX is used to minimize the cost for the Customer.
59
60
Data flow diagrams (DFDs) were introduced and popularized for structured analysis and design. DFDs show the flow of data from external entities into the system, following figures shows how the data moved from one process to another, as well as its logical storage. The symbols are:
Process
Arrows representing the data flows, which can either be electronic data or physical items
Open-ended rectangles representing data stores, such as databases. It is the permanent database.
Temporary database.
Weak entity
Fig: 5.2.1 Context Diagram of Project
In this the structural and behavioral aspects of the environment in which the system is to be implemented are to be represented. UML is specifically constructed through two different domains they are
UML Analysis the modeling, which focuses on the user model and structural model views of the system? UML design modeling, which focuses on the behavioral modeling, implementation modeling and environmental model views. Use Case Diagrams represents the functionality of the system from a users point of view. UseCases are used during requirements elicitation and analysis to represent the functionality of the system. UseCase focus on the system from external point of view. Actors are external entities that interact with the system.Examples of actors include users like administrator, bank customer..etc., or another system like central database
Class diagrams to describe the structure of the system. Classes are abstraction that specify the common structure and behaviour of a set of objects. Class diagrams describe the system in terms of objects, classes, attributes, operations and their associations.
5.4.5Activity diagrams
An activity diagram describes a system in terms of activities. Activities are states that represent the execution of a set of operations. Activity diagrams are similar to flowchart diagram and data flow.
RATIONAL ROSE
Rational Rose is an object-oriented Unified Modeling Language (UML) software design tool intended for visual modeling and component construction of enterprise-level software applications. In much the same way a theatrical director blocks out a play, a software designer uses Rational Rose to visually create (model) the framework for an application by blocking out classes with actors (stick figures), use case elements (ovals), objects (rectangles) and messages/relationships (arrows) in a sequence diagram using drag-and-drop symbols. Rational Rose documents the diagram as it is being constructed and then generates code in the designer's choice of C++, Visual Basic, Java, Oracle8, CORBA or Data Definition Language. Two popular features of Rational Rose are its ability to provide iterative development and round-trip engineering. Rational Rose allows designers to take advantage of iterative 65
development because the new application can be created in stages with the output of one iteration becoming the input to the next.Then, as the developer begins to understand how the components interact and makes modifications in the design, Rational Rose can perform what is called "round-trip engineering" by going back and updating the rest of the model to ensure the code remains consistent.Rational Rose is extensible, with downloadable add-ins and thirdparty partner applications.
66
UML DIAGRAMS
invigilator password : char name : string enter password() announce time() announce result()
VCP name : string id : int write exam() get results() enter id()
login2
vcp(candidate)
instructions
write exam
results
67
invigillator
login1
VCP candidate
login2
exam
result
confrim password
68
login2
exam
69
NORMALIZATION
The process of decomposing relations with anomalies to produce smaller, well structured relation.A normal form is a state of a relation that results from applying simple rules regarding functional decencies or relationships between attributes to that relation. 70
Primary key
A primary key is a key, which doesnt allow duplicate and NULL values
Unique key
This doesnt allow duplicate value and allows NULL.
Foreign key
71
FIELDNAME Sid q1 q2 q3 q4 q5 q6 q7 q8 q9
DATATYPE Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar
SIZE 20 1 1 1 1 1 1 1 1 1
72
TABLE 2: Create table sid1(sid1 varchar(20),q1 varchar(1),q2 varchar(1),q3 varchar(1),q3 varchar(1),q4 varchar(1),q5 varchar(1),q6 varchar(1),q7 varchar(10,q8 varchar(1),q8 varchar (1),q9 varchar(1));
FIELDNAME Sid1 q1 q2 q3 q4 q5 q6 q7 q8 q9
DATATYPE Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar
SIZE 20 1 1 1 1 1 1 1 1 1
73
74
FIELDNAME Sid2 q1 q2 q3 q4 q5 q6 q7 q8 q9
DATATYPE Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar
SIZE 20 1 1 1 1 1 1 1 1 1
75
FIELDNAME Sid3 q1 q2 q3 q4 q5 q6 q7 q8 q9
DATATYPE Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar
SIZE 20 1 1 1 1 1 1 1 1 1
Create table results(Sid varchar(20),question varchar(3),,A varchar(3),B varchar(3),C varchar(3),D varchar(3), Total varchar(3));
SIZE 20 3 3 3 3 3
78
79
6.1 TESTING
TESTING OBJECTIVES
Testing is a process of executing a program with the intent of finding an error. A good test has a high probability of finding an as yet undiscovered error. A successful test is one that uncovers an as yet undiscovered error The objective is to design tests that systematically uncover different classes of errors and do so with a minimum amount of time and effort. Testing cannot show the absence of defects, it can only show that software defects are present.
80
Erroneous initialization or default values. Incorrect variable names. Inconsistent date types. Overflow, underflow, address exceptions.
INTEGRATION TESTING
Modules integrated by moving down the program design hierarchy. Can use depth first or breadth first top down integration Verifies major control and decision points early in design process. Top-level structure tested most. Depth first implementation allows a complete function to be implemented, tested and demonstrated. Can do depth first implementation of critical functions early. Top down integration forced (to some extent) by some development tools in programs with graphical user interfaces. BOTTOM UP INTEGRATION
Begin construction and testing with atomic modules (lowest level modules).Bottom up integration testing as its name implies begins construction and testing with atomic modules. Because modules are integrated from the bottom up, processing required for modules subordinate to a given level is always available and the need for stubs is eliminated. 81
VALIADATION TESTING
Validation testing is aims to demonstrate that the software functions in a manner that can be reasonably expected by the customer. This tests conformance the software to the Software Requirements Specification.
Configuration Review
An audit to ensure that all elements of the software configuration are properly developed catalogued and has all the necessary detail to support maintenance.
82
Beta testing is conducted at one or more customer sites by end users. It is ' live ' testing in an environment not controlled by developer. The customer records and reports difficulties and errors at regular intervals .
SYSTEM TESTING
Software is only one component of a system. Software will be incorporated with other system components and system integration and validation test performance.
RECOVERY TESTING
Many systems need to be fault tolerant-processing faults must not cause overall system failure. Other systems require after a failure within a specified time. Recovery testing is the forced failure of the software in a variety of ways to verify that recovery is properly performed.
SECURITY TESTING
System with sensitive information or which have the potential to harm individuals can be target for improper or illegal use. This can include : Attempted penetration of the system by outside individuals for fun or personal gain. Disgruntled or dishonest employees. During security testing the tester plays the role of the individual trying to penetrate the system. Large range of methods: Attempt to acquire passwords through external clerical means. Use custom software to attack the system. Overwhelm the system with requests. Cause system errors and attempt to penetrate the system during recovery. Browse through insecure data. Given time and resources, the security of most systems can be breached .
PERFORMANCE TESTING
For real-time and embedded systems, functional requirements may be satisfied but performance problems make the system unacceptable. Performance testing checks the run-
83
time performance in the context of the integrated system Can be coupled with stress testing, May require special software instrumentation.
Design Stage
Design products are tested by analysis, simulation, walkthrough and inspection. Test data for functions are generated. Test cases based on structure of system are generated.
Construction Stage
This stage includes the actual execution of code with test data. Code walkthrough and inspection are conducted. Static analysis, Dynamic analysis, Construction of test drivers, hair nesses and stubs are done. Control and management of test process is critical. All test sets, test results and test reports should be catalogued and stored.
Approaches
Two basics approaches 1. Black box or "Functional" analysis 84
external and special value test data are identified. Test data is identified such that it will
Cause-effect graphing
In this method the characteristic input stimuli (Causes), characteristic output classes (effects) are identified. The dependencies are identified using specification. These details are presented as directed graph. Test cases are chosen to test dependencies.
Complexity-based testing
The Cyclomatic Complexity is measured. The paths actually executed by program running on test data are identified and the actual complexity is set. A test set is devised which will drive actual complexity closer to Cyclomatic complexity.
Known errors are seeded into the code so that their placement is statistically similar to that of actual errors.
Mutation Analysis
It is assumed that a set of test data that can uncover all simple faults in a program is capable of detecting more complex faults. In mutation analysis a large number of simple faults, called mutation, are introduced in a program one at a time .The resulting changed versions of the test program are called mutates. Test data is then be constructed to cause these mutants to fail. The effectiveness of the test data set is measured by the percentage to mutants killed.
Test Results
The listed tests were conducted in the software at the various developments stages. Unit testing was conducted. The errors were debugged and regression testing was performed. The integration testing will be performed once the system is integrated with other related systems like Inventory, Budget etc. Once the design stage was over the Black Box and White Box Testing was performed on the entire application. The results were analyzed and appropriate alterations were made. The test results proved to be positive and henceforth the application is feasible and test approved.
6.2 SECURITY
SYSTEM SECURITY Setting Up Authentication for Web Applications INTRODUCTION
To configure authentication for a Web Application, use the <login-config> element of the web.xml deployment descriptor. In this element you define the security realm containing the user credentials, the method of authentication, and the location of resources for authentication.
SECURITY IN SOFTWARE
To set up authentication for Web Applications: Open the web.xml deployment descriptor in a text editor or use the Administration Console. Specify the authentication method using the <auth-method> element. The available options are: 86
BASIC
Basic authentication uses the Web Browser to display a username/password dialog box. This username and password is authenticated against the realm.
FORM
Form-based authentication requires that you return an HTML form containing the username and password. The fields returned from the form elements must be: j_username and j_password, and the action attribute must be j_security_check. Here is an example of the HTML coding for using FORM authentication: <form method="POST" action="j_security_check"> <input type="text" name="j_username"> <input type="password" name="j_password"> </form> The resource used to generate the HTML form may be an HTML page, a JSP, or a servlet. You define this resource with the <form-login-page> element. The HTTP session object is created when the login page is served. Therefore, the session.isNew () method returns FALSE when called from pages served after successful authentication.
87
AUTHENTICATION SCREEN
88
89
TIMER SCREEN
INSTRUCTIONS SCREEN
90
SECTION D SCREEN
91
QUESTION SCREEN
92
93
TIMEUP SCREEN
94
RESULTS SCREEN
95
CHAPTER-VII CONCLUSION
96
CONCLUSION
An attempt is made to use the generally available e-gadgets and the software technology to make a visually challenged candidate to take an objective type test without the help of a scriber/ writer. Further attempts are to be made to realize software and make a sample survey to tune the program for its effectiveness. The documentation and the project report is finally prepared to be referred as user manual for further effective results of this software solution. Now the project is completed and ready to submit to the head of the department of the college for further process.
97
98
CHAPTER-VIII BIBLIOGRAPHY
99
Tata McGraw-Hill
2). Group
Wrax series
Java Script
Wrax Series
100
http://sourceforge.net/projects/freetts/
http://sourceforge.net/projects/keystrokes/
101