![]() |
| Java unit 4 notes |
Unit 4
Java
Q1: What are JavaServer Pages (JSP) technology? JavaServer Pages
(JSP) is a server-side technology used to create dynamic web pages. It allows
embedding Java code inside HTML, enabling interaction with databases and web
services. JSP simplifies web development by separating presentation from
business logic.
Q2: How do you pass
control from one JSP page to another?
Control passes between JSP pages
using RequestDispatcher with forward() or include() methods, or by using
response.sendRedirect() for client-side redirection. These methods help
navigate or share resources between pages during request processing.
Q3: How to pass
information from JSP to included JSP?
You can pass information from a
JSP to an included JSP using request attributes with request.setAttribute().
The included JSP retrieves these using request.getAttribute(), enabling data
sharing within the same request scope.
Q4: How many JSP
scripting elements are there and what are they?
There are three JSP scripting
elements:
1. Scriptlet (<% ...
%>) — Java code block,
2. Expression (<%=
... %>) — outputs value,
3. Declaration (<%!
... %>) — declares variables/methods.
Q5: Explain include
directive and include action of JSP?
Include directive (<%@ include
file="..." %>) inserts content at translation time (static).
Include action (<jsp:include page="..." />) inserts content at
request time (dynamic), allowing updates without recompiling the main JSP.
Q6: How can you set
a cookie in JSP?
In JSP, create a Cookie object
with name and value, then add it to the response using
response.addCookie(cookie). This sends the cookie to the client browser for
storage and later retrieval.
Q7: What is a
Servlet?
A servlet is a Java program that
runs on a server, handling client requests and generating dynamic web content.
It extends server capabilities by processing HTTP requests and responses,
typically used in web applications for backend logic.
Q8: What are the
advantages of using Servlets over CGI?
Servlets are faster, use fewer
resources, support multithreading, maintain session better, and are platform-independent.
Unlike CGI, servlets don’t create a new process for each request, making them
more efficient and scalable for web applications.
Q9: Which package
provides interfaces and classes for writing servlets?
The javax.servlet package
provides the core interfaces and classes for writing servlets. Additionally,
javax.servlet.http offers HTTP-specific servlet classes for handling HTTP
requests and responses.
Q10: What is the
Servlet interface?
The Servlet interface defines
methods (init(), service(), destroy()) that all servlets must implement. It
provides the basic contract for servlet lifecycle and request handling,
enabling web servers to communicate with servlets.
Q11: Explain
Servlet Lifecycle? Servlet lifecycle includes:
1. Loading and Instantiation
by container,
2. Initialization via
init() method,
3. Request Handling
through service() method,
4. Termination with
destroy() method to release resources.
Short answer
Q1: What is the
difference between JSP and Servlets?
JSP (JavaServer Pages) is a
server-side technology that allows embedding Java code directly within HTML
pages to create dynamic web content, mainly focusing on the presentation layer.
Servlets are Java classes that handle client requests and generate responses
programmatically, focusing more on business logic and control. JSP is easier
for designing the view, while servlets are better for controlling application
flow. JSP compiles into servlets internally, combining both for dynamic web
development.
Q2: In case of JSP,
what could be the default executable method inside the generated servlet?
In JSP, the default executable
method inside the generated servlet is the _jspService() method. This method
handles each request sent to the JSP page, processing input and generating the
response. Unlike the standard service() method in servlets, _jspService() is
automatically generated by the JSP container and cannot be overridden by
developers. It combines the Java code and HTML from the JSP, serving as the
core method to handle client requests in the generated servlet.
Q3: What is the
difference between getAttribute() and getParameter()?
getParameter() retrieves data sent by the client through
HTTP request parameters (like form inputs or query strings), always returning
strings. It's used to get user input.
getAttribute() retrieves objects
stored in request, session, or application scope by the server during request
processing. It returns an object, not a string, and is used for passing data
between server components.
ChatGPT said:
Q4: What is the
difference between Servlet session and JSP session?
Servlet session and JSP session both refer to the same HTTP
session object used to track user interactions across multiple requests. In
servlets, the session is accessed via HttpServletRequest.getSession(). In JSP,
the session object is available by default as an implicit object named session.
Both manage user data during a session, but JSP simplifies access by providing
the session object automatically, while servlets require explicit retrieval.
Functionally, they are the same.
Q5: How can one JSP
communicate with a Java file?
A JSP can communicate with a Java file (like a Java class
or bean) by creating objects of the Java class within the JSP using <%!
%>, <% %>, or JSP standard actions like <jsp:useBean>. The JSP
can then call methods of that Java class to perform business logic or data
processing. This separation helps keep the JSP focused on presentation, while
Java files handle the backend logic.
ChatGPT said:
Q6: What is the
scriptlet tag in JSP?
The scriptlet tag in JSP is <% ... %>, used to embed
Java code directly within an HTML page. Code inside scriptlet tags is inserted
into the servlet’s _jspService() method during JSP compilation. This allows
dynamic content generation and logic execution on the server side. However,
heavy use of scriptlets is discouraged for maintainability; JSP Expression
Language (EL) and JSTL are preferred for cleaner separation of logic and
presentation.
Q7: How does HTTP
servlet handle client requests?
An HTTP servlet handles client requests through its
service() method, which is called by the servlet container. The service()
method determines the request type (GET, POST, etc.) and calls the
corresponding method (doGet(), doPost(), etc.). These methods process the
request, perform business logic, and generate a response by writing to the
HttpServletResponse object. This mechanism allows handling different HTTP
methods separately while managing client-server communication efficiently.
Q8: Describe the
steps to write a servlet with example?
Steps to write a servlet:
1. Create a class that extends HttpServlet.
2. Override doGet() or doPost() methods to handle requests.
3. Use HttpServletRequest to get client data and
HttpServletResponse to send output.
4. Compile the servlet and deploy it in a servlet container (like
Tomcat).
5. Map the servlet URL in web.xml or using annotations.
Example snippet:
java CopyEdit
public class MyServlet extends HttpServlet
{ protected void
doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
{ res.getWriter().println("Hello
from Servlet");
}
}
Q9: Write a short
note on Servlet Interface,
GenericServlet, and
HttpServlet
The Servlet
interface is the base interface for all servlets, defining essential
methods like init(), service(), and destroy() for lifecycle management.
GenericServlet
is an abstract class that implements the Servlet interface and provides a
framework for protocol-independent servlets. It simplifies development by
handling common tasks.
HttpServlet is a
subclass of GenericServlet, designed specifically for HTTP protocol. It
provides methods like doGet() and doPost() to handle HTTP requests and is most
commonly used in web applications.

0 Comments