Chapter-1 (Introduction To Web Programming)
Chapter-1 (Introduction To Web Programming)
CHAPTER-2 (HTML)
1. What is HTML?
Answer: 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.
Answer: 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 <tag_name> and an
end tag is represented as </tag_name>. Most tags in HTML are in pairs of start and end
tag. Only some tags such as <br> 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 in an element may comprise of data as well as nested tags. For example,
the following is an HTML element:
<body>
<p>This is a nested tag</p>
</body>
An HTML page starts and end with <HTML></HTML> tags, marking the beginning and
end of an HTML page. A page can be divided into the header and the body. The
<HEAD></HEAD> tags represent the former and contain header information, which is
not displayed in the browser window. The <HEAD></HEAD> tags also contain the
<TITLE></TITLE> tags, which contain the text that will be displayed in the title bar of
the browser window when the page is opened.
The <BODY></BODY> tags comprise the body element of an HTML page. The content
with the <BODY></BODY> tags is displayed in the browser window.
3. List down different classifications of tags with 2 examples tags for each category.
Answer: Tags can be classified as:
Lists: OL and UL
M) ALIGN: Specifies the horizontal alignment of the lines that do not span the whole
page.
N) NOSHADE: Reproduces a solid black line that has no shading.
O) SIZE: Indicates the thickness of the line in pixels.
P )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.
Answer: The following is an HTML page containing a table 4 X 3 and each row colored
differently:
<html>
<head>
<title>Colored Table</title>
</head>
<body>
<table border="1" width="100%">
<tr bgcolor="#0000FF">
<td width="33%"> </td>
<td width="33%"> </td>
<td width="34%"> </td>
</tr>
<tr bgcolor="#00A0FF">
<td width="33%"> </td>
<td width="33%"> </td>
<td width="34%"> </td>
</tr>
<tr bgcolor="#AB00FF">
<td width="33%"> </td>
<td width="33%"> </td>
<td width="34%"> </td>
</tr>
<tr bgcolor="#FB2CFF">
<td width="33%"> </td>
<td width="33%"> </td>
<td width="34%"> </td>
</tr>
</table>
</body>
</html>
6. Write an HTML program to demonstrate text characteristics tags.
Answer: The following code demonstrates some of the important text characteristics tags
in HTML:
<html>
<head>
<title>Text Characteristics</title>
</head>
<body>
<p><b> <font color = "#0000FF" face ="Arial" size = "5"> Text Characteristics in
</font>
<font color = "#0000FF" face ="Arial" size = "8">
<s>HTML</s>
</b>
</p>
</font>
<i>HTML</i> is a <em>formatting language</em> for Web pages. Below is an example
of
<u>HTML code</u><br>
<code>
<HTML><br>
<HEAD><br>
</HEAD><br>
</HTML><br>
</code>
<p><kbd>&</kbd> followed by <kbd>gt</kbd> represents the greater than sign.
</body>
7. Write an HTML program to demonstrate applet embedding
Answer: Applets are embedded in HTML pages using the <APPLET> 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: <HTML>
<HEAD>
<TITLE>Demo Applet</TITLE>
</HEAD>
<BODY>
<APPLET CODE="scrolling_banner.class: CODEBASE =jclasses
WIDTH = 240 HEIGHT = 400
ALIGN = ABSMIDDLE HSPACE = 10 VSPACE = 20>
<PARAM NAME = message VALUE = "Use Netscape Navigator to browse the World
Wide Web.">
<PARAM NAME =speed VALUE = "4">
</APPLET>
</BODY>
</HTML>
8. Explain how you can embed an image in an HTML page.
Answer: To embed an image in an HTML page, you can use the <IMG> tag. The <IMG>
tag includes various attributes, for embedding and formatting images in an HTML page.
The most common attributes of the <IMG> tag are:
You can use the above tags to load an image from a URL or a relative path. For example,
if the image (suppose image_filename.gif) that you want to embed resides in the same
folder as the HTML page, you can embed it as:
<IMG SRC="image_filename.gif" ALT = "this is an image loaded from a relative path">
The above will display the image in the file image_filename.gif. In case this image
cannot be loaded, the text "this is an image loaded from a relative path" will be displayed.
Similarly, to load an image from a URL, you can specify the URL in the SRC attribute.
9. Create a simple HTML page to demonstrate usage of anchor tags.
Answer: The following HTML page, demonstrates the usage of anchor tags:
<html>
<head>
<title>Anchor Tag Characteristics</title>
</head>
<body>
<h1 align="center">All in One</h1>
<p align="left">In <A HREF= "#sec1">section 1</a> you can search. In <A HREF=
"#sec2">section 2</a> you can shop.</p>
<A NAME= "sec1">Section 1:
</a>
<p>
<a href="http://google.co.in" target= "_blank">
Search on Google</a> </p>
<p><a href="http://yahoo.com">Search on Yahoo</a></p>
<p> </p>
<p>
<A NAME= "sec2">Section 2: </a>
</p>
<p><a href="http://ebay.com">
Shop on ebay </a></p>
<p><a href="http://wallpapers.com">Download wallpapers</a> </p>
<p><a href="http://t-shirts.com">
Order Custom T-Shirts
News</a></p>
</body>
</html>
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:
<style type ="text/css">
ELEMENT [{property1:value1:property2:value2}]
</style>
Note that the style tag is always placed in the head of the document.
4. Explain the uses of script tags.
Answer: 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:
<SCRIPT Language = "JavaScript" runat = "server">
</SCRIPT>
5. Explain Document Object Model.
Answer: 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 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.
Answer:
<html>
<head>
<title>Pop up</title>
</head>
<body onclick = "window.status = 'You have clicked!!!'">
<h1>Changing Status Bar Text</h1>
</body>
</html>
7. What is the difference between HTML and DHTML?
Answer: 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
attributes) method of JavaScript. Note that you can also open a hyperlink in a new
window simply using HTML as:
<a href =www.yahoo.com target="_blank">
5. Using JavaScript how can you determine client's browser name and version?
Answer: JavaScript has navigator object to reference browser's property. Browser's
name can be obtained using navigator.appName and its version can be obtained
using navigator.appVersion.
__________________________________________
{
$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 is
equal to 0, it will print "This was zero". If $var is nether 1 nor 0, it will print "Was neither
0 nor 1". Note that the else or elesif part is optional. You can also have a single if
statement in 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 multiple
conditions 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 can
be 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 conditional
consisting 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<10;$i++)
{
print "$i";
}
This will print numbers from 0 to 9.
4.While loop: It is also used to perform an action repeatedly as long as a Boolean
expression evaluates to true as:
$i=0;
while ($i<10)
{
print "$i";
}
This will print numbers from 0 to 9.
5.Until loop: This performs the reverse action of the while loop. It executes as long as a
Boolean expression is NOT true. For example:
$i=0;
until ($i>=10)
{
print "$i";
}
This will print numbers from 0 to 9.
7. What is Query String? Explain with an example.
Answer: The form data appended to a URL following a ? is called a query string. For
example:
http://www.myweb.com?username=smith&password=juyhy
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 special characters 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.
Answer: 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?
Answer:
#!/usr/bin/perl #print "Content-type:text/html\n\n";
#$form = $ENV{'QUERY_STRING'};
use CGI;
$cgi = new CGI;
print $cgi->header;
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;
}
Save the file as ques10.pl.
11. What is Extra Path information? Explain with an example.
Answer: 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
____________________SMALL_______________
1. What is FastCGI?
Answer: FastCGI is an enhancement over CGI. Instead of creating a new process for
every request, FastCGI uses the same process and queues requests to it. It saves lots of
memory but it also forces user to wait for the previous requests to finish.
2. How can you embed output of a CGI script in a HTML document?
Answer: This can be done using exec directive. For example, following line will print
output of addr.cgi
Your IP address is: <!--#exec cgi="path to addr.cgi""->
3. How can you open a file for writing and appending in PERL?
Answer: For opening a file to write, use:
open( FILE, ">" . file_name )
Answer: 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.
Answer: The main differences between Web servers and application servers are:
A Web server is where Web components are deployed and run. An application
server is where components that implement the business logic are deployed. For
example, in a JSP-EJB Web application, the JSP pages will be deployed on the
Web server whereas the EJB components will be deployed on the application
servers.
A Web server usually supports only HTTP (and sometimes SMTP and FTP).
However, an application server supports HTTP as well as various other protocols
such as SOAP.
<servlet-mapping>
<servlet-name>graph</servlet-name> <url-pattern>/graph</url-pattern>
</servlet-mapping> According to the first mapping, all requests of the form
http://localshots:8080/{contextpath}.do will be mapped to the Controller servlet whereas
according to second mapping all request of the form http://localshots:8080/
{contextpath}/graph will be mapped to the graph servlet.
7. What is a war file? Give its importance.
Answer: 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?
Answer: You can specify session timeout in the <session-timeout> attribute of the
<session-config> element. For example, to specify a session timeout of 30 minutes use:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
---------------------------------------------------1. What is Ant? What are its major advantages?
Answer: Ant is a XML based automation tool. It is available freely from
http://ant.apache.org. Using Ant, many tasks such as deploying, compiling, and
packaging of Java application can easily be automated. Ant scripts are highly
customizable.
2. How to package an application as WAR file? What are its advantages?
Answer: A WAR file is nothing but a compressed form of application's complete
directory structure in a single file. It can be created using following command:
jar cvf Webapp.war
Execute the above command from root of Web application. WAR files make deployment
and distribution easy.
3. How can you specify a custom error page for a particular server error?
Answer: This can be done by including following code in Web.xml. Error code is server's
internal code. For different error codes, different pages can be specified.
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
Whenever server generates "internal server error" /error.jsp will be displayed.
4. How to change default server port for Tomcat?
Answer: Tomcat by default listens on port 8080. Web browsers try to connect to port 80
by default. To change the server port for tomcat edit server.xml file. This file can be
found under conf directory of tomcat's installation. Under the Service element in the
server.xml file, change the value of the port attribute of thethe first Connector element to
the desired port value.
5. What is a connection pool? List its advantages.
Answer: Connection pool is a set of database connections, which are shared among
simultaneous users. It improves efficiency by manifolds. Connection pooling is also
supported by Tomcat.
One of the major advantages of configuring a connection pool is that one can change
backend without effecting code changes.
_______________________________________________________
}
else if( hh == 12 )
{
message = "Good Noon!";
}
else if( hh > 12 && hh < 18 )
{
message = "Good Afternoon!";
}
else if( hh > 18 && hh < 21 )
{
message = "Good Evening!";
}
else
{
message = "Good Night!";
}
%>
<%=message%>
</body>
</html>
3. Explain JSP elements.
Answer: JSP elements are of 3 types
Directive: Specifies information about the page itself that remains the same
between requests. For example, it can be used to specify whether session tracking
is required or not, buffering requirements, and the name of the page that should be
used to report errors.
Action: Performs some action based on information that is required at the exact
time the JSP page is requested by a browser. An action, for instance, can access
parameters sent with the request to lookup a database.
Scripting: Allows you to add small pieces of code in JSP page. These elements
are also executed when a page is requested.
Supports both scripting and element based dynamic content and allows
programmers to develop custom tag libraries to satisfy application specific needs.
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
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.
page directive: Defines information that will globally affect the JSP containing
the directive. The syntax of a page directive is: <%@ page {attribute = "value"}
%>. The various 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
syntax is: <%@ include file = "relativeURLspec" %>. The file attribute can
reference a normal HTML 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 custom tags to be used in the page. Its syntax is: <%@ taglib uri =
"tagLibraryURI" prefix = "tagPrefix"%>.
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.
Answer: Following are the implicit objects in a JSP page:
out: This implicit object represents a JspWriter that provides a stream back to the
requesting client. The most common method of this object is out.println(),which
prints text that will be displayed in the client's browser.
_______________________SMALL__________________________
1. What is precompiling? How JSPs are pre-compiled in Tomcat?
Answer: By default JSPs are converted into their corresponding .java files when someone
accesses them for the first time. This process involves lots of complex parsing and is
slow. Precompiling automatically generates corresponding .java files without the need to
visit the pages.
For precompiling under tomcat, use jspc command, under bin directory of tomcat
installation as:
Jspc -d DIRJ -Webinc PATH_XML -Webapp PATH_JSP
Where, DIRJ is the directory where generated java files will be stored.
PATH_XML is an XML file in which servlet mappings will be stored
PATH_JSP is the source directory containing JSPs
2. What is JSTL?
Answer: JSTL or Java Server Pages Standard Tag Library is a freely available collection
of custom tags, which provides various functionalities. Some of the tags are: tags to
interact with databases; tags to iterate over collections; and tags for internationalization of
dates and currencies.
3. How van you make the browser to reload the page every N number of seconds?
Answer: This can be done by adding Refresh header to response. The following JSP code
can be used for this:
<%
response.addHeader( "Refresh", N );
%>
4. Which servers have support for JSP?
Answer: Weblogic, Resin, Sun Application Server.
________________________________________________________
CHAPTER-7 (SERVLETS)
1. What are servlets? Explain with an example?
Answer: 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)throws
ServletException, IOexception {
PrintWriter out = response.getWriter();
Out.println("Hello World");
}
}
2. Explain Servlet life cycle.
Answer: The lifecycle of a servlet consists of the following main stages:
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 the application. 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
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 an HTML output, the content-type is set to "text html".
b.The second step is to get PrintWriter object from response. PrintWriter is a class
that extends 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
associated with the underlying connection from the client. With TCP/IP based
implementations, Web server usually gets OutputStream object from the socket,
uses the object to create the PrintWriter object, and associates with the
HttpServletResponse object. As a result, from within the servlet, you will able to
write to object stream associated with the network association.
DESstroy: This is the final stage in a servlet lifecycle. In this stage, the destroy()
method is called before shutting down the servlet.
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.
Answer: 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 instance
b.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
HttpServletRequest and HttpServletResponse are passed as parameters to it.
10. Which class provides methods of reading the parameters submitted by a client?
Answer: 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?
Answer: 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?
Answer: 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 data PrintWriter class is used, which extends the Writer class. Its
object is obtained by calling the HttpServletResponse.getWriter() method.
13. Outline the main steps in implementing the servlet.
Answer: 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.
Answer: 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:
<FORM NAME="name" ACTION = "action.jsp" METHOD = "POST/GET">
The name attribute specified the name for a form. The action attribute specified the URL
of the document or the name of the file to which the form data is submitted for action and
the method 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
POST or GET.
A form includes various other <INPUT> elements such as textbox, list, buttons, or
checkboxes.
15. Which statements are true.
1.A web application can have more than web.xml.(FALSE)
2.The HTTPServlet class implements the ServletConfig interface.(TRUE)
3.The HTTPServlet class implements the ServletContext interface(FALSE)
4.In a doHttpServletMethodName( ) method, the request and the response objects can be
manipulated in any order.(TRUE)
5.The servlet configuration can change from request to request. (FALSE)
6.The servlet context can change from request to request.(FALSE)
7.The servlet element must occur before the servlet-mapping in an element in web.xml
file.(TRUE)
8. The servlet-class element must specify the full package name of the servlet class.
(TRUE)
_______________SMALL___________________
1. How can you write messages in server log using servlet API? In Tomcat, logs are
stored in which directory?
Answer: ServletContext can be used for logging messages to the server log. One of the
major advantages of using logging is that while printing an exception, the complete stack
trace is written in the log. Following snippet explains logging:
ServletContext con = getServletContext();
con.log( "logging is good" );
try
{
throw new Exception( "exception" );
}
catch( Exception e )
{
con.log( e ); //will write e.printStackTrace() in log
}
In Tomcat, logs are stored in logs directory.
2. While sending a file from a servlet response, which header should be set to tell the
browser that it should prompt user to save this file and not to display it in browser
window?
Answer: Content-Disposition header is required to be set for this purpose as:
Authentication
Compression
Parsing
Encoding - Decodin
<%
if(request.getParameter("DONE")==null)
{
out.println("You entered your name as:" + getParameter("name"));
}
else
{
%>
<form action = "this.jsp" method = "POST">
Enter your name:<input type ="text" name = "name"></input
<input type = "HIDDEN" name = "DONE" value ="submitted">
<input type = "SUBMIT" value = "SUBMIT">
</form>
<%
}
%>
</body>
</html>
3. What are the disadvantages of hidden controls?
Answer: The disadvantages of hidden controls are that they are not secure as any user can
access the HTML source and view their value. Consequently, you cannot store crucial
information such as passwords in them. In addition, they complicate the code many
times.
4. What are cookies? Explain in brief.
Answer: Cookies are small text strings you store on a user's computer. Cookies store
information for tracking users in name-value pairs. When you first visit a website it may
store a cookie on your computer. Next, when you again visit the site it may read or
manipulate the value of the cookie and perform an action based on it. For example, if a
site allows you to customize the color of the user interface, it may set the color selected
by you in a cookie on your computer and read the color value when next time you request
the page of the website. The page can them be displayed in the color stored in the cookie.
5. List down any 6 methods of javax.servlet.http.Cookie class and their functionality.
Answer: Following are the methods of the Cookie class:
java.lang.String getName(): Returns the name of the cookie
java.lang.String getValue(): Returns the value of the cookie
void setValue(java.lang.String value): Assigns a new value to a cookie after it has
been created
void setPath(java.lang.String uri): Sets the path for the cookie by which the
browser will send the cookie
void setMaxAge(int expiry): Set the maximum age of the cookie in seconds
int getMaxAge(): Returns the maximum age of the cookie in second
3.If the count has not been set, the getAttribute() method will return null. In that case, you
can create a new count value. If a value already exists, you can increment it and store the
new value in the session object.
The above steps are implemented in the following code:
<%
Integer count = (Integer)session.getAttribute("visitcount");
If(count==null)
{count = new Integer(1);
}
else
{
count = new Integer(visitcount.intValue()+1);
}
session.setAttribute("visitcount", count);
%>
<body>
You have visited this page <%=count%> times.
</body>
11. What is the difference between Session and Application?
Answer: 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
JAVABEANSWER:
Answer: 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
<jsp:useBean> 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 a bean to a session, it is
stored with the rest of session's data.
_____________SMALL_____________________
1. How can you set session time out programmatically? What is the advantage of it?
Answer: Session timeout can be set individually by calling
setMaxInavtiveInterval( time_in_seconds ) on the HttpSession object of a particular
session. Timeout setting in web.xml is universal. By using the above function call
timeouts can be set according to user role.
2. What is SOAP call? What is its major advantage?
Answer: SOAP or Simple Object Access Protocol is used to transfer binary objects as
xml based data over HTTP. Major advantage of SOAP calls is that they can be used in ntier calls without making any tier mingle with other.
3. What is Locale? How can you obtain client's Locale in using servlet API?
Answer: Locale is the user's top preference for language stored in the browser. This
information can be crucial for some web applications. For example, using this
information, web application can provide interface elements in client's preferred language
that is, it can behave like an automated multilingual software.
Using servlet API, Locale information can be obtained as an object of java.util.Locale.
For this, call
Locale locale = request.getLocale()
To obtain the preferred language, call locale.getDisplayLanguage().
4. Is it possible to create an exception handling servlet such as JSP errorpage? Write the
code for obtaining the thrown exception in a servlet.
Answer: Yes, if a servlet has ended prematurely with an exception thrown, filter can be
put in to process it. Such filter can obtain thrown exception and error code by using
Throwable throwable = (Throwable)request.getAttribute("javax.servlet.error.exception");
Integer status_code = ((Integer)request.getAttribute("javax.servlet.error.status_code"));.
5. Explain a practical use of redirecting. How can you redirect a client using servlet API?
Answer: Redirecting is used in many phases of web application, logout module is one
such phase. Here, all session information is invalidated, database connections are
released, and client is then redirected to application's home page. To redirect a user using
servlet, API uses:
response.sendRedirect( page_url_to_redirect );
Redirection causes client to send a request for the page specified as input in above call.
_____________________________________________________
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.
3. What is XML? Explain in brief.
Answer: 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.
Answer: Enterprise Java Beans (EJB) is a server-side component that executes specific
business logic on a server when invoked 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.
Answer: Following are the advantages of EJBs:
Many vendor application servers conform to the J2EE specification allowing you
to select a best-of-breed solution.
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.
It is permanent. It does not get destroyed itself after a program finishes executing.
It is identified by a primary key. Entity beans must have a primary key. The
primary key is unique - each entity bean is uniquely identified by its primary key.
For example, an employee 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 a field.
Session beans are different from entity beans in that they are not permanent objects. They
are not shareable in general although it is possible to share them using handles. Session
beans can be used to distribute and isolate processing tasks. Each session bean can be
used to perform a certain task on behalf of its client. The tasks can be distributed on
different machines. Session beans also do not have a primary key. Unlike entity beans,
session beans are not primarily meant to be shared or found later.
7. Briefly describe the remote and home interfaces in EJBs?
Answer: 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
of an EJB, or to find an existing instance of an EJB. The methods used to find existing
EJBs are shown as finder methods. Since session beans are not designed to be shareable,
there are no session bean finder methods.
8. What is DTD?
Answer: 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.
__________________-SMALL-_____________________
1. What is JNDI?
Answer: JNDI or Java Naming and Directory Interface is a set of APIs that can be used to
access the naming and directory services. Server side technologies such as EJB use JNDI
for storing objects for later use and also for lookup operations.
2. What is XSLT?
Answer: XSLT or Extensible Stylesheet Language Transformation is used to convert
either one xml document into another (such as a subset) or to convert xml data into
presentable HTML page.
-----------------(END)------------------