Skip to content
1. Introduction
- The server tier is the backend of a web application that handles data processing, business logic, and communication with databases.
- It interacts with the client tier (front-end) to generate dynamic content and maintain state.
2. Web Server Concept
- A web server receives requests from clients (web browsers) and responds with HTML, JSON, or XML.
- Functions:
- Serve static content (HTML, CSS, images)
- Generate dynamic content (via scripts or server-side programs)
- Manage sessions and authentication
3. Creating Dynamic Content
- Dynamic content changes based on user input or other runtime factors.
- Methods:
- Server-side scripting: Java (JSP), PHP, ASP.NET
- Template engines: Generate HTML dynamically
- Control flow structures (if-else, loops) determine how content is generated.
4. Sessions and State
- HTTP is stateless, so servers need mechanisms to track user interactions:
- Sessions: Store data across multiple requests from the same user
- Cookies: Store small pieces of data on the client
- Hidden fields: Pass state info in forms
5. Error Handling
- Servers must handle errors gracefully:
- Client errors (4xx): Bad request, unauthorized access
- Server errors (5xx): Internal server errors
- Error handling techniques:
- Try-catch blocks (for server-side scripts)
- Custom error pages
- Logging for debugging and monitoring
6. Architecting Web Applications
- Design patterns for server-side development:
- MVC (Model-View-Controller): Separates logic, data, and presentation
- Layered architecture: Presentation → Business logic → Data access
- Benefits:
- Modular, maintainable, scalable, and testable applications
7. Tag Libraries
- Predefined collections of reusable server-side components.
- Examples in Java:
- JSP Standard Tag Library (JSTL)
- Custom tag libraries for common tasks (loops, conditionals, formatting)
- Advantages:
- Simplifies coding
- Reduces errors
- Enhances code readability
8. Writing Tag Libraries
- Steps to create a custom tag library in Java:
- Define the tag in a Tag Library Descriptor (TLD) file
- Implement Java class for tag behavior
- Include the tag library in JSP using <%@ taglib %> directive
9. Key Takeaways
- The server tier executes business logic, handles requests, and manages communication with databases.
- Dynamic content, session management, and error handling are core responsibilities.
- Proper architecture and use of tag libraries improve maintainability and scalability.
- Understanding server-side processing is critical for building robust web applications.