ej

  prac-1A(simple calculator)

index.html
< action="Calculator" >
    Enter First Number <input type="text" name="txtN1" ><br> <br>
    Enter Second Number <input type="text" name="txtN2" ><br> <br>
 Select an Operation
<input type="radio" name="opr" value="+">ADDITION
<input type="radio" name="opr" value="-">SUBTRACTION 
<input type="radio" name="opr" value="*">MULTIPLY
<input type="radio" name="opr" value="/">DIVIDE <br>
<input type="reset">
<input type="submit" value="Calculate" >
</form>
Calculator.java
            /*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class Calculator extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet Calculator</title>");            
            out.println("</head>");
            out.println("<body>");
            double n1 = Double.parseDouble(request.getParameter("txtN1"));
            double n2 = Double.parseDouble(request.getParameter("txtN2"));
            double result =0;
            String opr=request.getParameter("opr");
            if(opr.equals("+")) result=n1+n2; 
            if(opr.equals("-")) result=n1-n2;
            if(opr.equals("*")) result=n1*n2; 
            if(opr.equals("/")) result=n1/n2;
            out.println("<h1> Result = "+result); 
            out.println("</body>");
            out.println("</html>");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}


prac -1B(“Hello <username>” else a message “login failed”)

index.html
        < action="LoginServlet" >
        Enter User ID: <input type="text" name="txtId"><br>
        Enter Password: <input type="password" name="txtPass"><br>
        <input type="reset">
        <input type="submit" value=" Click to Login " >
        </form>
 LoginServlet.java
            /*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class LoginServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet LoginServlet</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet LoginServlet at " + request.getContextPath() + "</h1>");
            response.setContentType("text/html;charset=UTF-8");
            String uname = request.getParameter("txtId");
            String upass = request.getParameter("txtPass");
            if(uname.equals("sophia") && upass.equals("sophia@24")){
                out.println("<body bgcolor=blue >");
                out.println("<h1> Welcome !!!"+uname+"</h1>");
                }
            else{
                out.println("<body bgcolor=red >");out.println("<h1> Login Failed!!! </h1>");
            }

            out.println("</body>");
            out.println("</html>");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

prac -2A(Using Request Dispatcher Interface create a Servlet)

        index.html
        < method="post" action="loginPage">
        User Name: <input type="text" name ="un"><br>
        Password: <input type="password" name ="pw"><br>
        <input type="submit" value="Login">
        </form>


loginPage.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class loginPage extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        PrintWriter out=response.getWriter(); 
        String username=request.getParameter("un");
        String password=request.getParameter("pw");
        if(password.equals("Servlet"))
        {
        request.setAttribute("s1username",username);
        
        RequestDispatcher rd= request.getRequestDispatcher("welcome");
        rd.forward(request, response);
        }
        else
        { 
        out.println("Incorrect password ");
        RequestDispatcher rd= request.getRequestDispatcher("index.html");
        rd.include(request, response);
        }
        }
    }

welcome.java(do not add deployment descriptor)

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class welcome extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */


    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       
        try (PrintWriter out = response.getWriter()) { 
        String s2username = (String)request.getAttribute("s1username"); 
        out.println("Welcome "+s2username); 
        }
    }

  
}

prac -2B(uses Cookies to store the number of times a user has visited servlet.)

index.html
        < action="NewServlet" >
        Enter Your Name <input type="text" name="txtName"><br>
        <input type="submit" value="~~~ Click to Enter ~~~">
        </form>
NewServlet.java
 /*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class NewServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    private int i=1;
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");            
            out.println("</head>");

 String k=String.valueOf(i);
 Cookie c = new Cookie("visit",k);
 response.addCookie(c);
 int j=Integer.parseInt(c.getValue());
 if(j==1)
 {
 out.println("This is the first time you are visiting this page");
 }
 else
 { synchronized(NewServlet.this)
 { out.println("You visited this page "+i+" times");
 }
 }
 i++;
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

prac -2C(session creation and destruction)


index.html
        < action="session"> 
        <input type="submit" value="Check">
        </form>

session.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


/**
 *
 * @author Sophia
 */
public class session extends HttpServlet {

   
      private int counter;
 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
 {
 response.setContentType("text/html");
 PrintWriter out = response.getWriter();
 HttpSession session=request.getSession(true);
 if(session.isNew())
 {
 out.print("This is the first time you are visiting this page");
 ++counter;
 }
 else {
     synchronized(session.this)
 {
 if(counter==10)
 { session.invalidate();
 counter=0;
 request.getSession(false);
 }
 else
 out.print("You have visited this page "+(++counter)+ " times"); 
    }

 }}
}


prac -3(upload and download)

DOWNLOAD.html
< action="DownloadServlet" method="get">
        <label for="file">Enter file path:</label>
        <input type="text" id="file" name="file" required>
        <input type="submit" value="Download">
    </form>

index.html
< action="FileUploadServlet" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="text" name="destination" />
    <input type="submit" value="Upload" />
</form>
        < action="DownloadServlet" method="get">
        <label for="file">Enter file path:</label>
        <input type="text" id="file" name="file" required>
        <input type="submit" value="Download">
    </form>
DownloadServlet.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class DownloadServlet extends HttpServlet {

   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException {
        String filePath = req.getParameter("file");
        File downloadFile = new File(filePath);
        if (!downloadFile.exists()) {
            res.setContentType("text/html");
            res.getWriter().println("<h3>File " + filePath + " not found on the server.</h3>");
            return;
        }
        res.setContentType("application/octet-stream");
        res.setHeader("Content-Disposition", "attachment;filename=\"" + downloadFile.getName() + "\"");
        res.setContentLength((int) downloadFile.length());
        try (FileInputStream inStream = new FileInputStream(downloadFile)) {
         OutputStream outStream = res.getOutputStream();
        byte[] buffer = new byte[4096];
            int bytesRead = -1;
            while ((bytesRead = inStream.read(buffer)) != -1) {
                outStream.write(buffer, 0, bytesRead);
            }
        } catch (IOException e) {
            res.getWriter().println("Error: " + e.getMessage());
         
        }
    }
}

FileUploadServlet
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

/**
 *
 * @author Sophia
 */

@MultipartConfig

public class FileUploadServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       PrintWriter out = response.getWriter();
            String path = request.getParameter("destination"); 
            Part filePart = request.getPart("file"); 
            String filename = filePart.getSubmittedFileName(); 
            out.print("<br><br><hr> file name: " + filename); 

            File uploadDir = new File(path);
            if (!uploadDir.exists()) {
                uploadDir.mkdir();
            }

            try (OutputStream os = new FileOutputStream(new File(path + File.separator + filename));
                 InputStream is = filePart.getInputStream()) {
                byte[] buffer = new byte[1024];
                int bytesRead;
                while ((bytesRead = is.read(buffer)) != -1) {
                    os.write(buffer, 0, bytesRead);
                }
                out.println("<br>file uploaded successfully...!!!");
            } catch (FileNotFoundException e) {
                out.print("<br>Error: " + e.getMessage());
                e.printStackTrace();
            }
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

prac -4A(use of intrinsic objects of various types.)

index.html
<h1>Registration Page</h1>
< action="simple.jsp">
<b>Username:</b><input type="text" name="txt">
<input type="Submit" value="Submit">
</form>
simple.jsp
        <body>
        <h1>Use of Intrinsic Objects in JSP</h1>
        <h2>Request Object</h2>
        Query String: <%=request.getQueryString() %><br>
        Context Path: <%=request.getContextPath()%><br>
        Remote Host: <%=request.getRemoteHost() %><br>
        
        <h2>Response Object</h2>
        Character Encoding type:<%=response.getCharacterEncoding()%><br/>
        Context Type:<%=response.getContentType()%><br/>
        Locale: <%=response.getLocale() %>
        
        <h2>Session Object</h2>
        Session ID:<%=session.getId()%><br/>
        Creation Time:<%=new java.util.Date(session.getCreationTime())%><br>
        Last Access Time:<%=new java.util.Date(session.getLastAccessedTime())%><br>
        </body>

prac -4B(pass values from one page to another with validations. (Name-txt, age-txt, hobbies-checkbox, email-txt, gender-radio button))

index.html
<h2>User Information Form</h2>
    < action="index.jsp" method="post">
        Name: <input type="text" name="name"><br><br>
        Age: <input type="text" name="age"><br><br>
        Email: <input type="text" name="email"><br><br>
        Hobbies: 
        <input type="checkbox" name="hobbies" value="Reading">Reading
        <input type="checkbox" name="hobbies" value="Sports">Sports
        <input type="checkbox" name="hobbies" value="Music">Music<br><br>
        Gender:
        <input type="radio" name="gender" value="Male">Male
        <input type="radio" name="gender" value="Female">Female<br><br>
        <input type="submit" value="Submit">
    </form>
index.jsp
 <body>
          <h2>Submitted User Information</h2>

    <%
        String name = request.getParameter("name");
        String ageStr = request.getParameter("age");
        String email = request.getParameter("email");
        String[] hobbies = request.getParameterValues("hobbies");
        String gender = request.getParameter("gender");

        boolean isValid = true;
        if (name.isEmpty()) {
            out.println("<div style='color: red;'> Name is required!<br>");
            isValid = false;
        }
        try {
            int age = Integer.parseInt(ageStr);
        } catch (NumberFormatException e) {
            out.println("<div style='color: red;'> Valid age is required!<br>");
            isValid = false;
        }
        if (email.isEmpty() || !email.matches("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$")) {
            out.println("<div style='color: red;'> Valid email is required!<br>");
            isValid = false;
        }
        if (gender == null) {
            out.println("<div style='color: red;'> Gender is required!<br>");
            isValid = false;
        }

        // If valid, display info
        if (isValid) {
            out.println("<strong>Name:</strong> " + name + "<br>");
            out.println("<strong>Age:</strong> " + ageStr + "<br>");
            out.println("<strong>Email:</strong> " + email + "<br>");
            out.println("<strong>Hobbies:</strong> " + (hobbies != null ? String.join(", ", hobbies) : "None") + "<br>");
            out.println("<strong>Gender:</strong> " + gender + "<br>");
        } else {
            out.println("<a href='index.html'>Go Back</a>");
        }
    %>
    </body>

prac -5B(use of Expression language.)

jsp_5a.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%><%
application.setAttribute("author", "Sophia");
session.setAttribute("country","India");
%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
<body>
<form action="jsp_5b.jsp">
<h2>Provide Your Details<h2>
USER FIRST NAME :- <input type="text" name="first"/><br>
USER LAST NAME :- <input type="text" name="last"/><br>
<input type="submit" >
</form>
</body>
</html>
jsp_5b.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<b>WELCOME ${param.first} ${param.last}<br>
<p>Author Name:<b>${applicationScope.author}</b></p>
<p>Country Name:<b>${sessionScope.country}</b></p>
<p >Relational Operator<br>
Is 7 is less than 10? ${7<10}<br>
Does 6 equal 6? ${6==6}<br>
Is 7 greater than 9? ${7 gt 9}<br>
</p>
<p>
Now for some maths:<br>
6+7=${6+7}<br>
8+9=${8+9}<br>
</p>
</body>
</html>

prac -5c(use of JSTL)

            index.html
            < action="jsp_5C.jsp">
            User'S First Name:-<input type="text" name="ufname"/><br>
            User'S Last Name:-<input type="text" name="ulname"/><br>
            Enter Input:<input type="number" name="input"/><br>
            <input type="submit">
            </form>
jsp_5C.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        First Name:-<b><c:out value="${param.ufname}"></c:out><br>
        Last Name:-<b><c:out value="${param.ulname}"></c:out><br>
            <br>
            Use of if:
            <c:set var="mycount" value="25"></c:set>
            <c:if test="${param.input==25}">
                <b><c:out value="Your Count is 25"></c:out></b>
            </c:if>
            <c:if test="${param.input ne 25}">
                <b><c:out value="Your Count is not equal to 25"></c:out></b> 
            </c:if>
                <br>
                <br>
                Use of For Each:
            <c:forEach var="count" begin="10" end="50" step="5">
                <b>
                    <c:out value="${count}"></c:out>
                </b>
            </c:forEach>        
    </body>
</html>

prac -6A(a Currency Converter)

index.html
            < action="ej_6a">
            ENTER AMOUNT: <input type="text" name="amt"> <br><br>
            <input type="radio" name="type" value="RD">RUPEES TO DOLLAR
            <input type="radio" name="type" value="DR">DOLLAR TO RUPEES<br><br>
            <input type="reset"> <input type="submit" value="CONVERT">
            </form>
MyfileBean.java

import javax.ejb.Stateless;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Sophia
 */
@Stateless
public class MyfileBean {
        public double RDoller(double r)
        {
            return r/73.11;
        }
        public double DRupees(double d)
        {
            return d*73.11;
        }
}

ej_6a.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class ej_6a extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @EJB
    MyfileBean obj;

    protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
        double amt = Double.parseDouble(request.getParameter("amt"));
        if(request.getParameter("type").equals("RD"))
        {
            out.println(amt+" Rupees= "+obj.RDoller(amt)+" Dollars");
        }
        if(request.getParameter("type").equals("DR"))
        {
            out.println(amt+" Dollars= "+obj.DRupees(amt)+" Rupees");
        }
    }
        
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
prac -7A(Servlet Hit count using Singleton Session Beans.)
index.html
< action="countserv" method="post">
            Check the No.of Hits on the Page:
            <input type="submit" value="Check Count">
        </form>
countBean.java

import javax.ejb.Singleton;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Sophia
 */
@Singleton
public class countBean {
private int hit=0;
public countBean(){}
public int verifycount(){
    return hit++;
}

    
}
countserv.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class countserv extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
@EJB
countBean obj;

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
                   out.println("You have visited the page "+obj.verifycount()+" hits on the Page");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
prac -8(simple Inventory Application Using JPA.)
Failed.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <h1>Login Failed!!!</h1>
    <b>Author Name: ${applicationScope.author}</b><br>
    <b>Country Name: ${sessionScope.country}</b><br>
    <a href="logview.jsp">Click To View Log Details</a><br>
    <a href="prac8.jsp">Go Back To Login Page</a>
</body>
</html>
Welcome.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <h1>WELCOME <b><%= request.getParameter("uid") %></b></h1><br>
    <a href="Home">Click To View Home Page</a>
</body>
</html>
index.html
<bo>
       <h1>Welcome to the Inventory Application</h1>
    <p>Please choose an option below:</p>
    <a href="prac8.jsp">Login</a>
    <a href="logview.jsp">View Logs</a>
    </body>
logview.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
    <h1>Log View Details</h1>
    <h1>Request Object</h1>
    Context Path: <%= request.getContextPath() %><br>
    Remote Host: <%= request.getRemoteHost() %><br>
    
    <h1>Response Object</h1>
    Character Encoding Type: <%= response.getCharacterEncoding() %><br>
    Content Type: <%= response.getContentType() %><br>
    Locale: <%= response.getLocale() %><br>

    <h1>Session Object</h1>
    ID: <%= session.getId() %><br>
    Creation time: <%= new java.util.Date(session.getCreationTime()) %><br>
    Last Access Time: <%= new java.util.Date(session.getLastAccessedTime()) %><br>
    
    <a href="Failed.jsp">Go Back</a>
</body>
</html>
prac8.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
application.setAttribute("author", "Sophia");
session.setAttribute("country", "INDIA");
%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <h1>LOGIN PAGE</h1>
    <form action="Prac8a" method="post">
        Enter User ID: <input type="text" name="uid"><br>
        Enter Password: <input type="password" name="pass"><br>
        <input type="submit" value="Submit">
        <input type="reset" value="Reset">
    </form>
</body>
</html>
Display.java
import javax.ejb.Stateless;

@Stateless
public class Display {
    public Display() {}

    public String Display() {
        return "This is Home Page";
    }
}
Home.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class Home extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @EJB
    Display obj;
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
        out.println("<title>Home Page</title>");
        out.println(obj.Display());
        out.println("<form action='prac8.jsp'>");
        out.println("<input type='submit' value='Go Back'>");
        out.println("</form>");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
Prac8a.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Sophia
 */
public class Prac8a extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");{
        String pass = request.getParameter("pass");
        if (pass.equals("sophia")) {
            RequestDispatcher rd = request.getRequestDispatcher("Welcome.jsp");
            rd.forward(request, response);
        } else {
            RequestDispatcher rd = request.getRequestDispatcher("Failed.jsp");
            rd.forward(request, response);
        }
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}






Comments

Popular posts from this blog

python(BI)

Prac_8(AMP)

LSA10