Advertisement
ivana_andreevska

Category Servlet

Nov 10th, 2022
1,232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.49 KB | None | 0 0
  1. package mk.ukim.finki.wpaud.web.servlet;
  2.  
  3. import javax.servlet.ServletException;
  4. import javax.servlet.annotation.WebServlet;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import java.io.IOException;
  9. import java.io.PrintWriter;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12.  
  13. @WebServlet(name = "category-servlet", urlPatterns = "/servlet/category")
  14. public class CategoryServlet extends HttpServlet {
  15.  
  16.     class Category {
  17.         private String name;
  18.         private String description;
  19.  
  20.         public String getName() {
  21.             return name;
  22.         }
  23.  
  24.         public void setName(String name) {
  25.             this.name = name;
  26.         }
  27.  
  28.         public String getDescription() {
  29.             return description;
  30.         }
  31.  
  32.         public void setDescription(String description) {
  33.             this.description = description;
  34.         }
  35.  
  36.         public Category(String name) {
  37.             this.name = name;
  38.         }
  39.         public Category(String name,String description){
  40.             this.name=name;
  41.             this.description=description;
  42.         }
  43.     }
  44.  
  45.     private List<Category> categoryList = null;
  46.  
  47.     @Override
  48.     public void init() throws ServletException {
  49.         super.init();
  50.         this.categoryList = new ArrayList<>();
  51.         this.categoryList.add(new Category("Software", "Software Category"));
  52.         this.categoryList.add(new Category("Books", "Books Category"));
  53.     }
  54.  
  55.     @Override
  56.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  57.  
  58.         String ipAddress = req.getRemoteAddr();
  59.         String clientAgent = req.getHeader("User-Agent");
  60.  
  61.         PrintWriter writer = resp.getWriter();
  62.         writer.println("<html>");
  63.         writer.println("<head>");
  64.         writer.println("<body>");
  65.         writer.println("<h3>Information about the user</h3>");
  66.         writer.format("IP Address is %s", ipAddress);
  67.         writer.println("</br>");
  68.         writer.format("Client Agent is %s", clientAgent);
  69.         writer.println("<h3>Category List</h3>");
  70.         writer.println("<ul>");
  71.         this.categoryList.stream().forEach(r -> writer.format("<li>%s (%s)</li>", r.getName(),r.getDescription()));
  72.         writer.println("</ul>");
  73.  
  74.         writer.println("<h3>Add Category</h3>");
  75.         writer.println("<form method='POST' action='/servlet/category'>");
  76.         writer.println("<label for='name'>Name:</label>");
  77.         writer.println("<input id='name' type='text' name='name'>");
  78.  
  79.         writer.println("<label for='desc'>Description:</label>");
  80.         writer.println("<input id='desc' type='text' name='desc'>");
  81.  
  82.         writer.println("<input type='submit' value='Submit'/>");
  83.         writer.println("</form>");
  84.  
  85.         writer.println("</body>");
  86.         writer.println("</head>");
  87.         writer.println("</html>");
  88.     }
  89.  
  90.     @Override
  91.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  92.         String categoryName = req.getParameter("name");
  93.         String categoryDescription=req.getParameter("desc");
  94.         addCategory(categoryName,categoryDescription);
  95.         resp.sendRedirect("/servlet/category");
  96.     }
  97.  
  98.     public void addCategory(String name,String description) {
  99.         if (name != null && !name.isEmpty()) {
  100.             this.categoryList.add(new Category(name,description));
  101.         }
  102.     }
  103. }
  104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement