====================================================
JDBC – SERVLET – JSP NOTES
🔷 1. JDBC – ResultSet Interface
• ResultSet is an interface from java.sql package.
• Represents data returned by SQL SELECT query.
• Used for:
- Retrieving data
- Navigating rows
- Manipulating data
🔹 Creating ResultSet
Using Statement:
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("SELECT * FROM emp");
Using PreparedStatement:
PreparedStatement ps = con.prepareStatement("SELECT * FROM emp");
ResultSet rs = ps.executeQuery();
🔷 2. Types of ResultSet
1) TYPE_FORWARD_ONLY (Default)
• Move only forward
• Cannot move backward
• Cannot jump to specific row
2) TYPE_SCROLL_INSENSITIVE
• Move forward & backward
• Jump to any row
• Does NOT reflect DB changes
3) TYPE_SCROLL_SENSITIVE
• Move forward & backward
• Reflects DB changes
🔷 3. Concurrency Mode
ResultSet.CONCUR_READ_ONLY
• Cannot update data
ResultSet.CONCUR_UPDATABLE
• Can update data
🔷 4. Important ResultSet Methods
next() → Move to next row
previous() → Move to previous row
first() → Move to first row
last() → Move to last row
beforeFirst() → Before first row
afterLast() → After last row
absolute(int) → Move to specific row
relative(int) → Move relative position
🔷 5. RowSet
• Child interface of ResultSet
• Supports Connected & Disconnected mode
Types:
JdbcRowSet
CachedRowSet
WebRowSet
FilteredRowSet
JoinRowSet
🔷 6. RowSetFactory
RowSetFactory rsf = RowSetProvider.newFactory();
CachedRowSet crs = rsf.createCachedRowSet();
🔷 7. CallableStatement (Stored Procedure)
• Used to execute:
- Stored Procedures
- Functions
CallableStatement cs =
con.prepareCall("{call proc_name(?)}");
Register OUT Parameter:
cs.registerOutParameter(1, Types.INTEGER);
Procedure vs Function
Procedure:
• No return value
• IN, OUT, INOUT
• Used for operations
Function:
• Returns value
• Only IN
• Used for calculations
🔷 8. Transaction Management
Transaction = Group of operations executed together
Steps:
1) Disable AutoCommit
con.setAutoCommit(false);
2) Execute Queries
3) Commit OR Rollback
con.commit();
con.rollback();
🔷 ACID Properties
Atomicity → All or nothing
Consistency → DB remains valid
Isolation → Transactions isolated
Durability → Changes permanent
🔷 9. Savepoint
Savepoint sp = con.setSavepoint();
con.rollback(sp);
🔷 10. Connection Pooling
• Improves performance
• Reuses DB connections
• Avoids repeated creation/destruction
🔷 11. JDBC Metadata
1) DatabaseMetaData
DatabaseMetaData dbmd = con.getMetaData();
dbmd.getDatabaseProductName();
dbmd.getDriverName();
2) ParameterMetaData
ParameterMetaData pmd = ps.getParameterMetaData();
pmd.getParameterCount();
3) ResultSetMetaData
ResultSetMetaData rsmd = rs.getMetaData();
rsmd.getColumnCount();
rsmd.getColumnName(1);
====================================================
SERVLET
🔷 12. What is Servlet?
• Java program running on server
• Handles HTTP requests
• Generates dynamic response
🔷 Servlet Life Cycle
1) init()
2) service()
3) destroy()
🔷 Servlet Interface Methods
public void init()
public void service()
public void destroy()
public ServletConfig getServletConfig()
public String getServletInfo()
🔷 13. Creating Servlet (3 Ways)
1) Implement Servlet
2) Extend GenericServlet
3) Extend HttpServlet (Most Used)
HttpServlet Methods:
doGet()
doPost()
🔷 14. RequestDispatcher
Used for:
• forward()
• include()
RequestDispatcher rd =
request.getRequestDispatcher("page.jsp");
rd.forward(request, response);
====================================================
JSP
🔷 15. JSP Scripting Tags
Scriptlet:
<% code %>
Expression:
<%= value %>
Declaration:
<%! int x = 10; %>
🔷 Directive Tags
Page:
<%@ page contentType="text/html" %>
Include:
<%@ include file="header.jsp" %>
Taglib:
<%@ taglib ... %>
🔷 Action Tag
====================================================
MVC ARCHITECTURE
🔷 16. MVC Components
Model:
• JavaBeans
• DAO
• Database
View:
• JSP
• HTML
Controller:
• Servlet
Flow:
HTML → Servlet → Bean → DAO → Database
Servlet → JSP (Display Result)
🔷 17. JavaBeans Rules
• Must implement Serializable
• Private variables
• Public getter & setter
• Public default constructor
🔷 18. Attributes in Servlet
request.setAttribute("name", value);
request.getAttribute("name");
request.removeAttribute("name");
🔷 19. GET vs POST
GET:
• Data in URL
• Less secure
• Limited size
• Used for retrieval
POST:
• Data in body
• More secure
• Large data allowed
• Used for submission
🔷 20. Session Tracking
Methods:
• Cookies
• HttpSession
• URL Rewriting
• Hidden Fields
🔷 21. Cookie Class
Cookie c = new Cookie("name","value");
c.setMaxAge(60);
response.addCookie(c);
Important Methods:
getName()
getValue()
setValue()
setMaxAge()
getMaxAge()
🔷 22. HttpSession
HttpSession session = request.getSession();
session.setAttribute("user", value);
session.getAttribute("user");
session.invalidate();
🔷 23. Web Server vs Application Server
Web Server:
• Handles HTTP
• Example: Tomcat
Application Server:
• Handles Web + Enterprise
• Example: WebLogic
====================================================
🔥 FINAL REVISION SUMMARY
✔ JDBC
✔ ResultSet
✔ RowSet
✔ CallableStatement
✔ Transactions
✔ ACID
✔ Metadata
✔ Servlet
✔ JSP
✔ MVC
✔ JavaBeans
✔ Session
✔ Cookies
Top comments (0)