Skip to main content

Servlet Context Basics


Context variable can access thorough the entire application. Shared across servlets and users .But session object can't be shared across the user . so it the is an advantage of the context variable  over session.

Now lets consider how context can be created and use the same across the entire application:


package servlets.first;



import java.io.IOException;

import java.io.PrintWriter;



import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;



/**

 * Servlet implementation class SessionTest

 */

@WebServlet(description = "Write data to session and read data from session and from context as well", urlPatterns = { "/SessionTest" })

public class SessionTest extends HttpServlet {

    private static final long serialVersionUID = 1L;



    /**

     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

     */

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html");

        String uname=request.getParameter("uname");   

       

        PrintWriter out=response.getWriter();

       

        HttpSession session =request.getSession();// Creation of session object

        ServletContext context=request.getServletContext();//creation of context object

        if(uname !="" && uname !=null){

        session.setAttribute("Sname",uname);

        context.setAttribute("Cname",uname);

        }

        out.println("Username From session:"+ (String)session.getAttribute("Sname")+"<BR>");//Read session data

        out.println("Username From Context:"+ (String)context.getAttribute("Cname")+"<BR>");//Read context data

        out.println("Username:"+uname);

       

               

    }
}

Comments

Popular posts from this blog

a simple example for jdbc PreparedStatement

a simple example for PreparedStatement package basics.in.java.blogspot.in; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main { private static final String USERNAME="root"; private static final String PASSWORD=""; private static final String CONN_STRING="jdbc:mysql://localhost/basicsinjavablogspot"; public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); Connection conn=null; Statement stmt=null; ResultSet rs=null; try { conn= DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD); System.out.println("database connection successful"); //stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql="select * fr...

Server-Side Pagination with React-Table and Spring Boot JPA with H2 Database

Pagination is a common technique used to split large amounts of data into smaller, more manageable chunks. With server-side pagination, data is retrieved from the server in smaller batches, reducing the amount of data transferred over the network and improving application performance. React-Table provides a wide range of built-in features such as sorting, filtering, pagination, row selection, and column resizing. These features can be easily configured and customized to fit specific requirements. For example, you can customize the sorting behavior to handle multiple sorting criteria, or you can add custom filters to the table to handle complex data filtering scenarios. Additionally, React-Table provides a flexible API that allows developers to extend its functionality with custom hooks, plugins, and components. This means that you can easily add custom functionality to the table, such as exporting data to CSV or integrating with external data sources. In terms of styl...