Q1.
Source Code:
import java.io.IOExcep on;
import java.io.PrintWriter;
import javax.servlet.ServletExcep on;
import javax.servlet.h p.H pServlet;
import javax.servlet.h p.H pServletRequest;
import javax.servlet.h p.H pServletResponse;
public class LifecycleDemoServlet extends H pServlet {
@Override
public void init() throws ServletExcep on {
super.init();
System.out.println("init() method called - Servlet ini alized");
@Override
protected void service(H pServletRequest request, H pServletResponse response)
throws ServletExcep on, IOExcep on {
System.out.println("service() method called - Processing request");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Servlet Lifecycle Demo</h2>");
out.println("<p>Check server logs for lifecycle messages.</p>");
out.println("</body></html>");
@Override
public void destroy() {
System.out.println("destroy() method called - Servlet destroyed");
}
Output:
Q2.
Source Code:
JSP Lifecycle Stages:
1. Transla on → JSP file is converted into a servlet.
2. Compila on → The servlet is compiled into bytecode.
3. Ini aliza on → jspInit() is called once.
4. Execu on → _jspService() is called for each request.
5. Cleanup → jspDestroy() is called when JSP is unloaded.
Sample JSP Code (lifecycleDemo.jsp):
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<body>
<h2>JSP Lifecycle Demo</h2>
<%-- Declara on --%>
<%! int counter = 0; %>
<%-- Scriptlet --%>
<%
counter++;
%>
<%-- Expression --%>
<p>Page accessed <%= counter %> mes.</p>
</body>
</html>
Output:
Q3.
Source Code:
import java.io.*;
import javax.servlet.*;
import javax.servlet.h p.*;
public class Arithme cServlet extends H pServlet {
protected void doPost(H pServletRequest request, H pServletResponse response)
throws ServletExcep on, IOExcep on {
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
request.setA ribute("sum", num1 + num2);
request.setA ribute("diff", num1 - num2);
request.setA ribute("prod", num1 * num2);
request.setA ribute("div", num2 != 0 ? (num1 / num2) : "Infinity");
RequestDispatcher rd = request.getRequestDispatcher("result.jsp");
rd.forward(request, response);
// result.jsp
<html>
<body>
<h2>Arithme c Results</h2>
<p>Sum: ${sum}</p>
<p>Difference: ${diff}</p>
<p>Product: ${prod}</p>
<p>Division: ${div}</p>
</body>
</html>
Output:
Q4.
Source Code:
<html>
<body>
<h2>User Gree ng</h2>
<form method="post">
Name: <input type="text" name="username"><br>
Email: <input type="text" name="email"><br>
<input type="submit" value="Submit">
</form>
<%
String name = request.getParameter("username");
String email = request.getParameter("email");
if(name != null && email != null){
%>
<h3>Hello, <%= name %>!</h3>
<p>Your email is: <%= email %></p>
<%
%>
</body>
</html>
Output:
Q5.
Source Code:
<%
Class.forName("com.mysql.cj.jdbc.Driver");
Connec on con = DriverManager.getConnec on(
"jdbc:mysql://localhost:3306/yourdb", "root", "password");
%>
// create.jsp - Add student
<form ac on="createStudent.jsp" method="post">
Name: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
Course: <input type="text" name="course"><br>
<input type="submit" value="Add Student">
</form>
// createStudent.jsp
<%@ include file="db.jsp" %>
<%
String name = request.getParameter("name");
String email = request.getParameter("email");
String course = request.getParameter("course");
PreparedStatement ps = con.prepareStatement("INSERT INTO
students(name,email,course) VALUES(?,?,?)");
ps.setString(1, name);
ps.setString(2, email);
ps.setString(3, course);
ps.executeUpdate();
out.println("Student Added Successfully!");
%>
// read.jsp - Display all students
<%@ include file="db.jsp" %>
<%
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM students");
%>
<table border="1">
<tr><th>ID</th><th>Name</th><th>Email</th><th>Course</th><th>Ac on</th></tr>
<%
while(rs.next()){
%>
<tr>
<td><%= rs.getInt("id") %></td>
<td><%= rs.getString("name") %></td>
<td><%= rs.getString("email") %></td>
<td><%= rs.getString("course") %></td>
<td><a href="update.jsp?id=<%= rs.getInt("id") %>">Edit</a> |
<a href="delete.jsp?id=<%= rs.getInt("id") %>">Delete</a></td>
</tr>
<%
%>
</table>
// update.jsp - Update student
<%@ include file="db.jsp" %>
<%
int id = Integer.parseInt(request.getParameter("id"));
Statement st2 = con.createStatement();
ResultSet rs2 = st2.executeQuery("SELECT * FROM students WHERE id=" + id);
rs2.next();
%>
<form ac on="updateStudent.jsp" method="post">
<input type="hidden" name="id" value="<%= id %>">
Name: <input type="text" name="name" value="<%= rs2.getString("name") %>"><br>
Email: <input type="text" name="email" value="<%= rs2.getString("email") %>"><br>
Course: <input type="text" name="course" value="<%= rs2.getString("course") %>">
<br>
<input type="submit" value="Update">
</form>
<%@ include file="db.jsp" %>
<%
int id2 = Integer.parseInt(request.getParameter("id"));
String name2 = request.getPar
String email2 = request.getParameter("email");
String course2 = request.getParameter("course");
PreparedStatement ps2 = con.prepareStatement("UPDATE students SET name=?,
email=?, course=? WHERE id=?");
ps2.setString(1, name2);
ps2.setString(2, email2);
ps2.setString(3, course2);
ps2.setInt(4, id2);
ps2.executeUpdate();
out.println("Student Updated Successfully!");
%>
// delete.jsp - Delete student
<%@ include file="db.jsp" %>
<%
int id3 = Integer.parseInt(request.getParameter("id"));
PreparedStatement ps3 = con.prepareStatement("DELETE FROM students WHERE
id=?");
ps3.setInt(1, id3);
ps3.executeUpdate();
out.println("Student Deleted Successfully!");
%>
Output: