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
Post a Comment