Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

package Lab3; import java.io.IOException; import java.io.PrintWriter; import jav

ID: 3753773 • Letter: P

Question

package Lab3;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import javax.servlet.ServletConfig;

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 models.GuestBookEntry;

@WebServlet("/Request/GuestBook")

public class GuestBook extends HttpServlet {

   private static final long serialVersionUID = 1L;

  

   public void init(ServletConfig config) throws ServletException {

   super.init(config);

  

   ArrayList guestbookEntries = new ArrayList();

  

   guestbookEntries.add(new GuestBookEntry("Norin Chea","Hi"));

  

   guestbookEntries.add(new GuestBookEntry("Vicheth Kaing","Hello"));

  

   guestbookEntries.add(new GuestBookEntry("Kimhana Mech","Love"));

  

   getServletContext().setAttribute("guestbookEntries", guestbookEntries);

   }

  

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

response.setContentType("text/html");

  

PrintWriter out = response.getWriter();

out.println("");

out.println("

");

  

out.println("

");

out.println("

");

out.println("

Guest Book

");

out.println("

");

out.println("");

out.println("

");

out.println("

");

  

out.println("

Guest Book

");

  

out.println("

");

out.println("");

out.println(""); out.println("Name"); out.println("Message"); out.println("All Text Fields out.println("");

out.println("");

out.println("

");

  

out.println("

");

out.println("");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

   // Get a reference to the guestbook

ArrayList guestbookEntries

= (ArrayList) getServletContext().getAttribute("guestbookEntries");

  

for (GuestBookEntry entry : guestbookEntries) {

out.println("

");

out.println("

");

out.println("

");

out.println("

");

}

  

out.println("

  

out.println("Add Comment");

  

out.println("

");

out.println("");

out.println("");

      

   }

  

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

       doGet(request, response);

   }

}

Above is the code for GuestBook.java.

Please kindly write a doGet method below so that the user can:

Search by name

Search by message

Search by All Text Fields

Sticky search query

Sticky search type

Highlight search results

Basically look like this example as search by name.

Guest Book Albert Name Search Name Message Actions Mary Jane Hi! Edit Delete Add Comment

Explanation / Answer

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String paramValue = request.getParameter("name"); String message = request.getParameter("message"); ArrayList guestbookEntries = getServletContext().getAttribute("guestbookEntries", guestbookEntries); PrintWriter out = response.getWriter(); boolean checkname = false; //Search for name for(GuestBookEntry guestentry: guestbookEntries) { if(guestentry.getName().equalsignorecase(paramValue)) { out.println("Name is found here " + paramValue); checkname = true; } } if(!checkname) { out.println("Sorry no name found here"); } // Search by message boolean checkmsg = false; for(GuestBookEntry guestentry: guestbookEntries) { if(guestentry.getMessage().equalsignorecase(message)) { out.println("message is found here " + message); checkmsg = true; } } if(!checkmsg) { out.println("Sorry no message found here , message check didnot return any hits"); } //Search all text fields String guestentry = GuestBookEntry.toString(); if(guestentry.contains(message) || guestentry.contains(paramValue)) { out.println("True full text search has recieved hits"); } // Sticky search for(GuestBookEntry guestentry: guestbookEntries) { if(guestentry.getMessage().startwith(message) || guestentry.getMessage().endswith(message) ) { out.println("sticky search message is found here " + message); checkmsg = true; } } }