Advance Java

 Create login form and perform state management using Cookies, HttpSession and URL   Rewriting.



Cookie).

  • CookieDemo Servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class CookieDemo extends HttpServlet {
 
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) {
       
        try {
            response.setContentType("text/html");
           
            PrintWriter out = response.getWriter();
           
            Cookie ck = new Cookie("username", request.getParameter("username"));
            response.addCookie(ck);
           
            out.print("Welcome " + request.getParameter("username"));
            out.print("<form action='NextServlet' method='POST'>");
            out.print("<input type='submit' value='next page'>");
            out.print("</form>");
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    } 
}

 

  • NextServlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class NextServlet extends HttpServlet {
   
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) {
       
        try {
            response.setContentType("text/html");
           
            PrintWriter out = response.getWriter();
            Cookie[] ck = request.getCookies();
           
            out.print("Hello " + ck[0].getValue());
            out.close();
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    } 
}

 

  •  Cookies html

<!DOCTYPE html>
<html>
    <head>
        <title> Cookies </title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div>
            <form action="CookieDemo" method="post">
                <p> Username: <input type="text" name="username"> </p>
                <input type="submit" value="Submit">
            </form>
        </div>
    </body> 
</html>

 

  •  Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>CookieDemo</servlet-name>
        <servlet-class>CookieDemo</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>NextServlet</servlet-name>
        <servlet-class>NextServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CookieDemo</servlet-name>
        <url-pattern>/CookieDemo</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>NextServlet</servlet-name>
        <url-pattern>/NextServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config> 
</web-app> 


     Http Session).

  • HttpSessionDemo 

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class HttpSessionDemo extends HttpServlet {
 
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) {
        
        try {
            response.setContentType("text/html");
           
            PrintWriter out = response.getWriter();
           
            HttpSession session = request.getSession();
            session.setAttribute("username", request.getParameter("username"));
           
            out.print("Welcome " + request.getParameter("username"));
            out.print("<form action='NextServlet' method='POST'>");
            out.print("<input type='submit' value='next page'>");
            out.print("</form>");
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    } 
}

 

  • NextServlet  

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class NextServlet extends HttpServlet {
   
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) {
       
        try {
            response.setContentType("text/html");
           
            PrintWriter out = response.getWriter();
            HttpSession session = request.getSession(false);
           
            String uname = (String)session.getAttribute("username");
 
            out.print("Hello " + uname);
            out.close();
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    } 
}

 

  • Http Session html 

 <!DOCTYPE html>

<html>
    <head>
        <title> Http Session </title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div>
            <form action="HttpSessionDemo" method="post">
                <p> Username: <input type="text" name="username" required> </p>
                <input type="submit" value="Submit">
            </form>
        </div>
    </body> 
</html>


  • Web.xml 

 <?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet>
        <servlet-name>NextServlet</servlet-name>
        <servlet-class>NextServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>HttpSessionDemo</servlet-name>
        <servlet-class>HttpSessionDemo</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>NextServlet</servlet-name>
        <url-pattern>/NextServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>HttpSessionDemo</servlet-name>
        <url-pattern>/HttpSessionDemo</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config> 
</web-app>

 

     URL Rewriting). 

  • URLRewritingDemo 

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class URLRewritingDemo extends HttpServlet {
   
   @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) {
       
        try{
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
 
            String uname = request.getParameter("uname");
 
            out.print("Welcome " + request.getParameter("uname"));
            out.print("<br/><a href='NextServlet?username="+uname+"'>next page</a>");
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    } 
}


  • NextServlet  

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class NextServlet extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) {
       
        try {
            response.setContentType("text/html");
           
            PrintWriter out = response.getWriter();
           
            out.print("Hello " + request.getParameter("username"));
            out.close();
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    } 
}


  • URL Rewriting html  

<!DOCTYPE html>
 
<html>
    <head>
        <title> Cookies </title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div>
            <form action="URLRewritingDemo">
                <p> Username: <input type="text" name="uname" required> </p>
                <input type="submit" value="Submit">
            </form>
        </div>
    </body> 
</html>


  • Web.xml 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>NextServlet</servlet-name>
        <servlet-class>NextServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>URLRewritingDemo</servlet-name>
        <servlet-class>URLRewritingDemo</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>NextServlet</servlet-name>
        <url-pattern>/NextServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>URLRewritingDemo</servlet-name>
        <url-pattern>/URLRewritingDemo</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config> 
</web-app>

Post a Comment

0 Comments