Sunday, September 4, 2011

Java Interview Questions - 63

Q: How do I prevent the output of my JSP or Servlet pages from being cached by the browser?
A: 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. <%
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setHeader("Pragma\","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>

Saturday, September 3, 2011

Java Interview Questions - 62

Q: Explain the life-cycle mehtods in JSP?

A: The generated servlet class for a JSP page implements the HttpJspPage interface of the javax.servlet.jsp package. Hte HttpJspPage interface extends the JspPage interface which inturn extends the Servlet interface of the javax.servlet package. the generated servlet class thus implements all the methods of the these three interfaces. The JspPage interface declares only two mehtods - jspInit() and jspDestroy() that must be implemented by all JSP pages regardless of the client-server protocol. However the JSP specification has provided the HttpJspPage interfaec specifically for the JSp pages serving HTTP requests. This interface declares one method _jspService().
The jspInit()- The container calls the jspInit() to initialize te servlet instance.It is called before any other method, and is called only once for a servlet instance.
The _jspservice()- The container calls the _jspservice() for each request, passing it the request and the response objects.
The jspDestroy()- The container calls this when it decides take the instance out of service. It is the last method called n the servlet instance.

Suggest JVM to Run Garbage Collector

     /*
    Suggest JVM to Run Garbage Collector Example
    This Java example shows how to suggest the JVM to run garbage
    collection using gc method of Runtime class.
   
    */

    package org.best.example;

    public class RunGarbageCollector {
   
    public static void main(String args[])
    {
    /*
    * get current Java Runtime using getRuntime()
    * method of Runtime class.
    */
    Runtime runtime = Runtime.getRuntime();
   
    /*
    * To suggest the JVM to run garbage collector, use
    *
    * void gc()
    * method of Runtime class.
    *
    */
   
    runtime.gc();
    System.out.println("JVM has made best effort to garbage collect!");
    }
   
    }
   
    /*
    Output of this program would be
    JVM has made best effort to garbage collect!
    */

Friday, September 2, 2011

Java Interview Questions - 61

Q: What are the different scope valiues for the <jsp:useBean>?
A: The different scope values for <jsp:useBean> are
1. page
2. request
3.session
4.application
 

Get Maximum Memory Available to Java Virtual Machine(JVM)

    /*
    Get Maximum Memory Available to Java Virtual Machine(JVM) Example
    This Java example shows how to get maximum amount memory
    Java Virtual Machine will attempt to use using maxMemory()
    method of Runtime class.
    */

    package org.best.example;
    
    public class GetMaxMemory {
    
    public static void main(String args[])
    {
    /*
    * get current Java Runtime using getRuntime()
    * method of Runtime class.
    */
    Runtime runtime = Runtime.getRuntime();
    
    /*
    * To determine amount of maximum memory Java Virtual
    * Machine (JVM) will attempt to use, use
    *
    * long maxMemory()
    * method of Runtime class.
    *
    * If there is no limit inherited, value of Long.MAX_VALUE
    * will be returned.
    */
    
    long maxMemory = runtime.maxMemory();
    
    System.out.println(maxMemory + " bytes max");
    }
    
    }
    
    /*
    Typical output would be
    66650112 bytes max
    */

Thursday, September 1, 2011

Java Interview Questions - 60

Q: Difference between forward and sendRedirect?
A: When you invoke a forward request, the request is sent to another resource on the server, without the client being informed that a different resource is going to process the request. This process occurs completly with in the web container. When a sendRedirtect method is invoked, it causes the web container to return to the browser indicating that a new URL should be requested. Because the browser issues a completly new request any object that are stored as request attributes before the redirect occurs will be lost. This extra round trip a redirect is slower than forward.

Get Free Memory of Java Virtual Machine(JVM)

    /*
    Get Free Memory of Java Virtual Machine(JVM) Example
    This Java example shows how to get amount of free memory
    in the Java Virtual Machine(JVM) using freeMemory method
    of Java Runtime class.
    */

    package org.best.example;

    public class GetFreeMemory {
    
    public static void main(String args[])
    {
    /*
    * get current Java Runtime using getRuntime()
    * method of Runtime class.
    */
    Runtime runtime = Runtime.getRuntime();
    
    /*
    * To determine amount of free memory available to current
    * Java Virtual Machine(JVM), use
    *
    * long freeMemory()
    * method of Runtime class.
    */
    
    long freeMemory = runtime.freeMemory();
    
    System.out.println(freeMemory + " bytes free in JVM");
    }
    
    
    }
    
    /*
    Typical output would be
    4993048 bytes free in JVM
    */