52 web programing

Upload: ashwin-kumar

Post on 06-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 52 Web Programing

    1/27

    CHAPTER ONE QUESTIONS

    NIIT Coordinator Guide Web Programming 1

  • 8/3/2019 52 Web Programing

    2/27

    1. WHA TIS WEB? WHA TIS TH EDIFFERENCEBETWEEN INTERNETAN D INTRANET?

    NIIT Coordinator Guide Web Programming 2

  • 8/3/2019 52 Web Programing

    3/27

    ANS . A WEB ISACOMPLEXNETWORKOF INTERNATIONAL, CROSSPLATFORM , AND CROSSCULTURAL COMMUNICATING

    DEVICES, CONNECTEDTOEACHOTHERWITHOUTANY ORDERING OR PATTERN. INTERNETAN D INTRANETARE BOTHNETWORKS. HOWEVER, TH E INTERNET ISANETWORKOFNETWORKS, INVOLVINGAL LCOMMUNICATINGDEVICESOVERTHE WEB. HOWEVER, AN INTRANET IS LIMITEDTOTHE USERS, MACHINES, AN DSOFTWAREPROGRAMSOFASPECIFICORGANIZATION.

    NIIT Coordinator Guide Web Programming 3

  • 8/3/2019 52 Web Programing

    4/27

    2. EXPLAIN GET AND POST BRIEFLY?

    Ans. The GET and POST methods are used to send an HTTP request to the Web server. The GET method is used

    to request a document from the server. For example:

    Get /Webdocs/index.html CRLF The POST method allows Web browsers to send an unlimited amount ofdata to a Web server by allowing them to tag it on to HTTP request headers as the message body.

    3. Explain how HTTP is used in client/server system.

    Ans. HTTP is a request-response type protocol that specifies that a client will open a connection to a server and then send a

    request using a specific format. In the client server system, the client connects to and sends a request to a server using

    HTTP. The server then receives and parses the request of the client to send back the requested resource using HTTP again.

    For sending the response, the server software accesses the server hardware and retrieves the requested document.

    4. Discuss the difference between static and dynamic Web pages?

    Ans. Static Web pages are not processed by the server and are sent as it is. These pages do not have any scripting logic and

    they cannot change according to client's request parameters. Dynamic Web pages are processed by the server and then the

    generated content is sent to the client. They may involve information from a database or some other information such as

    client's user name.

    5. "HTML is the language of the Web. Explain.

    Ans. HTML is a markup language in which Web pages are defined. It is simplistic so that everyone can use it. It is truly thelanguage of the Web. Browsers treat all content given to them as HTML. Also, most of the information on the Internet is in

    the HTML format. Servers generate the HTML content from the server side scripts and send it to the browsers.

    6. Why do we require JavaScript and DHTML?

    Ans. JavaScript and DHTML make Web pages more interactive. HTML can be used to only present information. It cannot

    process data and is therefore not interactive. JavaScript can be used to write programs for creating interactive Webpages. For example, if a user leaves out a field in an online form, JavaScript can be used to prompt the user toenter a value in that field.

    DHTML can be used to make the pages more interactive by allowing you set properties of Web pages and theirlook and feel.

    7. Brief about role played by CGI programming in Web programming?Ans. CGI opened the gates of more complex Web applications. It enabled developers to write scripts, which can

    communicate with server applications and databases. In addition, it enables developers to write scripts that could also parse

    client's input, process it, and present it in a user friendly way.

    Solutions to Chapter Two Questions

    1. What is HTML?

    Ans. HTML stands for Hypertext Markup Language. It is a layout and format defining language used to write Web pages.

    It allows you to:

    Publish documents to the Internet in a platform independent format

    Create links to related work from your document Include graphics and multimedia data in your documents Link to non-World Wide Web information resources on the Internet

    2. Brief about HTML tags and Elements.

    Ans. An HTML tag defines the markup for a particular content in an HTML page and is represented within angular

    brackets. A start tag is represented as and an end tag is represented as . Most tags in HTML are

    in pairs of start and end tag. Only some tags such as
    do not have an end tag.

    An element contains a start tag, an end tag, and the content, which is marked up by those tags. The content inan element may comprise of data as well as nested tags. For example, the following is an HTML element:

    This is a nested tag

    NIIT Coordinator Guide Web Programming 4

  • 8/3/2019 52 Web Programing

    5/27

    An HTML page starts and end with tags, marking the beginning and end ofan HTML page. A page can be divided into the header and the body. The tags represent the former and contain header information, which is not displayed in thebrowser window. The tags also contain the tags, whichcontain the text that will be displayed in the title bar of the browser window when the page isopened.

    The tags comprise the body element of an HTML page. The content withthe tags is displayed in the browser window.

    3. List down different classifications of tags with 2 examples tags for each category.

    Ans. Tags can be classified as:

    Tags for document structure: HTML and HEAD Heading tags: TITLE and LINK Block-level text elements: H1 through H6, P Lists: OL and UL Text characteristics: B, I , FONT

    4. Explain any 4 HTML tags with at least 4 attributes with example.

    Ans. The tag represents the body of an HTML page and contains the content to be displayed in the browser

    window. It has various attributes including:

    BACKGROUND: Specifies an image to be displayed in the background of an HTMLpage. Its value can be an absolute URL or a relative URL. BGCOLOR: Sets the color of the background. TEXT: Sets the default color of normal text for the HTML page. LINK: Sets the default color of unvisited links in an HTML page.

    The tag is used to create tables in HTML pages. It has various attributes such as:

    BORDER: Indicates the thickness, in pixels, of the border to be drawn around the table. CELLPADDING: Determines the amount of space, in pixels, between individual cells in a

    table. CEPPSPACING: Determines the amount of space, in pixels, between individual cells in a

    table.

    WIDTH: Determines the width of the table.The tag inserts images in an HTML page. It has various attributes such as:

    SRC: Path of the image to be displayed. ALT: Alternative text to be displayed in case the image cannot be displayed. LOWSRC: Path of a low resolution version of the image. HEIGHT and WIDTH: Specifies the dimensions of the image.

    The tag is used to draw a horizontal line in HTML pages. It has various attributes suchas:

    ALIGN: Specifies the horizontal alignment of the lines that do not span the whole page. NOSHADE: Reproduces a solid black line that has no shading.

    SIZE: Indicates the thickness of the line in pixels. WIDTH: Defines the horizontal width of the line.

    5. Write an example HTML page containing a table 4 X 3 and each row colored differently.

    Ans. The following is an HTML page containing a table 4 X 3 and each row colored differently:

    Colored Table

    NIIT Coordinator Guide Web Programming 5

  • 8/3/2019 52 Web Programing

    6/27

    6. Write an HTML program to demonstrate text characteristics tags.

    Ans. The following code demonstrates some of the important text characteristics tags in HTML:

    Text Characteristics

    Text Characteristics in

    HTML

    HTML is a formatting language for Web pages. Below is an example of

    HTML code


    NIIT Coordinator Guide Web Programming 6

  • 8/3/2019 52 Web Programing

    7/27




    & followed by gt represents the greater than sign.

    7. Write an HTML program to demonstrate applet embedding.

    Ans. Applets are embedded in HTML pages using the tag. An example of an HTML page containing an applet

    which scrolls the specified text across the screen at a specified speed, is given below:

    Demo Applet

  • 8/3/2019 52 Web Programing

    8/27

    All in One

    In section 1 you can search. In section 2 you can shop.

    Section 1:

    Search on Google

    Search on Yahoo

    Section 2:

    Shop on ebay

    Download wallpapers

    Order Custom T-Shirts

    News

    The output will be as shown here:

    10. Explain ordered list and unordered list.

    Ans. Ordered lists are numbered list and represented by the tag in HTML. You can use the tag's TYPE and STARTattributes to change the style and sequence of the numbering in the list. The tag is used for individual items of the list.

    Ordered lists are usually used to represent procedures/sequence of steps in HTML pages. An example of an ordered list is

    give below:

    To copy text in Word:

    Select the text.

    Press Ctrl + C.

    Click at the location where you want to past the text and pres Ctrl + V.

    The unordered list is a bulleted list and represented by the tag in HTML. You can use the tag's TYPEattribute to change the style of the bullets in the list. The tag is used for individual items of the list.Unordered lists are usually used to represent various items of a category or related to a topic. An example of anunordered list is given below:

    The various types of domestic animals are:

    Dogs

    Cats

    Horses

    NIIT Coordinator Guide Web Programming 8

  • 8/3/2019 52 Web Programing

    9/27

    Solutions to Chapter Three Questions

    1. What is Java Script? List out uses of Java Script.?

    Ans. JavaScript is a scripting language used to make interactive web pages. It is mostly used as a client side scripting

    language. Its uses include:

    Control document appearance and content Control the browser Interact with document content Interact with user

    Read and write client state with cookies Interact with applets Manipulate embedded images

    2. Create an HTML page, which pops up an alert message.

    Ans.

    Following HTML pops up an alert message:

    Pop up

    Trying Pop-ups

    alert("This is an alert message. It uses alert() in JavaScript");

    3. Explain briefly about Cascading Style Sheets (CSS).

    Ans. CSS controls the look and placement of elements on a page. With CSS you can set any style property of any element

    on a HTML page. One of the biggest advantages with CSS instead of regular way of changing the look of elements is that

    you can split content from design. You can, for instance, link a CSS file to all the pages in your site that sets the look of the

    pages. So if you want to change the elements on the page, such as font size of the main text, you can just change it in the

    CSS and all the pages will be updated.

    The syntax of CSS code is:

    ELEMENT [{property1:value1:property2:value2}]

    Note that the style tag is always placed in the head of the document.

    4. Explain the uses of script tags.

    Ans. The script tag marks the beginning and end of JavaScript in a web page. You can specify the scripting language in the

    script tags' Language attribute. In addition, you can also specify where the script is expected to run using the runat

    attribute. For example, when JavaScript is used as a server side scripting language, you can use the script tag as:

    5. Explain Document Object Model.

    Ans. The Document Object Model or DOM is the interface that allows you to programmatically access and manipulate

    content of a web page. It provides a structured, object-oriented, representation of the individual elements and content in a

    NIIT Coordinator Guide Web Programming 9

  • 8/3/2019 52 Web Programing

    10/27

    page with methods for retrieving and setting the properties of those objects. It also provides methods for adding and

    removing such objects, allowing you to create dynamic content. The DOM also provides an interface for dealing with

    events, allowing you to capture and respond to user and browser actions.

    6. Write a program to display text in status bar on click of a button.

    Ans.

    Pop up

    Changing Status Bar Text

    7. What is the difference between HTML and DHTML?

    Ans. HTML is a markup language used to create static web pages. DHTML on the other hand is not a language by itself

    but a combination of different technologies such as HTML, CSS, JavaScript, and DOM. It is used to create dynamic pages.

    8. Explain the methods to access nodes in a Document tree.

    Ans. Following are the methods used to access a node in a document tree:

    document.getElementById(): Returns the element or node whose ID is passed as aparameter to it.

    document.getElementsByTagName(): Returns the list of nodes that have the tagpassed to the function as a parameter.

    9. What are text nodes?

    Ans. If a node contains text, it is represented as a text node. For example, in

    "This is the

    initialtext.

    , there are text nodes "This is the", "initial", and "text".

    Solutions to Chapter Four Questions

    1. What is CGI ?Give examples of CGI application and explain any one of them?

    Ans. Common Gateway Interface is a specification, which allows Web users to run programs from their computers. CGI is

    not a programming language but rather a specification that allows programs and scripts written in other language to be run

    over the Internet.

    2. What are CGI environment variables? Explain any five.

    Ans. Most of the information about the client, server, and user input is placed and made available through globally

    accessible variables known as CGI environment variables. Some of the commonly used environment variables are:

    QUERY_STRING: The query information passed to the program. It is appended to theURL with a ? when the browser sends it to the server. The name value pairs are thenstored in this environment variable.

    SERVER_PROTOCOL: The name of and revision of the information protocol that therequest came in with.

    REQUEST_METHOD: The method with which the information request was issued. HTTP_USER_AGENT: The browser used by the client to issue the request. CONTENT_LENGTH: The length of the data in bytes passed to the CGI program through

    the standard input.3. Give difference between JavaScript and CGI programming.

    NIIT Coordinator Guide Web Programming 10

  • 8/3/2019 52 Web Programing

    11/27

    Ans. JavaScript is a scripting language whereas CGI itself is a standard, which uses various other programming languages.

    JavaScript is used mainly on the client side whereas CGI programming is used to implement server side scripting. In

    addition, JavaScript is embedded in HTML documents whereas CGI programs reside in their own independent files.

    4. Explain CGI.pm module with an example.

    Ans. PERL supports various add-on modules, which are libraries of functions that perform specific tasks. These are called

    standard library modules. CGI.pm is a standard library module, which provides various functions. To include the CGI.pm

    module in your PERL script, you have to use the "use" command after the #!/perl/bin/perl line and before any other code:

    use CGI qw(:standard);

    After including CGI.pm you can call its functions such as header, which prints the Content-type header.

    5. Explain different types of PERL variables.

    Ans. PERL variables are of the following three types:

    Scalars: A scalar variable stores a single value of any type. Scalar variables are prefixedwith a $. These variables need not be declared before using them. You can define or usea variable as:$var =1;$var_noval;$str = "This is a scalar string variable";

    Arrays: Arrays store an ordered list of values. Arrays can be declared as:@emptyarr =();@arr = ("1", "2","3");Each individual item of an array is referred to by its index number as:print "$arr[0]";You can use the push() and pop() functions to insert or delete an element from an array.

    Hashes: A Hash is a special kind of an array - an associative array or paired list ofelements. Each pair in a Hash consists of a string key and data value. A hash is definedas:%emptyhs = ();%hs = ("key1", "val1", "key2", "val2");or

    %hs = (key1 => "val1",key2=> "val2");

    An individual item of a Hash is referred to as $hs{"key1"};The my function can be used with each of the above type of variables to declare and limitthe scope of the variable to the enclosing block as:my $var;

    6. Explain PERL control structures with appropriate examples.

    Ans. PERL control structures include:

    1. If-else and unless condition: This construct performs a Boolean test on an expressionand performs actions based on the results of the Boolean test. For example:

    If($var==1){$out = "This was one";

    }elseif($var==0){$out = "This was zero";}else{$out = "Was neither 0 nor 1";}

    print "$out";

    The above code will print, "This was one" if the variable $var is 1. Otherwise, if $var isequal to 0, it will print "This was zero". If $var is nether 1 nor 0, it will print "Was neither 0

    NIIT Coordinator Guide Web Programming 11

  • 8/3/2019 52 Web Programing

    12/27

    nor 1". Note that the else or elesif part is optional. You can also have a single if statementin your program or nested ifs and if-else or if-elseif-else structures.Note that to compare strings you must use the eq operator. You can also join multipleconditions using the logical operators. Similar to the If command is the unless command.For example:unless($var!=1){

    $out = "This was one";}else

    {$out = "Not one";

    }Note that PERL does not support unlessif.

    2. Foreach loop: It is used for iterating over a list of values. The elements of an array canbe iterated over using foreach as:Foreach my $i(@arr){$arr[$i] = $i; //set the value of each element of array to its index number}

    3. For loop: It is used to repeatedly perform an action. It uses a three-part conditionalconsisting of the loop initializer, the loop condition, and the loop reinitializer. For example,to perform an action such as printing use the for loop as:for($i=0;$i

  • 8/3/2019 52 Web Programing

    13/27

    In the above URL, the form field 'username', whose value is 'smith', and field 'password' whose value is 'juyhy',are appended to the URL after '?'. They form the query string. Query string comprises of name-value pairs.Each name value pairs is separated by &. Spaces between values are encoded as + and other specialcharacters are encoded as their ASCII value preceded by a %.

    8. What are GET and POST methods? What is the difference between GET and POST Methods.

    Ans. GET and POST are methods of sending data to the server for making it available to CGI programs. The GET method

    passes the information through environment variables whereas the POST method sends the data through standard input.

    9. Write a simple CGI application, which accepts the user information and displays the Information entered to

    the user?Ans.

    #!/usr/bin/perl

    #print "Content-type:text/html\n\n";

    #$form = $ENV{'QUERY_STRING'};

    use CGI;

    $cgi = new CGI;

    print $cgi->header;

    print $cgi->start_html( "Question Nine" );$text = $cgi->param( 'text' );

    if( $text )

    {

    print "You entered $text";

    }

    else

    {

    print '';print '
    ';

    print '
    ';

    print "";

    }

    print $cgi->end_html;

    Save the file as ques9.pl.

    Note

    Students need to know the IISconfiguration for running perlapplications.

    10. Write a CGI application that accepts 3 numbers from the users and displays the LCM of three numbersusing GET and POST methods.

    Ans.

    #!/usr/bin/perl

    #print "Content-type:text/html\n\n";#$form = $ENV{'QUERY_STRING'};

    use CGI;

    NIIT Coordinator Guide Web Programming 13

  • 8/3/2019 52 Web Programing

    14/27

    $cgi = new CGI;

    print $cgi->header;

    print $cgi->start_html( "Question Ten" );

    my $one = $cgi->param( 'one' );

    my $two = $cgi->param( 'two' );

    my $three = $cgi->param( 'three' );

    if( $one && $two && $three )

    {

    $lcm = &findLCM( &findLCM( $one, $two ), $three );

    print "LCM is $lcm";

    }

    else

    {

    print '';

    print 'Enter First Number
    ';

    print 'Enter Second Number
    ';

    print 'Enter Third Number
    ';

    print '
    ';

    print "";

    }

    print $cgi->end_html;

    sub findLCM()

    {

    my $x = shift;

    my $y = shift;

    my $temp, $ans;

    if ($x < $y) {

    $temp = $y;

    $y = $x;

    $x = $temp;

    }

    $ans = $y;

    $temp = 1;

    while ($ans % $x)

    {

    $ans = $y * $temp;

    $temp++ ;

    }

    return $ans;

    NIIT Coordinator Guide Web Programming 14

  • 8/3/2019 52 Web Programing

    15/27

    }

    Save the file as ques10.pl.

    Note

    Students need to know the IIS configuration for runningperl applications.

    11. What is Extra Path information? Explain with an example.

    Ans. Besides passing query information to a CGI script, you can also pass additional data known as extra path information

    as part of the URL. The server gauges where the CGI program name ends; anything following that is deemed as extra path

    information and stored in the PATH_INFO environment variable. For example the following line calls a script with extra

    path information:

    http://some.machine/cgi0bin/display.pl/cgi_doc.txt

    Solutions to Chapter Five Questions

    1. What is Web Sever? Explain.

    Ans. The Web server is the software responsible for accepting browsers' requests, retrieving the specified file or executing

    the script, and returning its content to the browser. Popular Web servers include Tomcat, Apache, and IIS.2. List out differences between Web Server and Application Server.

    Ans. The main differences between Web servers and application servers are:

    A Web server is where Web components are deployed and run. An application server iswhere components that implement the business logic are deployed. For example, in aJSP-EJB Web application, the JSP pages will be deployed on the Web server whereasthe EJB components will be deployed on the application servers.

    A Web server usually supports only HTTP (and sometimes SMTP and FTP). However, anapplication server supports HTTP as well as various other protocols such as SOAP.

    3. Explain the role of Deployment descriptors.

    Ans. A deployment descriptor is an XML document that defines all the components of an application along with related

    information such as initialization parameters and container managed security constraints that you want the server to

    enforce. This file helps the server to know crucial details about the application.

    4. Briefly describe basic mechanism of Web server.

    Ans. A Web server first retrieves a client request using Berkley sockets, which is a mechanism used for communicating

    over a network. The Web server listens for request on a particular port on the server machine. For HTTP request, this port

    is by default set to 80. When the server receives the request, it locates the document being requested. It looks for the file

    under the document root directory. For example, if the document root is /usr/local/httpd/htdocs and the client requests the

    document /staff/matthew.html, then the server retrieves /usr/local/httpd/htdocs/staff/matthew.html. If the URL does not

    specify a file but just a directory, the server returns the directory index file, generally called index.html or welcome.html.

    The server sends the contents of the file back to the client, along with some HTTP response headers.5. Explain the importance of Web.xml.

    Ans. Web.xml is the deployment descriptor on Tomcat server. A deployment descriptor is an XML document that defines

    all the components of an application along with related information such as initialization parameters and container

    managed security constraints that you want the server to enforce. This file helps the server to know crucial details about the

    application.

    6. Explain how servlet mappings are done in Web.xml.

    Ans. Servlet Mapping is done in Web.xml with the help of the tag as:

    Controller*.do

    NIIT Coordinator Guide Web Programming 15

  • 8/3/2019 52 Web Programing

    16/27

    graph

    /graph

    According to the first mapping, all requests of the form http://localshots:8080/{contextpath}.dowill be mapped to the Controller servlet whereas according to second mapping all request ofthe form http://localshots:8080/{contextpath}/graph will be mapped to the graph servlet.

    7. What is a war file? Give its importance.Ans. WAR or Web Application Archive file is packaged servlet Web application. Servlet applications are usually

    distributed as a WAR files.

    8. How can you specify session time out in Web.xml?

    Ans. You can specify session timeout in the attribute of the element. For example, to

    specify a session timeout of 30 minutes use:

    30

    Solutions to Chapter Six Questions

    1. What is JSP? How is it is different from CGI programming?

    Ans. JSP is a technology for developing Web pages that include dynamic content. A JSP page contains standard markup

    language elements, such as HTML tags, just like a regular Web page. However, a JSP page also contains special JSP

    elements that allow the server to insert dynamic content in the page. CGI is not an efficient solution for developingdynamic Web content. For every request, the Web server has to create a new operating system process, loadan interpreter and a script, execute the script and then tear it all down again. This is taxing for the server andaffects the scalability of the application. However, in JSP, each JSP page is compiled into executable code onfirst request. On subsequent requests thee executable code is directly invoked instead of recompilation. This

    enables a server to handle JSP pages much faster than CGI programs.2. Write a JSP programming which displays different message to the user based on the time of day.

    Ans.

    Time Message

  • 8/3/2019 52 Web Programing

    17/27

    else if( hh > 12 && hh < 18 )

    {

    message = "Good Afternoon!";

    }

    else if( hh > 18 && hh < 21 )

    {

    message = "Good Evening!";

    }

    else

    {

    message = "Good Night!";

    }

    %>

    3. Explain JSP elements.

    Ans. JSP elements are of 3 types:

    Directive: Specifies information about the page itself that remains the same betweenrequests. For example, it can be used to specify whether session tracking is required ornot, buffering requirements, and the name of the page that should be used to reporterrors.

    Action: Performs some action based on information that is required at the exact time theJSP page is requested by a browser. An action, for instance, can access parameters sentwith the request to lookup a database.

    Scripting: Allows you to add small pieces of code in JSP page. These elements are alsoexecuted when a page is requested.

    4. What are the advantages of JSP?

    Ans. The advantages of JSP are:

    Supports both scripting and element based dynamic content and allows programmers todevelop custom tag libraries to satisfy application specific needs.

    Are compiled for efficient server processing. Can be sent in combination with servlets that handle the business logic of the model

    supported by Java servlet template engines. It is specification not a product. Different vendors can launch and use different

    implementations of JSP, leading to competition for better quality and performance. It is an integral part of J2EE, a complete platform for enterprise class applications.

    5. How are JSPs better than Servlets?

    Ans. Unlike servlets, JSP lets you separate presentation and business logic. You can place the HTML code (presentation)

    in JSP along with some dynamic elements. The business logic remains in the servlets or JavaBeans. This approach helps to

    overcome the problems with a pure servlet based approach, such as:

    Thorough Java programming knowledge is needed to develop and maintain all aspects ofthe application, since the processing code and the HTML elements are lumped together.

    Changing the look and feel of the application, or adding support for a new type of client,requires the servlet code to be updated and recompiled.

    It is hard to take advantage of Web-page development tools when designing theapplication interface. If such tools are used to develop the Web page layout, thegenerated HTML must than be manually embedded into servlet code. This process istime consuming and error prone.

    NIIT Coordinator Guide Web Programming 17

  • 8/3/2019 52 Web Programing

    18/27

    6. Explain the various JSP Directives.

    Ans. JSP directives are JSP elements that provide global information about a JSP page. The various JSP directives are:

    page directive: Defines information that will globally affect the JSP containing thedirective. The syntax of a page directive is: . Thevarious possible attributes are language, extends, import, session, buffer, autoFlush,isThreadSafe, info, errorPage, isErrorPage, and contentType.

    include directive: Used to insert text and/or code at the JSP translation time. Its syntaxis: . The file attribute can reference a normalHTML file or a JSP file, which must be local to the Web application that contains the

    directive. taglib directive: States that the including page uses a custom tag library, uniquely

    identified by a URO and associated with a prefix that will distinguish each set of customtags to be used in the page. Its syntax is: .

    7. Explain JSP error handling.

    Ans. The JSP architecture provides an error-handling solution through the use of JSPs that are written exclusively to handle

    JSP errors. The errors that occur most frequently are runtime errors that can arise either in the body of the JSP page or in

    some other object that is called from the body of the JSP page. Request-time errors that result in an exception being thrown

    can be caught and handled in the body of calling JSP, which signals the end of the error. Exceptions that are not handled in

    the calling JSP result in forwarding client request, including the uncaught exception, to an error page specified by the

    offsending JSP.

    8. Explain implicit objects out, request, and response in a JSP page.

    Ans. Following are the implicit objects in a JSP page:

    out: This implicit object represents a JspWriter that provides a stream back to therequesting client. The most common method of this object is out.println(),which prints textthat will be displayed in the client's browser.

    request: This implicit object represents the javax.servlet.HttpServletRequest interface.The request object is associated with every HTTP request. One common use of therequest object is to access request parameters. You can do this by calling the requestobject's getParameter() method with the parameter name you are seeking. It will return astring with the values matching the named parameter.

    response: This implicit object represents the javax.servlet.HttpServletRequest object.The response object is used to pass data back to the requesting client. A common use ofthis object is writing HTML output back to the client browser.

    Solutions to Chapter Seven Questions

    1. What are servlets? Explain with an example?

    Ans. Servlets are programs that run on a Web server and create Web pages on the fly. To be a servlet, a class should

    extend HttpServlet and override doGet or doPost or both methods, depending on whether data is sent by GET or POST.These methods take two arguments, HTTPServletRequest and HttpServletResponse. The HTTPServletRequest has

    methods that let you find out about incoming information such as FORM data and HTTP request headers. The

    HttpServletResponse has method that lets you specify the HTTP response line, response headers, and obtain a PrintWriter

    object, used to send output back to the client. For simple servlets, most of the effort is spent in println statements that

    generated the desired page. A sample servlet is given below:

    package hallo;

    import java.io.*;

    import javax.servlet.*;

    import. Javax.servlet.http.*;

    public class HelloWorld extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOexception {

    NIIT Coordinator Guide Web Programming 18

  • 8/3/2019 52 Web Programing

    19/27

    PrintWriter out = response.getWriter();

    Out.println("Hello World");

    }

    }

    2. Explain Servlet life cycle.

    Ans. The lifecycle of a servlet consists of the following main stages:

    Instantiation: The Web server creates an instance of a servlet. This is based on a

    request or a container startup. Initialization: The Web server creates the instance's init() method. When the Web server

    loads a Web application, it also loads the initialization parameters associated with theapplication. This and the previous step occur only once during the lifetime of a servlet.

    Service: This is the third state in the servlet lifecycle. In this state, the servlet's service()method is called, which generates response. The generation of response involves thefollowing steps:a. Setting the content type of the response. The receiving application (browser) uses this

    information to know how to treat the response data. For example, to generate anHTML output, the content-type is set to "text html".

    b. The second step is to get PrintWriter object from response. PrintWriter is a class thatextends the java.io writer abstract class. In the case of servlets, the Web server

    constructs the Print Writer object from the java.io. OutputStream object associatedwith the underlying connection from the client. With TCP/IP based implementations,Web server usually gets OutputStream object from the socket, uses the object tocreate the PrintWriter object, and associates with the HttpServletResponse object. Asa result, from within the servlet, you will able to write to object stream associated withthe network association.

    Destroy: This is the final stage in a servlet lifecycle. In this stage, the destroy() method iscalled before shutting down the servlet.

    3. What is the difference between HttpServlet and GenericServlet?Ans.GenericServlet is the base class, which is extended by an abstract class HttpServlet.

    4. What is the difference between doGet() and doPost().

    Ans. doGet() needs to be overridden when the data is submitted to the server using the GET method whereas the doPost()

    method needs to be overridden when POST method is used to submit data to the server.

    5. Explain the relationship between a servlet, its servlet container and the servlet API.

    Ans.A servlet is a Java program, which runs in a servlet container and is written according to servlet APIspecification. Servlet API is a set of classes and interfaces, which outlines all necessary operations, restrictions,and behaviour for a servlet. A servlet container is software, which provides network services over which

    requests, responses are sent. It should provide abstraction in obtaining requests and formatting responses andat least support communication over HTTP. For example, Tomcat is a servlet container.

    6. Which two packages implement the Servlet API?

    Ans. The two packages are:

    javax.servlet6. javax.servlet.http

    7. Draw a class diagram to show the relationship between major classes in the servlet API.

    Ans. The class diagram is shown as here:

    NIIT Coordinator Guide Web Programming 19

  • 8/3/2019 52 Web Programing

    20/27

    Class Diagram

    8. What are the advantages of using servlets to extend server functionality?

    Ans. Following are the advantages of using servlets:

    1. It helps to achieve platform independence.2. It provides performance improvement as classes stays in the memory once called.3. It is much more secure over traditional server side languages. For example, no problems

    of memory leakages and buffer overflows are faced in case of servlets.4. It uses Java's multithreading capabilities, which gives it a performance gain.

    9. Describe the request handling cycle and the methods invoked on the servlet by the servlet container.

    Ans. Following are the operations done on a servlet by servlet container when a servlet is requested:

    1. If servlet instance does not exist in memory, the container:

    a. Loads the servlet class and thus creates its instanceb. Calls the init() method on the above class and passes ServletConfig as parameter

    2. On any further request service() method of servlet class is called and HttpServletRequestand HttpServletResponse are passed as parameters to it.

    NIIT Coordinator Guide Web Programming 20

  • 8/3/2019 52 Web Programing

    21/27

    10. Which class provides methods of reading the parameters submitted by a client?

    Ans. There is no class for this but HttpServletRequest interface provides methods getParameter(), getParameterValues(),

    and getParameterMap() for obtaining parameters submitted by client.

    11. Which class provides methods of reading the parameters specified in the deployment descriptor file?

    Ans. ServletConfig class provides methods getInitParameter() and getInitParameterNames() for reading parameters

    specified in deployment descriptor.

    12. Which streams are used for sending the contents of the entity-body in the response?

    Ans. ServletOutputStream is used for sending contents in response, if the data is binary. It extends the OutputStream class.Its object is normally obtained by calling HttpServletResponse.getOutputStream. For sending character dataPrintWriter class is used, which extends the Writer class. Its object is obtained by calling theHttpServletResponse.getWriter() method.

    13. Outline the main steps in implementing the servlet.

    Ans Following are the steps used in implementing a servlet for HTTP communication:

    1. Import required servlet packages in the class.2. Make the class extend HttpServlet.3. Override methods doGet(), doPost(), or doService() as required by problem in hand.4. Make an entry for the above servlet in deployment descriptor.

    5. Configure any extra options or filters, which are required by the server to function.14. Explain the semantics of the HTML FORM element.

    Ans. The HTML form element represents a form in which users can input data and submit it to the server for processing.

    The HTML form tag is as follows:

    The name attribute specified the name for a form. The action attribute specified the URL ofthe document or the name of the file to which the form data is submitted for action and themethod attribute specified the HTTP method through which the data is sent to the server.

    The action attribute can be a simple static Web page or a servlet. The method can be POSTor GET.

    A form includes various other elements such as textbox, list, buttons, orcheckboxes.

    Solutions to Chapter Eight Questions

    1. What are the several ways of tracking users?

    Ans. The several ways in which you can track users are:

    Using hidden controls Using cookie

    Using sessions Using applications

    2. Explain in brief how to use hidden controls in a web page? Give an example.

    Ans. Using HTML, hidden controls are an easy way to store data in a Web page. You can store data in a hidden control and

    then refer to the value of control wherever required. Hidden controls are often used when you submit a form to itself. That

    is if your form's ACTION attribute is set to the same page which contains the form. In this case, every time the page loads

    you have to determine whether it is being loaded afresh or after a submission. For this, you can store a text value such as

    "DONE" in a hidden control SUBMIT_STATUS, and check for it whenever the page loads. If

    request.getParameter(SUBMIT_STATUS) returns a NULL value, it means that the form is being loaded afresh.

    This logic is demonstrated in the following code:

    NIIT Coordinator Guide Web Programming 21

  • 8/3/2019 52 Web Programing

    22/27

    Enter your name:

  • 8/3/2019 52 Web Programing

    23/27

    int SC_CONFLICT: Indicates that the request cannot be completed because of a conflictwith the current state of the resource

    int SC_CONTINUE: Indicates that the client can continue

    NIIT Coordinator Guide Web Programming 23

  • 8/3/2019 52 Web Programing

    24/27

    7. Explain in brief how to create a cookie with an example.

    Ans. You can create a cookie by instantiating an object of the Cookie class. For example, to create a cookie name

    'mycookie', with the value 'this is the cookie value', you can use the following code snippet:

    Cookie mycookie = new Cookie("mycookie", "this is the cookie value");

    mycookie.setMaxAge(24*60*60);

    respone.addCookie(mycookie)//install cookie on browser

    The setMaxAge() method sets the time after which the cookie will expire. The

    response.addCooki() method will install the cookie on the browser.

    8. Explain in brief how to read a cookie with an example.

    Ans. You can read a cookie as:

    Cookie[] cookies = request.getCookies();

    for(int i=0;i

  • 8/3/2019 52 Web Programing

    25/27

    11. What is the difference between Session and Application?

    Ans. A single session allows you to track one user at a time whereas an application enables you to track all JSPs in the

    same site, regardless of the number of users accessing them.

    12. Explain how to track users using SESSIONS, APPLICATIONS, AND JAVABEANS.

    Ans. You can instruct Tomcat to save the JavaBeans in a session object as well as in attributes. You can store JavaBeans in

    applications as well. You do this with elements scope attribute, which you can set to one of these value:

    scope="page|request|session|application". The term scope indicates where a data item is visible in your code. The default

    scope for a bean is page scope, which means the bean exists only for the page scope. However, if you set the scope of abean to a session, it is stored with the rest of session's data.

    Solutions to Chapter Nine Questions

    1. What is SSL? Why do you require SSL?

    Ans. SSL or Secure Socket Layer is a protocol that authenticates Web sites to browsers. It is also used for encrypting

    communication between browser and Web servers. To enable SSL, you simply need to install digital certificates or Server

    ID.

    The main role of SSL is to provide security for Web traffic. Security includes confidentiality, message integrity,and authentication. SSL achieves these elements of security through the use of cryptography, digital signatures,and certificates.

    2. Explain SSL working.

    Ans. SSL has two distinct entities, server and client. The client is the entity that initiates the transaction whereas the server

    is the entity that responds to the client and negotiates which cipher suites are used for encryption. In SSL, the Web browser

    is the client and the Web site server is the server. Three protocols lie within SSL, the Handshake protocol, the Record

    protocol, and the Alert protocol. The client authenticates the server during the Handshake protocol. When the session is

    initiated and the handshake is complete, the data transfer is encrypted during the Record Protocol phase. If there are any

    alarms at any point during the session, the alert is attached to the questionable packet and handled according to the Alert

    protocol.

    NIIT Coordinator Guide Web Programming 25

  • 8/3/2019 52 Web Programing

    26/27

    3. What is XML? Explain in brief.

    Ans. XML is a simple, common format for representing structured information as text. You can create your own tags to

    define and structure data, and transmit it. The basic syntax of XML is extremely simple. As with HTML, XML represents

    information as text using tags to add structure. A tag begins with a name in between angular brackets (). In XML, every

    tag must have a closing tag. An opening tag, closing tag and any content in between are collectively referred to as an

    element of an XML document. Elements can contain other elements but they must be properly nested. Elements can also

    contain text or a combination of elements and text.

    4. Given an overview about EJBs.

    Ans. Enterprise Java Beans (EJB) is a server-side component that executes specific business logic on a server wheninvoked by a local or remote client. EJB is actually a framework for writing distributed programs. It involves a

    standardization agreement that enables a component to run within any application server. The agreement is

    accomplished by implementing a set of Java interfaces from the EJB API. Note that EJBs are not GUI components.

    5. What are the advantages and disadvantages of EJBs.

    Ans. Following are the advantages of EJBs:

    Many vendor application servers conform to the J2EE specification allowing you to selecta best-of-breed solution.

    To handle fluctuations in resource demand server-side resources can easily be scaled byadding or removing servers.

    Application servers provide access to complex services, such as transaction and securitymanagement, resource pooling, JNDI (Java Naming and Directory Interface), andcomponent lifecycle management.

    Following are the disadvantages of EJBs:

    EJB has a large and complicated specification. EJBs take time to develop. Also, they are difficult to debug. Occasionally, the bug may

    not be in your code but in the application server itself. Frequently released newer versions of EJB specifications render application obsolete

    quickly.

    6. Explain entity beans and session beans?

    Ans. An entity bean is an object with the following special properties:

    It is permanent. It does not get destroyed itself after a program finishes executing. It is network-based. It can be used by any program over a network provided the program

    is able to access the bean on the networked machine. It is executed remotely. Methods of an entity bean run on a server machine. When you

    call an entity bean's method, your program's thread stops executing and control passesover to the server. When the method returns from the server, the thread resumesexecution.

    It is identified by a primary key. Entity beans must have a primary key. The primary key isunique - each entity bean is uniquely identified by its primary key. For example, anemployee entity bean may have Social Security number as primary key. You can only use

    entity beans when your objects have a unique identifier field or when you add such afield.

    Session beans are different from entity beans in that they are not permanent objects. Theyare not shareable in general although it is possible to share them using handles. Sessionbeans can be used to distribute and isolate processing tasks. Each session bean can beused to perform a certain task on behalf of its client. The tasks can be distributed on differentmachines. Session beans also do not have a primary key. Unlike entity beans, session beansare not primarily meant to be shared or found later.

    7. Briefly describe the remote and home interfaces in EJBs?

    Ans. A remote interface is the business end of EJB. It is the set of services provided by EJB.

    The home interface is the book-keeping interface. It helps clients to create a new instance ofan EJB, or to find an existing instance of an EJB. The methods used to find existing EJBs areshown as finder methods. Since session beans are not designed to be shareable, there areno session bean finder methods.

    NIIT Coordinator Guide Web Programming 26

  • 8/3/2019 52 Web Programing

    27/27

    8. What is DTD?

    Ans. DTD or Document Type Definitions is a document that contains grammar rules for validating an XML document. It is

    a schema specification method for XML.