10 SEO Marketing Tips for Success

downloadIt has often been seen and reviewed over the time that even the top SEO marketing tips for success fail to respond in effective manner. This is not due to the lack of efficacy rather it is because of wrong implementation technique which the clients stick to. You should be bewaring of the false promises, attractive offers and the easy and inexpensive methods which various online sources fetch you for the SEO purpose. This is something which always affects the working module of the SEO strategy and you will not receive the needed results within the given timeframe. So, it is the utmost requirement for the customer to view and analyze all the relative scopes which may lead to the needed success for the website. Trust and honesty may be preferred over the overflow and exaggeration of contents and product description. Here are some of the most vital tips which will definitely give a new shape to your SEO strategy.

  1. Just make it sure that newly posted contents on your website are easily accessible for the online visitors. Often posting of crawlers in lack of strong link structure, good site navigation and topical archives fail to justify your efforts.
  2. Do not focus on much complex and complicated URLs rather believe in having or employing simple URL for your website and contents? This will be easy for the customers to remember and repeated visits. Top SEO marketing tips will always benefit the client in earning reputation and huge cash.
  3. Always keep an eye on the duplicate contents and URL which will negatively affect the web traffic and internet earning in a long run.
  4. Try to focus on making the title tag at the top and even in the first sentence in the content or description of the product and services. Believe it your title should clearly and simply define the content.
  5. Content Management System or literally known as CMS, should be customized in the most popular manner. This will boost the overall performance.
  6. Implement the concept of various link building trends as creation of back links, cross links, inbound links and external links play a major role in earning money and reputation.
  7. The website owner should always try to take benefit of the global searching option which will help him in a long run. SEO visibility will increase comprehensively after following these SEO marketing tips.
  8. You should constantly play with the rules of sponsored links and hence getting the revenues at an extra level will be quite easier.
  9. Emphasize on SEO training for everyone in the organization or company.
  10. Make it firm that SEO marketing tips is an important tool for any online business because website requirement is always there.

HTML Interview Questions and Answers – Part 2

How to insert Javascript in HTML?

We can insert JavaScript in HTML using <Script tag>. JavaScript can be enclosed in <script type = text/javascript> and ending with </script>.

Example:

<html>
<body>
<script type=”text/javascript”>
…JavaScript….
</script>
</body>
</html>

What is the Use of SPAN in HTML and give one example?

SPAN: Used for the following things:

  • Highlight the any color text
  • For adding colored text
  • For adding background image to text.

Example:

<p>
<span style=”color: #000000;”>
In this page we use span.
</span>
</p>

 

1. Do all HTML tags come in pair?

No, not all HTMLS tags come in pair. For e.g. <img>, <br>

2. What are some of the common lists that can be used when designing a page?

Some of the common lists that can be used are:

a.) Ordered list
b.) Unordered list
c.) Definition list
d.) Menu list
e.) Directory list

What is the advantage of collapsing white space?

- The browser collapses the multiple white spaces into a single white space in HTML.
- This allows the developers to arrange the HTML code in a well organized and legible format.Is it possible to list elements straight in an html file?

- Yes, it is possible with the use of indents.

Does a hyperlink apply only to text?

- No. The hyperlinks can be applied to both text as well as the images.
- It means that even the images can become clickable links with a capability to take the visitor to the next page.
- This can be done simply by using <a href> tag.

What hierarchy is being followed when in style sheets?

- Inline style takes priority over embedded style sheets.
- Embedded style take priority over external style sheets.
- If a single selector includes three different style definitions, the definition that is closest to the actual tag gets the priority.

What happens if the list-style-type property is used on a non-list element like a paragraph?

- Here the property will be ignored without having any effect on the paragraph.

What is the advantage of using frames?

- Frames make it easier to navigate through a site.
- The links that appear in the frame can appear through out the site.

 How can I hide my source?

- No. you can’t hide your source as it is required by the browser to display your document.

How will you align a table to the right or left?

- To align the table to the right, you can use <TABLE ALIGN=”right”>
- To align the table to the left, you can use <TABLE ALIGN=”left”>

 Why doesn’t <TABLE WIDTH=”100%”> use the full browser width?

- This is because the graphical browser is designed to leave a margin between the display area and actual content.
- The navigator also leaves some space for the scroll bar on the right side of the display area. Though, if the page is not long enough, the scroll bar doesn’t appear.

 How would you automatically transfer your visitors to a new web page?

- You can do it with the help of meta tag mentioned below:

<META HTTP-EQUIV=”Refresh” CONTENT=”2″; URL=”http://www.yourname.com”>

- Place this tag between <HEAD></HEAD> .
- It will load yousite.com in 2 seconds.

 You want only a vertical scrollbar and no horizontal scrollbar on your page. How would you do it?

- This can be done by defining the frame with SCROLLING = auto and having content to just fit into this frame.
- SCROLLING=”yes” gets the scroll bar on both the sides, even when not needed.
- SCROLLING=”no” doesn’t get the scrollbars at all, even when they are needed.

 How do you refer to the .css file in the web page?

- .css file in the web page can be referred with the use of <link> tag.
- It should be kept between <head></head> tag.
- Eg. <link href=”/css/mystyle.css” type=”text/css” rel=”stylesheet” />

What is a better way to design the layout of a web page – a table tag or div?

- The better way to design the layout of the webpage is by using the <div> tag.
- The <table> tag is used to present the data in tabular format.

HTML Interview Questions and Answers – Part 1

What is HTML?

HTML ( H yper T ext M arkup L anguage) is the language used to write Web pages. You are looking at a Web page right now.
You can view HTML pages in two ways:
* One view is their appearance on a Web browser, just like this page — colors, different text sizes, graphics.
* The other view is called “HTML Code” — this is the code that tells the browser what to do.

What is a tag?
In HTML, a tag tells the browser what to do. When you write an HTML page, you enter tags for many reasons — to change the appearance of text, to show a graphic, or to make a link to another page.

What is the simplest HTML page?
HTML Code:
<HTML>
<HEAD>
<TITLE>This is my page title! </TITLE>
</HEAD>
<BODY>
This is my message to the world!
</BODY>
</HTML>

Browser Display:
This is my message to the world!

How do I create frames? What is a frameset?
Frames allow an author to divide a browser window into multiple (rectangular) regions. Multiple documents can be displayed in a single window, each within its own frame. Graphical browsers allow these frames to be scrolled independently of each other, and links can update the document displayed in one frame without affecting the others.
You can’t just “add frames” to an existing document. Rather, you must create a frameset document that defines a particular combination of frames, and then display your content documents inside those frames. The frameset document should also include alternative non-framed content in a NOFRAMES element.
The HTML 4 frames model has significant design flaws that cause usability problems for web users. Frames should be used only with great care.

How can I include comments in HTML?
Technically, since HTML is an SGML application, HTML uses SGML comment syntax. However, the full syntax is complex, and browsers don’t support it in its entirety anyway. Therefore, use the following simplified rule to create HTML comments that both have valid syntax and work in browsers:

An HTML comment begins with “<!–”, ends with “–>”, and does not contain “–” or “>” anywhere in the comment.
The following are examples of HTML comments:

* <!– This is a comment. –>
* <!– This is another comment,
and it continues onto a second line. –>
* <!—->

Do not put comments inside tags (i.e., between “<” and “>”) in HTML markup.

What is a Hypertext link?
A hypertext link is a special tag that links one page to another page or resource. If you click the link, the browser jumps to the link’s destination.

How comfortable are you with writing HTML entirely by hand?

Very. I don’t usually use WYSIWYG. The only occasions when I do use Dreamweaver are when I want to draw something to see what it looks like, and then I’ll usually either take that design and hand-modify it or build it all over again from scratch in code. I have actually written my own desktop HTML IDE for Windows (it’s called Less Than Slash) with the intention of deploying it for use in web development training. If has built-in reference features, and will autocomplete code by parsing the DTD you specify in the file. That is to say, the program doesn’t know anything about HTML until after it parses the HTML DTD you specified. This should give you some idea of my skill level with HTML.

What is everyone using to write HTML?
Everyone has a different preference for which tool works best for them. Keep in mind that typically the less HTML the tool requires you to know, the worse the output of the HTML. In other words, you can always do it better by hand if you take the time to learn a little HTML.

What is a DOCTYPE? Which one do I use?
According to HTML standards, each HTML document begins with a DOCTYPE declaration that specifies which version of HTML the document uses. Originally, the DOCTYPE declaration was used only by SGML-based tools like HTML validators, which needed to determine which version of HTML a document used (or claimed to use).
Today, many browsers use the document’s DOCTYPE declaration to determine whether to use a stricter, more standards-oriented layout mode, or to use a “quirks” layout mode that attempts to emulate older, buggy browsers.

 

How can I show HTML examples without them being interpreted as part of my document?
Within the HTML example, first replace the “&” character with “&amp;” everywhere it occurs. Then replace the “&lt;” character with “<” and the “&gt;” character with “>” in the same way.
Note that it may be appropriate to use the CODE and/or PRE elements when displaying HTML examples.

How do I get special characters in my HTML?
The special case of the less-than (‘<’), greater-than (‘>’), and ampersand (‘&’) characters. In general, the safest way to write HTML is in US-ASCII (ANSI X3.4, a 7-bit code), expressing characters from the upper half of the 8-bit code by using HTML entities.
Working with 8-bit characters can also be successful in many practical situations: Unix and MS-Windows (using Latin-1), and also Macs (with some reservations).
Latin-1 (ISO-8859-1) is intended for English, French, German, Spanish, Portuguese, and various other western European languages. (It is inadequate for many languages of central and eastern Europe and elsewhere, let alone for languages not written in the Roman alphabet.) On the Web, these are the only characters reliably supported. In particular, characters 128 through 159 as used in MS-Windows are not part of the ISO-8859-1 code set and will not be displayed as Windows users expect. These characters include the em dash, en dash, curly quotes, bullet, and trademark symbol; neither the actual character (the single byte) nor its �nnn; decimal equivalent is correct in HTML. Also, ISO-8859-1 does not include the Euro currency character. (See the last paragraph of this answer for more about such characters.)
On platforms whose own character code isn’t ISO-8859-1, such as MS-DOS and Mac OS, there may be problems: you have to use text transfer methods that convert between the platform’s own code and ISO-8859-1 (e.g., Fetch for the Mac), or convert separately (e.g., GNU recode). Using 7-bit ASCII with entities avoids those problems, but this FAQ is too small to cover other possibilities in detail.
If you run a web server (httpd) on a platform whose own character code isn’t ISO-8859-1, such as a Mac or an IBM mainframe, then it’s the job of the server to convert text documents into ISO-8859-1 code when sending them to the network.
If you want to use characters not in ISO-8859-1, you must use HTML 4 or XHTML rather than HTML 3.2, choose an appropriate alternative character set (and for certain character sets, choose the encoding system too), and use one method or other of specifying this.

Should I put quotes around attribute values?
It is never wrong to quote attribute values, and many people recommend quoting all attribute values even when the quotation marks are technically optional. XHTML 1.0 requires all attribute values to be quoted. Like previous HTML specifications, HTML 4 allows attribute values to remain unquoted in many circumstances (e.g., when the value contains only letters and digits).
Be careful when your attribute value includes double quotes, for instance when you want ALT text like “the “King of Comedy” takes a bow” for an image. Humans can parse that to know where the quoted material ends, but browsers can’t. You have to code the attribute value specially so that the first interior quote doesn’t terminate the value prematurely. There are two main techniques:

* Escape any quotes inside the value with &#34; so you don’t terminate the value prematurely: ALT=”the &#34;King of Comedy&#34; takes a bow”.
* Use single quotes to enclose the attribute value: ALT=’the “King of Comedy” takes a bow’.

Both these methods are correct according to the specification and are supported by current browsers, but both were poorly supported in some earlier browsers. The only truly safe advice is to rewrite the text so that the attribute value need not contain quotes, or to change the interior double quotes to single quotes, like this: ALT=”the ‘King of Comedy’ takes a bow”.

Posting Copy and Paste HTML
For those wanting to post direct Copy and Paste HTML on screen without the use of spaces or *s etc. and the need to explain those substitutions: Use &lt; to substitute for each opening tag < in each tagged set of HTML. Example, typing the following: &lt;a href=”http://www.yourname.com”>&lt;img src=”http://pics.yourname.com/aw/pics/mask.gif”>&lt;/a> Will show up on screen as: <a href=”http://www.yourname.com”><img src=”http://pics.yourname.com/aw/pics/mask.gif”></a>

How to create nest tables within tables in HTML?

We can create nest table i.e. table inside a table. To create table we use following attributes:

<table>……</table>: declare starting and ending of table.
<tr>…</tr>: declare table row.
<td>…</td>: table data.

<table>
<tr>
<td>first cell of the outer table</td>
<td>second cell of the outer table,
creating second table inside the first table
<table>
<tr>
<td>first cell of the second table</td>
<td>second cell of the second table</td>
</tr>
</table>
</td>
</tr>
</table>

Explain Non Breaking space in HTML.

When we add many spaces in the content then HTML remove all space except one space this is Non Breaking Space. To overcome this problem we use “&nbsp”. Suppose we want to add 3 space between two words then we have to use &nbp three time.

Example:

actual code:- hello I m Rohit Srivastava.
Display as:- Hello I m Rohit Srivastava.
But when we use &nbsp:
Actual code:- Hello &nbsp; &nbsp ; &nbsp; I m Rohit Srivastava.
Display as:- Hello I m Rohit Srivastava

How do I link to a location in the middle of an HTML document?

We can link to a location in the middle of an HTML document. Using Following steps:

  • Label the destination of the link. There are two ways of labeling destination using Anchor:
    o NAME attribute:
    Example: <h2><a name=”destination”>Destination: Explanation</a></h2>
    o ID attribute:
    Example: <h2 id=”Destination_ID”> Destination: Explanation </h2>
  • Link to the labeled destination: we can link with the destination in the same URL page and with Different URL page.
    Example:
    Same URL: <a href=”#Destination”> Visit to destination</a> or
    Different URL: <a href=”thesis.html#section2″>go to Section 2 of my thesis</a>

Explain Cell Padding and Cell Spacing.

Cell Padding: it refers to the gap or space between the cell content and cell border or cell wall.
Cell Spacing: It refers to the gap between the two cells of same tables.

In HTML cell spacing and padding both are used with Table Border layout.

Example:

<table border cellpadding=2>
<table border cellspacing=2>
<table border cellpadding=2 cellspacing=2>

How to create a button which acts like a link?

To create buttons which act as a hyperlink, there are two ways:

  • <FORM ACTION=”[url]” METHOD=get>
    <INPUT TYPE=submit VALUE=”Text on button”>
    </FORM>
  • <INPUT TYPE=”submit” VALUE=”Go to my link location”
    ONCLICK=” http://www.careerride.com/;” />

What is difference between HTML and XHTML?

The differences between HTML and XHTML are:

  • HTML is application of Standard Generalized Markup Language(SGML) whereas XML is application of Extensible Markup Language(XML).
  • HTML is a static Web Page whereas XHTML is dynamic Web Page.
  • HTML allows programmer to perform changes in the tags and use attribute minimization whereas XHTML when user need a new markup tag then user can define it in this.
  • HTML is about displaying information whereas XHTML is about describing the information

How many types CSS can be include in HTML?

There are three ways to include the CSS with HTML:

  • Inline CSS: it is used when only small context is to be styled.
    o To use inline styles add the style attribute in the relevant tag.
  • External Style Sheet: is used when the style is applied to many pages.
    o Each page must link to the style sheet using the <link> tag. The <link> tag goes inside the head section:
    <head>
    <link rel=”stylesheet” type=”text/css” href=”mystyle.css” />
    </head>
  • Internal Style Sheet: is used when a single document has a unique style.
    o Internal styles sheet needs to put in the head section of an HTML page, by using the <style> tag, like this:
    <head>
    <style type=”text/css”>
    hr {color:sienna}
    p {margin-left:20px}
    body {background-image:url(“images/back40.gif”)}
    </style>
    </head>

What are logical and physical tags in HTML?

Logical tags are used to tell the meaning of the enclosed text. The example of the logical tag is <strong> </strong> tag. When we enclosed text in strong tag then it tell the browser that enclosed text is more important than other text.

Physical text are used to tell the browser that how to display the text enclosed in the physical tag.
Some example of the physical tags are: <b> , <big> , <i>

Does HTML support Javascripts?

Yes, HTML supports JavaScripts. We can use JavaScript anywhere in the HTML Coding. Mainly there are four sections where we can add JavaScript in HTML.

  • Head Section: we can add JavaScript in Head section of HTML.
    <head>…..Javascript…. </head>
  • Body Section: <body>….. Javascript…</body>
  • Head and Body both: we can add Javascript in both head and body section.
    <body….Javascript…</body> and <head>…..Javascript…. </head>
  • External File: script in and external file and then include in <head> ….. </head> section.

Explain marquee tag.

Marquee tag: Marquee tag is used when we want that some text or content move in the web page whether horizontally or vertically.

Syntax of Marquee tag: <marquee>move text</marquee>

Attribute of Marquee tag are: bgcolor, direction, height, width, vspace etc.

How do I add midi music to my web page?

We can add midi Music in our HTML web page using following tag:
<bgsound src=”music.mid” loop=”1″>

Attribute LOOP= 1: shows that music.mid is played only for one time. We can also set the value of loop to infinite. This tag is supported by Netscape and Internet Explorer.

Example: <embed src=”canyon.mid” Autostart=TRUE Width=145 Height=60 Loop=true>

How do I eliminate the blue border around linked images?
In your HTML, you can specify the BORDER attribute for the image:
<a href=…><img src=… alt=… border=”0″></a>
However, note that removing the border that indicates an image is a link makes it harder for users to distinguish quickly and easily which images on a web page are clickable.

How do I eliminate the space around/between my images?
If your images are inside a table, be sure to set the BORDER, CELLSPACING, and CELLPADDING attributes to 0.
Extra space between images is often created by whitespace around the <IMG> tag in the markup. It is safe to use newlines inside a tag (between attributes), but not between two tags. For example, replace this:

<td …>
<img src=… alt=…>
<img src=… alt=…>
</td>

Can I nest tables within tables?
Yes, a table can be embedded inside a cell in another table. Here’s a simple example:

<table>
<tr>
<td>this is the first cell of the outer table</td>
<td>this is the second cell of the outer table,

with the inner table embedded in it
<table>
<tr>
<td>this is the first cell of the inner table</td>
<td>this is the second cell of the inner table</td>
</tr>
</table>
</td>
</tr>
</table>

The main caveat about nested tables is that older versions of Netscape Navigator have problems with them if you don’t explicitly close your TR, TD, and TH elements. To avoid problems, include every </tr>, </td>, and </th> tag, even though the HTML specifications don’t require them. Also, older versions of Netscape Navigator have problems with tables that are nested extremely deeply (e.g., tables nested ten deep). To avoid problems, avoid nesting tables more than a few deep. You may be able to use the ROWSPAN and COLSPAN attributes to minimize table nesting. Finally, be especially sure to validate your markup whenever you use nested tables.

JSP Interview Questions and Answers – Part 2

How do I mix JSP and SSI #include?
Answer 1
If you’re just including raw HTML, use the #include directive as usual inside your .jsp file.
But it’s a little trickier if you want the server to evaluate any JSP code that’s inside the included file. If your data.inc file contains jsp code you will have to use
The is used for including non-JSP files.
Answer 2
If you’re just including raw HTML, use the #include directive as usual inside your .jsp file.
<!–#include file=”data.inc”–>
But it’s a little trickier if you want the server to evaluate any JSP code that’s inside the included file. Ronel Sumibcay (ronel@LIVESOFTWARE.COM) says: If your data.inc file contains jsp code you will have to use
<%@ vinclude=”data.inc” %>
The <!–#include file=”data.inc”–> is used for including non-JSP files.

How do I mix JSP and SSI #include? What is the difference between include directive & jsp:include action?
Difference between include directive and
1. provides the benefits of automatic recompliation,smaller class size ,since the code corresponding to the included page is not present in the servlet for every included jsp page and option of specifying the additional request parameter.
2.The also supports the use of request time attributes values for dynamically specifying included page which directive does not.
3.the include directive can only incorporate contents from a static document.
4. can be used to include dynamically generated output e.g.. from servlets.
5.include directive offers the option of sharing local variables, better run time efficiency.
6.Because the include directive is processed during translation and compilation, it does not impose any restrictions on output buffering.

How do you prevent the Creation of a Session in a JSP Page and why? What is the difference between include directive & jsp:include action?
By default, a JSP page will automatically create a session for the request if one does not exist.
However, sessions consume resources and if it is not necessary to maintain a session, one should not be created. For example, a marketing campaign may suggest the reader visit a web page for more information. If it is anticipated that a lot of traffic will hit that page, you may want to optimize the load on the machine by not creating useless sessions.

What are stored procedures? How is it useful?
A stored procedure is a set of statements/commands which reside in the database. The stored procedure is pre-compiled and saves the database the effort of parsing and compiling sql statements every time a query is run. Each database has its own stored procedure language, usually a variant of C with a SQL preproceesor. Newer versions of db’s support writing stored procedures in Java and Perl too. Before the advent of 3-tier/n-tier architecture it was pretty common for stored procs to implement the business logic( A lot of systems still do it). The biggest advantage is of course speed. Also certain kind of data manipulations are not achieved in SQL. Stored procs provide a mechanism to do these manipulations. Stored procs are also useful when you want to do Batch updates/exports/houseKeeping kind of stuff on the db. The overhead of a JDBC Connection may be significant in these cases.

How do I include static files within a JSP page?
Static resources should always be included using the JSP include directive. This way, the inclusion is performed just once during the translation phase. Do note that you should always supply a relative URL for the file attribute. Although you can also include static resources using the action, this is not advisable as the inclusion is then performed for each and every request.

Why does JComponent have add() and remove() methods but Component does not?
because JComponent is a subclass of Container, and can contain other components and jcomponents. How can I implement a thread-safe JSP page? – You can make your JSPs thread-safe by having them implement the SingleThreadModel interface. This is done by adding the directive <%@ page isThreadSafe=”false” % > within your JSP page.

How do I prevent the output of my JSP or Servlet pages from being cached by the browser?
You will need to set the appropriate HTTP header attributes to prevent the dynamic content output by the JSP page from being cached by the browser. Just execute the following scriptlet at the beginning of your JSP pages to prevent them from being cached at the browser. You need both the statements to take care of some of the older browser versions.

How do you restrict page errors display in the JSP page?
You first set “Errorpage” attribute of PAGE directory to the name of the error page (ie Errorpage=”error.jsp”)in your jsp page .Then in the error jsp page set “isErrorpage=TRUE”. When an error occur in your jsp page it will automatically call the error page.

How can I declare methods within my JSP page?
You can declare methods for use within your JSP page as declarations. The methods can then be invoked within any other methods you declare, or within JSP scriptlets and expressions.
Do note that you do not have direct access to any of the JSP implicit objects like request, response, session and so forth from within JSP methods. However, you should be able to pass any of the implicit JSP variables as parameters to the methods you declare.
For example:
Another Example:
file1.jsp:
file2.jsp
<%test(out);% >

Can I stop JSP execution while in the midst of processing a request?
Yes. Preemptive termination of request processing on an error condition is a good way to maximize the throughput of a high-volume JSP engine. The trick (assuming Java is your scripting language) is to use the return statement when you want to terminate further processing.

Can a JSP page process HTML FORM data?
Yes. However, unlike Servlet, you are not required to implement HTTP-protocol specific methods like doGet() or doPost() within your JSP page. You can obtain the data for the FORM input elements via the request implicit object within a scriptlet or expression as.

Is there a way to reference the “this” variable within a JSP page?
Yes, there is. Under JSP 1.0, the page implicit object is equivalent to “this”, and returns a reference to the Servlet generated by the JSP page.

How do you pass control from one JSP page to another?
Use the following ways to pass control of a request from one servlet to another or one jsp to another.
The RequestDispatcher object ‘s forward method to pass the control.
The response.sendRedirect method

Is there a way I can set the inactivity lease period on a per-session basis?
Typically, a default inactivity lease period for all sessions is set within your JSPengine admin screen or associated properties file. However, if your JSP engine supports the Servlet 2.1 API, you can manage the inactivity lease period on a per-session basis.
This is done by invoking the HttpSession.setMaxInactiveInterval() method, right after the session has been created.

How does a servlet communicate with a JSP page?
The following code snippet shows how a servlet instantiates a bean and initializes it with FORM data posted by a browser. The bean is then placed into the request, and the call is then forwarded to the JSP page, Bean1.jsp, by means of a request dispatcher for downstream processing.
public void doPost (HttpServletRequest request, HttpServletResponse response)
{
try {
govi.FormBean f = new govi.FormBean();
String id = request.getParameter(“id”);
f.setName(request.getParameter(“name”));
f.setAddr(request.getParameter(“addr”));
f.setAge(request.getParameter(“age”));

//use the id to compute
//additional bean properties like info
//maybe perform a db query, etc.
// . . .

f.setPersonalizationInfo(info);
request.setAttribute(“fBean”,f);
getServletConfig().getServletContext().getRequestDispatcher
(“/jsp/Bean1.jsp”).forward(request, response);
} catch (Exception ex) {
. . .
}
}

The JSP page Bean1.jsp can then process fBean, a
fter first extracting it from the default request
scope via the useBean action.

jsp:useBean id=”fBean” class=”govi.FormBean” scope=”request”/ jsp:getProperty
name=”fBean” property=”name” / jsp:getProperty name=”fBean” property=”addr”
/ jsp:getProperty name=”fBean” property=”age” / jsp:getProperty name=”fBean”
property=”personalizationInfo” /

Can you make use of a ServletOutputStream object from within a JSP page?
No. You are supposed to make use of only a JSPWriter object (given to you in the form of the implicit object out) for replying to clients.
A JSPWriter can be viewed as a buffered version of the stream object returned by response.getWriter(), although from an implementational perspective, it is not.

How do I include static files within a JSP page?
Static resources should always be included using the JSP include directive. This way, the inclusion is performed just once during the translation phase.
The following example shows the syntax:
< % @ include file=”copyright.html” % >
Do note that you should always supply a relative URL for the file attribute. Although you can also include static resources using the action, this is not advisable as the inclusion is then performed for each and every request.
How do I have the JSP-generated servlet subclass my own custom servlet class, instead of the default? One should be very careful when having JSP pages extend custom servlet classes as opposed to the default one generated by the JSP engine. In doing so, you may lose out on any advanced optimization that may be provided by the JSPengine.
In any case, your new super class has to fulfill the contract with the JSP engine by: Implementing the HttpJspPage interface, if the protocol used is HTTP, or implementing JspPage otherwise Ensuring that all the methods in the Servlet interface are declared final.
Additionally, your servlet super class also needs to do the following:
The service() method has to invoke the _jspService() method
The init() method has to invoke the jspInit() method
The destroy() method has to invoke jspDestroy()
If any of the above conditions are not satisfied, the JSP engine may throw a translation error. Once the super class has been developed, you can have your JSP extend it as follows:

Can a JSP page instantiate a serialized bean?
No problem! The use Bean action specifies the beanName attribute, which can be used for indicating a serialized bean.
For example:
A couple of important points to note. Although you would have to name your serialized file “filename.ser”, you only indicate “filename” as the value for the beanName attribute. Also, you will have to place your serialized file within the WEB-INFjspbeans directory for it to be located by the JSP engine.

What is JSP?
Let’s consider the answer to that from two different perspectives: that of an HTML designer and that of a Java programmer.
If you are an HTML designer, you can look at JSP technology as extending HTML to provide you with the ability to seamlessly embed snippets of Java code within your HTML pages. These bits of Java code generate dynamic content, which is embedded within the other HTML/XML content you author. Even better, JSP technology provides the means by which programmers can create new HTML/XML tags and JavaBeans components, which provide new features for HTML designers without those designers needing to learn how to program.
Note: A common misconception is that Java code embedded in a JSP page is transmitted with the HTML and executed by the user agent (such as a browser). This is not the case. A JSP page is translated into a Java servlet and executed on the server. JSP statements embedded in the JSP page become part of the servlet generated from the JSP page. The resulting servlet is executed on the server. It is never visible to the user agent.
If you are a Java programmer, you can look at JSP technology as a new, higher-level means to writing servlets. Instead of directly writing servlet classes and then emitting HTML from your servlets, you write HTML pages with Java code embedded in them. The JSP environment takes your page and dynamically compiles it. Whenever a user agent requests that page from the Web server, the servlet that was generated from your JSP code is executed, and the results are returned to the user.

The code in a finally clause will never fail to execute, right?
Using System.exit(1); in try block will not allow finally code to execute.

How many messaging models do JMS provide for and what are they?
JMS provide for two messaging models, publish-and-subscribe and point-to-point queuing.

What information is needed to create a TCP Socket?
The Local Systems IP Address and Port Number. And the Remote System’s IPAddress and Port Number.

What Class.forName will do while loading drivers?
It is used to create an instance of a driver and register it with the DriverManager. When you have loaded a driver, it is available for making a connection with a DBMS.

How to Retrieve Warnings?
SQLWarning objects are a subclass of SQLException that deal with database access warnings. Warnings do not stop the execution of an application, as exceptions do; they simply alert the user that something did not happen as planned. A warning can be reported on a Connection object, a Statement object (including PreparedStatement and CallableStatement objects), or a ResultSet object. Each of these classes has a getWarnings method, which you must invoke in order to see the first warning reported on the calling object

SQLWarning warning = stmt.getWarnings();
if (warning != null)
{
while (warning != null)
{
System.out.println(\”Message: \” + warning.getMessage());
System.out.println(\”SQLState: \” + warning.getSQLState());
System.out.print(\”Vendor error code: \”);
System.out.println(warning.getErrorCode());
warning = warning.getNextWarning();
}
}

How many JSP scripting elements are there and what are they?
There are three scripting language elements: declarations, scriptlets, expressions.

In the Servlet 2.4 specification SingleThreadModel has been deprecated, why?

Because it is not practical to have such model. Whether you set isThreadSafe to true or false, you should take care of concurrent client requests to the JSP page by synchronizing access to any shared objects defined at the page level.

JSP Interview Questions and Answers – Part 1

What is a JSP and what is it used for?
Java Server Pages (JSP) is a platform independent presentation layer technology that comes with SUN s J2EE platform. JSPs are normal HTML pages with Java code pieces embedded in them. JSP pages are saved to *.jsp files. A JSP compiler is used in the background to generate a Servlet from the JSP page.

What is difference between custom JSP tags and beans?
Custom JSP tag is a tag you defined. You define how a tag, its attributes and its body are interpreted, and then group your tags into collections called tag libraries that can be used in any number of JSP files. To use custom JSP tags, you need to define three separate components:
1. the tag handler class that defines the tag\’s behavior
2. the tag library descriptor file that maps the XML element names to the tag implementations
3. the JSP file that uses the tag library
When the first two components are done, you can use the tag by using taglib directive:
<%@ taglib uri=”xxx.tld” prefix=”…” %>
Then you are ready to use the tags you defined. Let’s say the tag prefix is test:
MyJSPTag or
JavaBeans are Java utility classes you defined. Beans have a standard format for Java classes. You use tags to declare a bean and use to set value of the bean class and use to get value of the bean class.

<%=identifier.getclassField() %>
Custom tags and beans accomplish the same goals — encapsulating complex behavior into simple and accessible forms. There are several differences:
Custom tags can manipulate JSP content; beans cannot.
Complex operations can be reduced to a significantly simpler form with custom tags than with beans. Custom tags require quite a bit more work to set up than do beans.
Custom tags usually define relatively self-contained behavior, whereas beans are often defined in one servlet and used in a different servlet or JSP page.
Custom tags are available only in JSP 1.1 and later, but beans can be used in all JSP 1.x versions.

What are the two kinds of comments in JSP and what’s the difference between them ?
<%– JSP Comment –%>
<!– HTML Comment –>

What is JSP technology?

Java Server Page is a standard Java extension that is defined on top of the servlet Extensions. The goal of JSP is the simplified creation and management of dynamic Web pages. JSPs are secure, platform-independent, and best of all, make use of Java as a server-side scripting language.

What is JSP page?
A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format such as HTML, SVG, WML, and XML, and JSP elements, which construct dynamic content.

What are the implicit objects?
Implicit objects are objects that are created by the web container and contain information related to a particular request, page, or application. They are:
–request
–response
–pageContext
–session
–application
–out
–config
–page
–exception

How many JSP scripting elements and what are they?
There are three scripting language elements:
–declarations
–scriptlets
–expressions

Can you override jspInit() method? If yes, In which cases?
ye, we can. We do it usually when we need to initialize any members which are to be available for a servlet/JSP throughout its lifetime.

What is the difference between directive include and jsp include?
<%@ include> : Used to include static resources during translation time. : Used to include dynamic content or static content during runtime.

What is the difference between RequestDispatcher and sendRedirect?
RequestDispatcher: server-side redirect with request and response objects. sendRedirect : Client-side redirect with new request and response objects.

How does JSP handle runtime exceptions?
Using errorPage attribute of page directive and also we need to specify isErrorPage=true if the current page is intended to URL redirecting of a JSP.

How can my application get to know when a HttpSession is removed?
Define a Class HttpSessionNotifier which implements HttpSessionBindingListener and implement the functionality what you need in valueUnbound() method.
Create an instance of that class and put that instance in HttpSession.

What Class.forName will do while loading drivers?
It is used to create an instance of a driver and register it with the DriverManager. When you have loaded a driver, it is available for making a connection with a DBMS.

How to Retrieve Warnings?
SQLWarning objects are a subclass of SQLException that deal with database access warnings. Warnings do not stop the execution of an application, as exceptions do; they simply alert the user that something did not happen as planned. A warning can be reported on a Connection object, a Statement object (including PreparedStatement and CallableStatement objects), or a ResultSet object. Each of these classes has a getWarnings method, which you must invoke in order to see the first warning reported on the calling object

SQLWarning warning = stmt.getWarnings();
if (warning != null)
{
while (warning != null)
{
System.out.println(\”Message: \” + warning.getMessage());
System.out.println(\”SQLState: \” + warning.getSQLState());
System.out.print(\”Vendor error code: \”);
System.out.println(warning.getErrorCode());
warning = warning.getNextWarning();
}
}

How many JSP scripting elements are there and what are they?
There are three scripting language elements: declarations, scriptlets, expressions.

In the Servlet 2.4 specification SingleThreadModel has been deprecated, why?
Because it is not practical to have such model. Whether you set isThreadSafe to true or false, you should take care of concurrent client requests to the JSP page by synchronizing access to any shared objects defined at the page level.

Is JSP technology extensible?
YES. JSP technology is extensible through the development of custom actions, or tags, which are encapsulated in tag libraries.

How can I enable session tracking for JSP pages if the browser has disabled cookies?
We know that session tracking uses cookies by default to associate a session identifier with a unique user. If the browser does not support cookies, or if cookies are disabled, you can still enable session tracking using URL rewriting. URL rewriting essentially includes the session ID within the link itself as a name/value pair.
However, for this to be effective, you need to append the session ID for each and every link that is part of your servlet response. Adding the session ID to a link is greatly simplified by means of of a couple of methods: response.encodeURL() associates a session ID with a given URL, and if you are using redirection, response.encodeRedirectURL() can be used by giving the redirected URL as input.
Both encodeURL() and encodeRedirectedURL() first determine whether cookies are supported by the browser; if so, the input URL is returned unchanged since the session ID will be persisted as a cookie. Consider the following example, in which two JSP files, say hello1.jsp and hello2.jsp, interact with each other.
Basically, we create a new session within hello1.jsp and place an object within this session. The user can then traverse to hello2.jsp by clicking on the link present within the page.Within hello2.jsp, we simply extract the object that was earlier placed in the session and display its contents. Notice that we invoke the encodeURL() within hello1.jsp on the link used to invoke hello2.jsp; if cookies are disabled, the session ID is automatically appended to the URL, allowing hello2.jsp to still retrieve the session object. Try this example first with cookies enabled. Then disable cookie support, restart the brower, and try again. Each time you should see the maintenance of the session across pages.
Do note that to get this example to work with cookies disabled at the browser, your JSP engine has to support URL rewriting.
hello1.jsp
hello2.jsp
hello2.jsp
<%
Integer i= (Integer )session.getValue(“num”);
out.println(“Num value in session is “+i.intValue());

What JSP lifecycle methods can I override?
You cannot override the _jspService() method within a JSP page. You can however, override the jspInit() and jspDestroy() methods within a JSP page. jspInit() can be useful for allocating resources like database connections, network connections, and so forth for the JSP page. It is good programming practice to free any allocated resources within jspDestroy().
The jspInit() and jspDestroy() methods are each executed just once during the lifecycle of a JSP page and are typically declared as JSP declarations:

How do I perform browser redirection from a JSP page?
You can use the response implicit object to redirect the browser to a different resource, as:
response.sendRedirect(“http://www.exforsys.com/path/error.html”);
You can also physically alter the Location HTTP header attribute, as shown below:
You can also use the:
Also note that you can only use this before any output has been sent to the client. I beleve this is the case with the response.sendRedirect() method as well. If you want to pass any paramateres then you can pass using >

How does JSP handle run-time exceptions?
You can use the errorPage attribute of the page directive to have uncaught runtime exceptions automatically forwarded to an error processing page.
For example:
redirects the browser to the JSP page error.jsp if an uncaught exception is encountered during request processing. Within error.jsp, if you indicate that it is an error-processing page, via the directive:
the Throwable object describing the exception may be accessed within the error page via the exception implicit object.
Note: You must always use a relative URL as the value for the errorPage attribute.

How do I use comments within a JSP page?
You can use “JSP-style” comments to selectively block out code while debugging or simply to comment your scriptlets. JSP comments are not visible at the client.
For example:
–%>
You can also use HTML-style comments anywhere within your JSP page. These comments are visible at the client. For example:
Of course, you can also use comments supported by your JSP scripting language within your scriptlets.

Is JSP technology extensible?
YES. JSP technology is extensible through the development of custom actions, or tags, which are encapsulated in tag libraries.

Can we use the constructor, instead of init(), to initialize servlet?
Yes , of course you can use the constructor instead of init(). There’s nothing to stop you. But you shouldn’t. The original reason for init() was that ancient versions of Java couldn’t dynamically invoke constructors with arguments, so there was no way to give the constructur a ServletConfig. That no longer applies, but servlet containers still will only call your no-arg constructor. So you won’t have access to a ServletConfig or ServletContext.

How can a servlet refresh automatically if some new data has entered the database?
You can use a client-side Refresh or Server Push.

Can we use the constructor, instead of init(), to initialize servlet?
Yes , of course you can use the constructor instead of init(). There’s nothing to stop you. But you shouldn’t. The original reason for init() was that ancient versions of Java couldn’t dynamically invoke constructors with arguments, so there was no way to give the constructur a ServletConfig. That no longer applies, but servlet containers still will only call your no-arg constructor. So you won’t have access to a ServletConfig or ServletContext.

Is it possible to share an HttpSession between a JSP and EJB? What happens when I change a value in the HttpSession from inside an EJB?
You can pass the HttpSession as parameter to an EJB method, only if all objects in session are serializable. This has to be consider as “passed-by-value”, that means that it’s read-only in the EJB.
If anything is altered from inside the EJB, it won’t be reflected back to the HttpSession of the Servlet Container.The “pass-byreference” can be used between EJBs Remote Interfaces, as they are remote references.
While it IS possible to pass an HttpSession as a parameter to an EJB object, it is considered to be “bad practice” in terms of object oriented design. This is because you are creating an unnecessary coupling between back-end objects (ejbs) and front-end objects (HttpSession). Create a higher-level of abstraction for your ejb’s api. Rather than passing the whole, fat, HttpSession (which carries with it a bunch of http semantics), create a class that acts as a value object (or structure) that holds all the data you need to pass back and forth between front-end/back-end.
Consider the case where your ejb needs to support a non-http-based client. This higher level of abstraction will be flexible enough to support it.

How can I implement a thread-safe JSP page?
You can make your JSPs thread-safe by having them implement the SingleThreadModel interface. This is done by adding the directive <%@ page isThreadSafe=”false” % > within your JSP page.

Why are JSP pages the preferred API for creating a web-based client program?
Because no plug-ins or security policy files are needed on the client systems(applet does). Also, JSP pages enable cleaner and more module application design because they provide a way to separate applications programming from web page design. This means personnel involved in web page design do not need to understand Java programming language syntax to do their jobs.

How can a servlet refresh automatically if some new data has entered the database?
You can use a client-side Refresh or Server Push.

The code in a finally clause will never fail to execute, right?
Using System.exit(1); in try block will not allow finally code to execute.

How many messaging models do JMS provide for and what are they?
JMS provide for two messaging models, publish-and-subscribe and point-to-point queuing.

Is it possible to share an HttpSession between a JSP and EJB? What happens when I change a value in the HttpSession from inside an EJB?
You can pass the HttpSession as parameter to an EJB method, only if all objects in session are serializable. This has to be consider as “passed-by-value”, that means that it’s read-only in the EJB.
If anything is altered from inside the EJB, it won’t be reflected back to the HttpSession of the Servlet Container.The “pass-byreference” can be used between EJBs Remote Interfaces, as they are remote references.
While it IS possible to pass an HttpSession as a parameter to an EJB object, it is considered to be “bad practice” in terms of object oriented design. This is because you are creating an unnecessary coupling between back-end objects (ejbs) and front-end objects (HttpSession). Create a higher-level of abstraction for your ejb’s api. Rather than passing the whole, fat, HttpSession (which carries with it a bunch of http semantics), create a class that acts as a value object (or structure) that holds all the data you need to pass back and forth between front-end/back-end.
Consider the case where your ejb needs to support a non-http-based client. This higher level of abstraction will be flexible enough to support it.

How can I implement a thread-safe JSP page?
You can make your JSPs thread-safe by having them implement the SingleThreadModel interface. This is done by adding the directive <%@ page isThreadSafe=”false” % > within your JSP page.

Why are JSP pages the preferred API for creating a web-based client program?
Because no plug-ins or security policy files are needed on the client systems(applet does). Also, JSP pages enable cleaner and more module application design because they provide a way to separate applications programming from web page design. This means personnel involved in web page design do not need to understand Java programming language syntax to do their jobs.

Javascript Interview Questions and Answers – part 5

How to Handle Event Handlers?
You can add an event handler in the HTML definition of the element like this,
<script type=”text/javascript”><!–
function hitme() {
alert(“I’ve been hit!”);
}
// –>
</script>
<input type=”button” id=”hitme” name=”hitme” value=”hit me” onclick=”hitme()”

Or, interestingly enough you can just assign the event’s name on the object directly with a reference to the method you want to assign.

<input type=”button” id=”hitme2″ name=”hitme2″ value=”hit me2″/>
<script type=”text/javascript”><!–
function hitme2() {
alert(“I’ve been hit too!”);
}
document.getElementById(“hitme2″).onclick = hitme2;
// –>
</script>

You can also use an anonymous method like this:

document.getElementById(“hitme3″).onclick = function () { alert(“howdy!”); }

You can also use the W3C addEvventListener() method, but it does not work in IE yet:

<input type=”button” id=”hitme4″ name=”hitme4″ value=”hit me4″/>
<script type=”text/javascript”><!–
function hitme4() {
alert(“I’ve been hit four!”);
}
if(document.getElementById(“hitme4″).addEventListener) {
document.getElementById(“hitme4″).addEventListener(“click”, hitme4, false);
}
// –>
</script>

How to remove the event listener: ?
<script type=”text/javascript”><!–
document.getElementById(“hitme4″).removeEventListener(“click”, hitme4, false);
// –>
</script>

Key Events

“onkeydown”, “onkeypress”, “onkeyup” events are supported both in ie and standards-based browsers.

<script type=”text/javascript”>
function setStatus(name,evt) {
evt = (evt) ? evt : ((event) ? event : null); /* ie or standard? */
var charCode = evt.charCode;
var status = document.getElementById(“keyteststatus”);
var text = name +”: “+evt.keyCode;
status.innerHTML = text;
status.textContent = text;
}
</script>
<form action=””>
<input type=”text” name=”keytest” size=”1″ value=””
onkeyup=”setStatus(‘keyup’,event)”
onkeydown=”setStatus(‘keydown’,event)”
/>
<p id=”keyteststatus”>status</p>
</form>

How to make elements invisible ?
Change the “visibility” attribute of the style object associated with your element. Remember that a hidden element still takes up space, use “display” to make the space disappear as well.

if ( x == y) {
myElement.style.visibility = ‘visible’;
} else {
myElement.style.visibility = ‘hidden’;
}

How to set the cursor to wait ?
In theory, we should cache the current state of the cursor and then put it back to its original state.
document.body.style.cursor = ‘wait’;
//do something interesting and time consuming
document.body.style.cursor = ‘auto’;

How to reload the current page ?
window.location.reload(true);

how to force a page to go to another page using JavaScript ?
<script language=”JavaScript” type=”text/javascript” ><!– location.href=”http://newhost/newpath/newfile.html”; //–></script>

 

What is the difference between a web-garden and a web-farm?
Web-garden – An IIS6.0 feature where you can configure an application pool as a web-garden and also specify the number of worker processes for that pool. It can help improve performance in some cases.
Web-farm – a general term referring to a cluster of physically separate machines, each running a web-server for scalability and performance (contrast this with web-garden which refers to multiple processes on one single physical machine).

How to get the contents of an input box using Javascript?
Use the “value” property.
var myValue = window.document.getElementById(“MyTextBox”).value;

How to determine the state of a checkbox using Javascript?
var checkedP = window.document.getElementById(“myCheckBox”).checked;

How to set the focus in an element using Javascript?
<script> function setFocus() { if(focusElement != null) { document.forms[0].elements["myelementname"].focus(); } } </script>

How to access an external javascript file that is stored externally and not embedded?
This can be achieved by using the following tag between head tags or between body tags.
<script src=”abc.js”></script>How to access an external javascript file that is stored externally and not embedded? where abc.js is the external javscript file to be accessed.

What is the difference between an alert box and a confirmation box?
An alert box displays only one button which is the OK button whereas the Confirm box displays two buttons namely OK and cancel.

What is a prompt box?
A prompt box allows the user to enter input by providing a text box.

Can javascript code be broken in different lines?
Breaking is possible within a string statement by using a backslash \ at the end but not within any other javascript statement.
that is ,
document.write(“Hello \ world”);
is possible but not document.write \
(“hello world”);

Taking a developer’s perspective, do you think that that JavaScript is easy to learn and use?
One of the reasons JavaScript has the word “script” in it is that as a programming language, the vocabulary of the core language is compact compared to full-fledged programming languages. If you already program in Java or C, you actually have to unlearn some concepts that had been beaten into you. For example, JavaScript is a loosely typed language, which means that a variable doesn’t care if it’s holding a string, a number, or a reference to an object; the same variable can even change what type of data it holds while a script runs.
The other part of JavaScript implementation in browsers that makes it easier to learn is that most of the objects you script are pre-defined for the author, and they largely represent physical things you can see on a page: a text box, an image, and so on. It’s easier to say, “OK, these are the things I’m working with and I’ll use scripting to make them do such and such,” instead of having to dream up the user interface, conceive of and code objects, and handle the interaction between objects and users. With scripting, you tend to write a _lot_ less code.

What Web sites do you feel use JavaScript most effectively (i.e., best-in-class examples)? The worst?
The best sites are the ones that use JavaScript so transparently, that I’m not aware that there is any scripting on the page. The worst sites are those that try to impress me with how much scripting is on the page.

How about 2+5+”8″?
Since 2 and 5 are integers, this is number arithmetic, since 8 is a string, it’s concatenation, so 78 is the result.

What is the difference between SessionState and ViewState?
ViewState is specific to a page in a session. Session state refers to user specific data that can be accessed across all pages in the web application.

What does the EnableViewStateMac setting in an aspx page do?
Setting EnableViewStateMac=true is a security measure that allows ASP.NET to ensure that the viewstate for a page has not been tampered with. If on Postback, the ASP.NET framework detects that there has been a change in the value of viewstate that was sent to the browser, it raises an error – Validation of viewstate MAC failed.
Use <%@ Page EnableViewStateMac=”true”%> to set it to true (the default value, if this attribute is not specified is also true) in an aspx page.

Javascript Interview Questions and Answers – Part 4

How to create a popup warning box
alert(‘Warning: Please enter an integer between 0 and 100.’);

How to create a confirmation box?
confirm(“Do you really want to launch the missile?”);

How to create an input box?
prompt(“What is your temperature?”);

How to setting a cookie with the contents of a textbox ?
Values stored in cookies may not have semicolons, commas, or spaces. You should use the handy “escape()” function to encode the values, and “unescape()” to retrieve them.

//Sets cookie of current value for myTextBox
function TextBoxOnchange() {
var myBox = window.document.getElementById(myTextBox”);
document.cookie = “myTextBox=”+ escape(myBox.value) + getExpirationString();
}

//return a string like “;expires=Thu, 5 Jan 2006 16:07:52 UTC”
function getExpirationString() {
var exp = new Date();
var threemonths = exp.getTime()+(120*24*60*60*1000);
exp.setTime(threemonths);
return “;expires=”+exp.toGMTString();
}

This is called from the event handler in the HTML.

<input name=”myTextBox” type=”text” id=”myTextBox”
onchange=”javascript:TextBoxOnchange()” />

How to getting values from cookies to set widgets?
function getCookieData(labelName) {
//from Danny Goodman
var labelLen = labelName.length;
// read cookie property only once for speed
var cookieData = document.cookie;
var cLen = cookieData.length;
var i = 0;
var cEnd;
while (i < cLen) {
var j = i + labelLen;
if (cookieData.substring(i,j) == labelName) {
cEnd = cookieData.indexOf(“;”,j);
if (cEnd == -1) {
cEnd = cookieData.length;
}
return unescape(cookieData.substring(j+1, cEnd));
}
i++;
}
return “”;
}

//init() is called from the body tag onload function.
function init() {
setValueFromCookie(“brand”);
setValueFromCookie(“market”);
setValueFromCookie(“measure”);
}

function setValueFromCookie(widget) {
if( getCookieData(widget) != “”) {
document.getElementById(widget).value = getCookieData(widget);
}
}

//if you name your cookies the widget ID, you can use the following helper function
function setCookie(widget) {
document.cookie = widget + “=” +
escape(document.getElementById(widget).value) + getExpirationString();
}

How to change style on an element?
Between CSS and javascript is a weird symmetry. CSS style rules are layed on top of the DOM. The CSS property names like “font-weight” are transliterated into “myElement.style.fontWeight”. The class of an element can be swapped out. For example:
document.getElementById(“myText”).style.color = “green”;
document.getElementById(“myText”).style.fontSize = “20″;
-or-
document.getElementById(“myText”).className = “regular”;

 

Methods GET and POST in HTML forms – what’s the difference?
GET: Parameters are passed in the querystring. Maximum amount of data that can be sent via the GET method is limited to about 2kb.
POST: Parameters are passed in the request body. There is no limit to the amount of data that can be transferred using POST. However, there are limits on the maximum amount of data that can be transferred in one name/value pair.

How to write a script for “Select” lists using javascript
1. To remove an item from a list set it to null
mySelectObject.options[3] = null;
2. To truncate a list set its length to the maximum size you desire
mySelectObject.length = 2;
3. To delete all options in a select object set the length to 0.
mySelectObject.leng

Text From Your Clipboard?
It is true, text you last copied for pasting (copy & paste) can be stolen when you visit web sites using a combination of JavaScript and ASP (or PHP, or CGI) to write your possible sensitive data to a database on another server.

What does the “Access is Denied” IE error mean?
The “Access Denied” error in any browser is due to the following reason.
A javascript in one window or frame is tries to access another window or frame whose document’s domain is different from the document containing the script.

Is a javascript script faster than an ASP script?
Yes.Since javascript is a client-side script it does require the web server’s help for its
computation,so it is always faster than any server-side script like ASP,PHP,etc..

Are Java and JavaScript the Same?
No.java and javascript are two different languages.
Java is a powerful object – oriented programming language like C++,C whereas Javascript is a client-side scripting language with some limitations.

How to embed javascript in a web page?
javascript code can be embedded in a web page between <script langugage=”javascript”></script> tags

What and where are the best JavaScript resources on the Web?
The Web has several FAQ areas on JavaScript. The best place to start is something called the meta-FAQ [14-Jan-2001 Editor's Note: I can't point to it anymore, it is broken!], which provides a high-level overview of the JavaScript help available on the Net. As for fact-filled FAQs, I recommend one maintained by Martin Webb and a mini-FAQ that I maintain.
For interactive help with specific problems, nothing beats the primary JavaScript Usenet newsgroup, comp.lang.javascript. Depending on my work backlog, I answer questions posted there from time to time. Netscape and Microsoft also have vendor-specific developer discussion groups as well as detailed documentation for the scripting and object model implementations.

What are the problems associated with using JavaScript, and are there JavaScript techniques that you discourage?
Browser version incompatibility is the biggest problem. It requires knowing how each scriptable browser version implements its object model. You see, the incompatibility rarely has to do with the core JavaScript language (although there have been improvements to the language over time); the bulk of incompatibility issues have to do with the object models that each browser version implements. For example, scripters who started out with Navigator 3 implemented the image rollover because it looked cool. But they were dismayed to find out that the image object wasn’t scriptable in Internet Explorer 3 or Navigator 2. While there are easy workarounds to make this feature work on newer browsers without disturbing older ones, it was a painful learning experience for many.
The second biggest can of worms is scripting connections between multiple windows. A lot of scripters like to have little windows pop up with navigation bars or some such gizmos. But the object models, especially in the older browser versions, don’t make it easy to work with these windows the minute you put a user in front of them–users who can manually close windows or change their stacking order. More recently, a glitch in some uninstall routines for Windows 95 applications can disturb vital parts of the system Registry that Internet Explorer 4 requires for managing multiple windows. A scripter can’t work around this problem, because it’s not possible to detect the problem in a user’s machine. I tend to avoid multiple windows that interact with each other. I think a lot of inexperienced Web surfers can also get confused by them.

What Boolean operators does JavaScript support?
&&, || and !

What does “1″+2+4 evaluate to?
Since 1 is a string, everything is a string, so the result is 124.

Javascript Interview Questions and Answers – Part 3

How to add Buttons in JavaScript?
The most basic and ancient use of buttons are the “submit” and “clear”, which appear slightly before the Pleistocene period. Notice when the “GO!” button is pressed it submits itself to itself and appends the name in the URL.
<form action=”” name=”buttonsGalore” method=”get”>
Your Name: <input type=”text” name=”mytext” />
<br />
<input type=”submit” value=”GO!” />
<input type=”reset” value=”Clear All” />
</form>

Another useful approach is to set the “type” to “button” and use the “onclick” event.
<script type=”text/javascript”>
function displayHero(button) {
alert(“Your hero is \””+button.value+”\”.”);
}
</script>

<form action=”” name=”buttonsGalore” method=”get”>
<fieldset style=”margin: 1em; text-align: center;”>
<legend>Select a Hero</legend>
<input type=”button” value=”Agamemnon” onclick=”displayHero(this)” />
<input type=”button” value=”Achilles” onclick=”displayHero(this)” />
<input type=”button” value=”Hector” onclick=”displayHero(this)” />
<div style=”height: 1em;” />
</fieldset>
</form>

What can javascript programs do?
Generation of HTML pages on-the-fly without accessing the Web server. The user can be given control over the browser like User input validation Simple computations can be performed on the client’s machine The user’s browser, OS, screen size, etc. can be detected Date and Time Handling

How to set a HTML document’s background color?
document.bgcolor property can be set to any appropriate color.

 

How to find the selected radio button immediately using the ‘this’ variable?
<script>
function favAnimal(button) {
alert(‘You like ‘+button.value+’s.’);
}
</script>
<input type=”radio” name=”marsupial” value=”kangaroo”
onchange=”favAnimal(this)”>Kangaroo
<br /><input type=”radio” name=”marsupial” value=”Opossum”
onchange=”favAnimal(this)”>Opossum
<br /><input type=”radio” name=”marsupial” value=”Tasmanian Tiger”
onchange=”favAnimal(this)”>Tasmanian Tiger

How to find radio button selection when a form is submitted?
<script type=”text/javascript”>
function findButton() {
var myForm = document.forms.animalForm;
var i;
for(i=0;i<myForm.marsupial.length; i++) {
if(myForm.marsupial[i].checked) {
break;
}
}
alert(“You selected \””+myForm.marsupial[i].value+”\”.”);
}
</script>
<form name=”animalForm” action=””>
<input type=”radio” name=”marsupial” value=”kangaroo” />Kangaroo
<br /><input type=”radio” name=”marsupial” value=”Opossum” />Opossum
<br /><input type=”radio” name=”marsupial” value=”Tasmanian Tiger” />Tasmanian Tiger

<input type=”button” name=”GO” value=”GO” onclick=”findButton()” />

How to disable an HTML object ?
document.getElementById(“myObject”).disabled = true;

To write messages to the screen without using “document.write()” ?
Changing the contents of an element is a much better solution. When the method showStatus is invoked it will change the content of the span.

function showStatus(message) {
var element = document.getElementById(“mystatus”);
element.textContent = message; //for Firefox
element.innerHTML = message; //for IE (why can’t we all just get along?)
return true;
}

<span id=”mystatus”>Test. </span>

How to Add new elements dynamically ?
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>
<head>
<title>t1</title>
<script type=”text/javascript”>
function addNode() {
var newP = document.createElement(“p”);
var textNode = document.createTextNode(” I’m a new text node”);
newP.appendChild(textNode);
document.getElementById(“firstP”).appendChild(newP);
}
</script>
</head>

<body onload=”addNode();” style=” background: url(‘../images/Sand-1280.jpg’); background-color: yellow;”>

<p id=”firstP”>firstP<p>

</body>
</html>

How to have an element invoke a javascript on selection, instead of going to a new URL: ?
<script type=”text/javascript”>
function pseudoHitMe() {
alert(“Ouch!”);
}
</script>
<a href=”javascript:pseudoHitMe()”>hit me</a>

How to have the status line update when the mouse goes over a link (The support of the status line is sporadic)?
<a href=”javascript.shtml”
onmouseover=”window.status=’Hi There!’;return true”
onmouseout=”window.status=”;return true”>Look at the Status bar</a>
Look at the Status bar as your cursor goes over the link.

How can JavaScript be used to personalize or tailor a Web site to fit individual users?
JavaScript allows a Web page to perform “if-then” kinds of decisions based on browser version, operating system, user input, and, in more recent browsers, details about the screen size in which the browser is running. While a server CGI program can make some of those same kinds of decisions, not everyone has access to or the expertise to create CGI programs. For example, an experienced CGI programmer can examine information about the browser whenever a request for a page is made; thus a server so equipped might serve up one page for Navigator users and a different page for Internet Explorer users. Beyond browser and operating system version, a CGI program can’t know more about the environment. But a JavaScript-enhanced page can instruct the browser to render only certain content based on the browser, operating system, and even the screen size.
Scripting can even go further if the page author desires. For example, the author may include a preference screen that lets the user determine the desired background and text color combination. A script can save this information on the client in a well-regulated local file called a cookie. The next time the user comes to the site, scripts in its pages look to the cookie info and render the page in the color combination selected previously. The server is none the wiser, nor does it have to store any visitor-specific information.

Are you concerned that older browsers don’t support JavaScript and thus exclude a set of Web users? individual users?
Fragmentation of the installed base of browsers will only get worse. By definition, it can never improve unless absolutely everyone on the planet threw away their old browsers and upgraded to the latest gee-whiz versions. But even then, there are plenty of discrepancies between the scriptability of the latest Netscape Navigator and Microsoft Internet Explorer.
The situation makes scripting a challenge, especially for newcomers who may not be aware of the limitations of earlier browsers. A lot of effort in my books and ancillary material goes toward helping scripters know what features work in which browsers and how to either workaround limitations in earlier browsers or raise the compatibility common denominator.
Designing scripts for a Web site requires making some hard decisions about if, when, and how to implement the advantages scripting offers a page to your audience. For public Web sites, I recommend using scripting in an additive way: let sufficient content stand on its own, but let scriptable browser users receive an enhanced experience, preferably with the same HTML document.

What does isNaN function do?
Return true if the argument is not a number.

What is negative infinity?
It’s a number in JavaScript, derived by dividing negative number by zero.

In a pop-up browser window, how do you refer to the main browser window that opened it?
Use window.opener to refer to the main window from pop-ups.

What is the data type of variables of in JavaScript?
All variables are of object type in JavaScript.

Javascript Interview Questions and Answers – Part 2

How to convert a string to a number using JavaScript?
You can use the parseInt() and parseFloat() methods. Notice that extra letters following a valid number are ignored, which is kinda wierd but convenient at times.
parseInt(“100″) ==> 100
parseFloat(“98.6″) ==> 98.6
parseFloat(“98.6 is a common temperature.”) ==> 98.6
parseInt(“aa”) ==> Nan //Not a Number
parseInt(“aa”,16) ==> 170 //you can supply a radix or base

How to convert numbers to strings using JavaScript?
You can prepend the number with an empty string
var mystring = “”+myinteger;
or
var mystring = myinteger.toString();
You can specify a base for the conversion,
var myinteger = 14;
var mystring = myinteger.toString(16);

mystring will be “e”.

How to test for bad numbers using JavaScript?
the global method, “isNaN()” can tell if a number has gone bad.
var temperature = parseFloat(myTemperatureWidget.value);
if(!isNaN(temperature)) {
alert(“Please enter a valid temperature.”);
}

What’s Math Constants and Functions using JavaScript?
The Math object contains useful constants such as Math.PI, Math.E
Math also has a zillion helpful functions.
Math.abs(value); //absolute value
Math.max(value1, value2); //find the largest
Math.random() //generate a decimal number between 0 and 1
Math.floor(Math.random()*101) //generate a decimal number between 0 and 100

What’s the Date object using JavaScript?
Time inside a date object is stored as milliseconds since Jan 1, 1970.
new Date(06,01,02) // produces “Fri Feb 02 1906 00:00:00 GMT-0600 (Central Standard Time)”
new Date(06,01,02).toLocaleString() // produces “Friday, February 02, 1906 00:00:00″
new Date(06,01,02) – new Date(06,01,01) // produces “86400000″

What does the delete operator do?
The delete operator is used to delete all the variables and objects used in the program ,but it does not delete variables declared with var keyword.

How tp create Arrays using JavaScript ?
<script type=”text/javascript”>
var days = new Array();
days[0] = “Sunday”
days[1] = “Monday”
days[2] = “Tuesday”
days[3] = “Wednesday”
days[4] = “Thursday”
days[5] = “Friday”
days[6] = “Saturday”

document.write(“first day is “+days[0])
</script>

This produces

first day is Sunday

A more compact way of creating an array is the literal notation:
<script type=”text/javascript”>
var days = ["Sunday","Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday"];
document.write(“first day is “+days[0]) </script>
This produces
first day is Sunday

How to delete an entry using JavaScript?
The “delete” operator removes an array element, but oddly does not change the size of the array.
<script type=”text/javascript”>
var days = ["Sunday","Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday"];
document.write(“Number of days:”+days.length); delete days[4];
document.write(“<br />Number of days:”+days.length);
</script>
This produces
Number of days:7
Number of days:7

 

What does the term sticky session mean in a web-farm scenario? Why would you use a sticky session? What is the potential disadvantage of using a sticky session?
Sticky session refers to the feature of many commercial load balancing solutions for web-farms to route the requests for a particular session to the same physical machine that serviced the first request for that session. This is mainly used to ensure that a in-proc session is not lost as a result of requests for a session being routed to different servers. Since requests for a user are always routed to the same machine that first served the request for that session, sticky sessions can cause uneven load distribution across servers.

You have an ASP.NET web application running on a web-farm that does not use sticky sessions – so the requests for a session are not guaranteed to be served the same machine. Occasionally, the users get error message Validation of viewstate MAC failed. What could be one reason that is causing this error?
The most common reason for this error is that the machinekey value in machine.config is different for each server. As a result, viewstate encoded by one machine cannot be decoded by another. To rectify this, edit the machine.config file on each server in the web-farm to have the same value for machinekey.

To set all checkboxes to true using JavaScript?
//select all input tags
function SelectAll() {
var checkboxes = document.getElementsByTagName(“input”);
for(i=0;i<checkboxes.length;i++) {
if(checkboxes.item(i).attributes["type"].value == “checkbox”) {
checkboxes.item(i).checked = true;
}
}
}

How to select an element by id and swapping an image ?
<script language=”JavaScript” type=”text/javascript” >
function setBeerIcon() {

var beerIcon = document.getElementById(“beerIcon”);
beerIcon.src = “images/”+getSelectValue(“beer”)+”.jpg”;
}
</script>

<img border=”0″ src=”” id=”brandIcon” alt=”brand” />

<select name=”beer” id=”beer” onChange=”setButton();setBeerIcon();”>
<option value=”–Select–”>Select beer</option>
<option value=”heineken”>heineken</option>
<option value=”sol”>sol</option>
<option value=”amstellight”>amstellight</option>
<option value=”coronalight”>coronalight</option>
<option value=”coronaextra”>coronaextra</option>
<option value=””></option>
</select>

What does undefined value mean in javascript?
Undefined value means the variable used in the code doesn’t exist or is not assigned any value or the property doesn’t exist.

What is the difference between undefined value and null value?
(i)Undefined value cannot be explicitly stated that is there is no keyword called undefined whereas null value has keyword called null
(ii)typeof undefined variable or property returns undefined whereas typeof null value returns object

What is variable typing in javascript?
It is perfectly legal to assign a number to a variable and then assign a string to the same variable as follows
example
i = 10;
i = “string”;
This is called variable typing

Does javascript have the concept level scope?
No. JavaScript does not have block level scope, all the variables declared inside a function possess the same level of scope unlike c,c++,java.

What are undefined and undeclared variables?
Undeclared variables are those that are not declared in the program (do not exist at all),trying to read their values gives runtime error.But if undeclared variables are assigned then implicit declaration is done .
Undefined variables are those that are not assigned any value but are declared in the program.Trying to read such variables gives special value called undefined value.

What is === operator ?
==== is strict equality operator ,it returns true only when the two operands are having the same value without any type conversion.

 

How can JavaScript be used to improve the “look and feel” of a Web site? By the same token, how can JavaScript be used to improve the user interface?
On their own, Web pages tend to be lifeless and flat unless you add animated images or more bandwidth-intensive content such as Java applets or other content requiring plug-ins to operate (ShockWave and Flash, for example).
Embedding JavaScript into an HTML page can bring the page to life in any number of ways. Perhaps the most visible features built into pages recently with the help of JavaScript are the so-called image rollovers: roll the cursor atop a graphic image and its appearance changes to a highlighted version as a feedback mechanism to let you know precisely what you’re about to click on. But there are less visible yet more powerful enhancements to pages that JavaScript offers.
Interactive forms validation is an extremely useful application of JavaScript. While a user is entering data into form fields, scripts can examine the validity of the data–did the user type any letters into a phone number field?, for instance. Without scripting, the user has to submit the form and let a server program (CGI) check the field entry and then report back to the user. This is usually done in a batch mode (the entire form at once), and the extra transactions take a lot of time and server processing power. Interactive validation scripts can check each form field immediately after the user has entered the data, while the information is fresh in the mind.
Another helpful example is embedding small data collections into a document that scripts can look up without having to do all the server programming for database access. For instance, a small company could put its entire employee directory on a page that has its own search facility built into the script. You can cram a lot of text data into scripts no larger than an average image file, so it’s not like the user has to wait forever for the data to be downloaded.
Other examples abound, such as interactive tree-structure tables of contents. More modern scriptable browsers can be scripted to pre-cache images during the page’s initial download to make them appear lickety-split when needed for image swapping. I’ve even written some multi-screen interactive applications that run entirely on the client, and never talk to the server once everything is downloaded.

What are JavaScript types?
Number, String, Boolean, Function, Object, Null, Undefined.

How do you convert numbers between different bases in JavaScript?
Use the parseInt() function, that takes a string as the first parameter, and the base as a second parameter. So to convert hexadecimal 3F to decimal, use parseInt (“3F”, 16);

How to create arrays in JavaScript?
We can declare an array like this
var scripts = new Array();
We can add elements to this array like this

scripts[0] = “PHP”;
scripts[1] = “ASP”;
scripts[2] = “JavaScript”;
scripts[3] = “HTML”;

Now our array scrips has 4 elements inside it and we can print or access them by using their index number. Note that index number starts from 0. To get the third element of the array we have to use the index number 2 . Here is the way to get the third element of an array.
document.write(scripts[2]);
We also can create an array like this
var no_array = new Array(21, 22, 23, 24, 25);

How do you target a specific frame from a hyperlink?
Include the name of the frame in the target attribute of the hyperlink. <a href=”mypage.htm” target=”myframe”>>My Page</a>

What is a fixed-width table and its advantages?

Fixed width tables are rendered by the browser based on the widths of the columns in the first row, resulting in a faster display in case of large tables. Use the CSS style table-layout:fixed to specify a fixed width table.
If the table is not specified to be of fixed width, the browser has to wait till all data is downloaded and then infer the best width for each of the columns. This process can be very slow for large tables.

Example of using Regular Expressions for syntax checking in JavaScript


var re = new RegExp(“^(&[A-Za-z_0-9]{1,}=[A-Za-z_0-9]{1,})*$”);
var text = myWidget.value;
var OK = re.test(text);
if( ! OK ) {
alert(“The extra parameters need some work.\r\n Should be something like: \”&a=1&c=4\””);
}

Where are cookies actually stored on the hard disk?
This depends on the user’s browser and OS.
In the case of Netscape with Windows OS,all the cookies are stored in a single file called

cookies.txt
c:\Program Files\Netscape\Users\username\cookies.txt
In the case of IE,each cookie is stored in a separate file namely username@website.txt.
c:\Windows\Cookies\username@Website.txt

Javascript Interview Questions and Answers – Part 1

What is JavaScript?
JavaScript is a general-purpose programming language designed to let programmers of all skill levels control the behavior of software objects. The language is used most widely today in Web browsers whose software objects tend to represent a variety of HTML elements in a document and the document itself. But the language can be–and is–used with other kinds of objects in other environments. For example, Adobe Acrobat Forms uses JavaScript as its underlying scripting language to glue together objects that are unique to the forms generated by Adobe Acrobat. Therefore, it is important to distinguish JavaScript, the language, from the objects it can communicate with in any particular environment. When used for Web documents, the scripts go directly inside the HTML documents and are downloaded to the browser with the rest of the HTML tags and content.
JavaScript is a platform-independent,event-driven, interpreted client-side scripting and programming language developed by Netscape Communications Corp. and Sun Microsystems.

How is JavaScript different from Java?
JavaScript was developed by Brendan Eich of Netscape; Java was developed at Sun Microsystems. While the two languages share some common syntax, they were developed independently of each other and for different audiences. Java is a full-fledged programming language tailored for network computing; it includes hundreds of its own objects, including objects for creating user interfaces that appear in Java applets (in Web browsers) or standalone Java applications. In contrast, JavaScript relies on whatever environment it’s operating in for the user interface, such as a Web document’s form elements.
JavaScript was initially called LiveScript at Netscape while it was under development. A licensing deal between Netscape and Sun at the last minute let Netscape plug the “Java” name into the name of its scripting language. Programmers use entirely different tools for Java and JavaScript. It is also not uncommon for a programmer of one language to be ignorant of the other. The two languages don’t rely on each other and are intended for different purposes. In some ways, the “Java” name on JavaScript has confused the world’s understanding of the differences between the two. On the other hand, JavaScript is much easier to learn than Java and can offer a gentle introduction for newcomers who want to graduate to Java and the kinds of applications you can develop with it.

What’s relationship between JavaScript and ECMAScript?
ECMAScript is yet another name for JavaScript (other names include LiveScript). The current JavaScript that you see supported in browsers is ECMAScript revision 3.

How do you submit a form using Javascript?
Use document.forms[0].submit();
(0 refers to the index of the form – if you have more than one form in a page, then the first one has the index 0, second has index 1 and so on).

 

How to use strings as array indexes using JavaScript?
Javascript does not have a true hashtable object, but through its wierdness, you can use the array as a hashtable.

<script type=”text/javascript”>
var days = ["Sunday","Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday"];

for(var i=0; i < days.length; i++) {
days[days[i]] = days[i];
}

document.write(“days[\"Monday\"]:”+days["Monday"]);
</script>
This produces
days["Monday"]:Monday

How to use “join()” to create a string from an array using JavaScript?
“join” concatenates the array elements with a specified seperator between them.

<script type=”text/javascript”>
var days = ["Sunday","Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday"];
document.write(“days:”+days.join(“,”));
</script>
This produces
days:Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday

 

<script type=”text/javascript”>
var myMovie = new Object();
myMovie.title = “Aliens”;
myMovie.director = “James Cameron”;
document.write(“movie: title is \””+myMovie.title+”\””);
<
This produces
movie: title is “Aliens”
To create an object you write a method with the name of your object and invoke the method with “new”.
<script type=”text/javascript”>
function movie(title, director) {
this.title = title;
this.director = director;
}
var aliens = new movie(“Aliens”,”Cameron”);
document.write(“aliens:”+aliens.toString());
</script>
This produces
aliens:[object Object]

You can also use an abbreviated format for creating fields using a “:” to separate the name of the field from its value. This is equivalent to the above code using “this.”.
<script type=”text/javascript”>
function movie(title, director) {
title : title;
director : director;
}
var aliens = new movie(“Aliens”,”Cameron”);
document.write(“aliens:”+aliens.toString());
</script>
This produces
aliens:[object Object]

How do we get JavaScript onto a web page?
You can use several different methods of placing javascript in you pages.
You can directly add a script element inside the body of page.
1. For example, to add the “last updated line” to your pages, In your page text, add the following:
<p>blah, blah, blah, blah, blah.</p>
<script type=”text/javascript” >
<!– Hiding from old browsers
document.write(“Last Updated:” +
document.lastModified);
document.close();
// –>
</script>
<p>yada, yada, yada.</p>

(Note: the first comment, “<–” hides the content of the script from browsers that don’t understand javascript. The “// –>” finishes the comment. The “//” tells javascript that this is a comment so javascript doesn’t try to interpret the “–>”. If your audience has much older browsers, you should put this comments inside your javascript. If most of your audience has newer browsers, the comments can be omitted. For brevity, in most examples here the comments are not shown. )
The above code will look like this on Javascript enabled browsers,
2. Javascript can be placed inside the <head> element
Functions and global variables typically reside inside the <head> element.
<head>
<title>Default Test Page</title>
<script language=”JavaScript” type=”text/javascript”>
var myVar = “”;
function timer(){setTimeout(‘restart()’,10);}
document.onload=timer();
</script>
</head>

Javascript can be referenced from a separate file
Javascript may also a placed in a separate file on the server and referenced from an HTML page. (Don’t use the shorthand ending “<script … />). These are typically placed in the <head> element.
<script type=”text/javascript” SRC=”myStuff.js”></script>

 

How to Accessing Elements using javascript?
To do something interesting with HTML elements, we must first be able to uniquely identify which element we want. In the example
<body>
<form action=””>
<input type=”button” id=”useless” name=”mybutton” value=”doNothing” />
</form>
</body>

We can use the “getElementById” method (which is generally preferred)
document.getElementById(“useless”).style.color = “red”;
or we can use the older hierarchical navigation method,
document.forms[0].mybutton.style.color = “blue”;
Notice that this uses the “name” attribute of the element to locate it.
# Example of Accessing Elements in a DOM.

<script type=”text/javascript” >
function showStatus() {
var selectWidget = document.forms.beerForm.elements["beer"];
var myValue = selectWidget.options[selectWidget.selectedIndex].value;
alert(‘You drank a \”‘+ myValue +”\””);
return true;
}
</script>

<form name=”beerForm” action=””>
<select name=”beer”>
<option selected=”selected”>Select Beer</option>
<option>Heineken</option>
<option>Amstel Light</option>
<option>Corona</option>
<option>Corona Light</option>
<option>Tecate</option>
</select>

<input type=”button” name=”submitbutton” value=”Drink”
onclick=”showStatus()” />
</form>

What looping structures are there in JavaScript?
for, while, do-while loops, but no foreach.

To put a “close window” link on a page ?
<a href=’javascript:window.close()’ class=’mainnav’> Close </a>

How to hide javascript code from old browsers that dont run it?
Use the below specified style of comments <script language=javascript> <!– javascript code goes here // –> or Use the <NOSCRIPT>some html code </NOSCRIPT> tags and code the display html statements between these and this will appear on the page if the browser does not support javascript

How to comment javascript code? 
Use // for line comments and
/*

*/ for block comments

Name the numeric constants representing max,min values 
Number.MAX_VALUE
Number.MIN_VALUE

What does javascript null mean? 
The null value is a unique value representing no value or no object.
It implies no object,or null string,no valid boolean value,no number and no array object.

How do you create a new object in JavaScript? 
var obj = new Object(); or var obj = {};

How do you assign object properties? 
obj["age"] = 17 or obj.age = 17.

What’s a way to append a value to an array? 
arr[arr.length] = value;

What is this keyword? 
It refers to the current object.

How to read and write a file using javascript?
I/O operations like reading or writing a file is not possible with client-side javascript. However , this can be done by coding a Java applet that reads files for the script.

How to detect the operating system on the client machine?
In order to detect the operating system on the client machine, the navigator.appVersion
string (property) should be used.

How can JavaScript make a Web site easier to use? That is, are there certain JavaScript techniques that make it easier for people to use a Web site?
JavaScript’s greatest potential gift to a Web site is that scripts can make the page more immediately interactive, that is, interactive without having to submit every little thing to the server for a server program to re-render the page and send it back to the client. For example, consider a top-level navigation panel that has, say, six primary image map links into subsections of the Web site. With only a little bit of scripting, each map area can be instructed to pop up a more detailed list of links to the contents within a subsection whenever the user rolls the cursor atop a map area. With the help of that popup list of links, the user with a scriptable browser can bypass one intermediate menu page. The user without a scriptable browser (or who has disabled JavaScript) will have to drill down through a more traditional and time-consuming path to the desired content.

 

How to associate functions with objects using JavaScript?
Let’s now create a custom “toString()” method for our movie object. We can embed the function directly in the object like this.

<script type=”text/javascript”>
function movie(title, director) {
this.title = title;
this.director = director;
this.toString = function movieToString() {
return(“title: “+this.title+” director: “+this.director);
}
}
var narnia = new movie(“Narni”,”Andrew Adamson”);
document.write(narnia.toString());
</script>
This produces
title: Narni director: Andrew Adamson

Or we can use a previously defined function and assign it to a variable. Note that the name of the function is not followed by parenthesis, otherwise it would just execute the function and stuff the returned value into the variable.

<script type=”text/javascript”>
function movieToString() {
return(“title: “+this.title+” director: “+this.director);
}
function movie(title, director) {
this.title = title;
this.director = director;
this.toString = movieToString; //assign function to this method pointer
}
var aliens = new movie(“Aliens”,”Cameron”);
document.write(aliens.toString());
</script>
This produces
title: Aliens director: Cameron

eval()?
The eval() method is incredibly powerful allowing you to execute snippets of code during execution.
<script type=”text/javascript”>
var USA_Texas_Austin = “521,289″;
document.write(“Population is “+eval(“USA_”+”Texas_”+”Austin”));
</script>
This produces
Population is 521,289

What does break and continue statements do?
Continue statement continues the current loop (if label not specified) in a new iteration whereas break statement exits the current loop.

How to create a function using function constructor?
The following example illustrates this
It creates a function called square with argument x and returns x multiplied by itself.
var square = new Function (“x”,”return x*x”);

 

How to shift and unshift using JavaScript? 
<script type=”text/javascript”>
var numbers = ["one", "two", "three", "four"];
numbers.unshift(“zero”);
document.write(” “+numbers.shift());
document.write(” “+numbers.shift());
document.write(” “+numbers.shift());
</script>
This produces
zero one two
shift, unshift, push, and pop may be used on the same array. Queues are easily implemented using combinations.

How to create an object using JavaScript? 
Objects can be created in many ways. One way is to create the object and add the fields directly.

 

What’s Prototypes for JavaScript? 
Objects have “prototypes” from which they may inherit fields and functions.
<script type=”text/javascript”>
function movieToString() {
return(“title: “+this.title+” director: “+this.director);
}
function movie(title, director) {
this.title = title;
this.director = director || “unknown”; //if null assign to “unknown”
this.toString = movieToString; //assign function to this method pointer
}
movie.prototype.isComedy = false; //add a field to the movie’s prototype
var officeSpace = new movie(“OfficeSpace”);
var narnia = new movie(“Narni”,”Andrew Adamson”);
document.write(narnia.toString());
document.write(”
Narnia a comedy? “+narnia.isComedy);
officeSpace.isComedy = true; //override the default just for this object
document.write(”
Office Space a comedy? “+officeSpace.isComedy);
</script>

unescape(), escape() 
These are similar to the decodeURI() and encodeURI(), but escape() is used for only portions of a URI.

<script type=”text/javascript”>
var myvalue = “Sir Walter Scott”;
document.write(“Original myvalue: “+myvalue);
document.write(“<br />escaped: “+escape(myvalue));
document.write(“<br />uri part: \”&author=”+escape(myvalue)+”\””);
</script>

If you use escape() for the whole URI… well bad things happen.
<script type=”text/javascript”>
var uri = “http://www.google.com/search?q=sonofusion Taleyarkhan”
document.write(“Original uri: “+uri);
document.write(”
escaped: “+escape(uri));
v/script>

decodeURI(), encodeURI()
Many characters cannot be sent in a URL, but must be converted to their hex encoding. These functions are used to convert an entire URI (a superset of URL) to and from a format that can be sent via a URI.
<script type=”text/javascript”>
var uri = “http://www.google.com/search?q=sonofusion Taleyarkhan”
document.write(“Original uri: “+uri);
document.write(“<br />encoded: “+encodeURI(uri));
</script>

How to make a array as a stack using JavaScript? 
The pop() and push() functions turn a harmless array into a stack

<script type=”text/javascript”>
var numbers = ["one", "two", "three", "four"];
numbers.push(“five”);
numbers.push(“six”);
document.write(numbers.pop());
document.write(numbers.pop());
document.write(numbers.pop());
</script>
This produces
sixfivefour