0

My Servlet is DisplayBook.java

package com.book.display;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Servlet implementation class DisplayBook
 */
@WebServlet("/DisplayBook")
public class DisplayBook extends HttpServlet {
    int i;
    private static final long serialVersionUID = 1L;   
    /**
     * @see HttpServlet#HttpServlet()
     */
    public DisplayBook() {
        super();
        // TODO Auto-generated constructor stub
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        i=1;
        BufferedReader data=new BufferedReader(new FileReader("C:\\NNK\\Number2\\AddBooks.txt"));
        String val;
        PrintWriter out=response.getWriter();
        out.println("<table border=\"1\" cellspacing=0 cellpadding=5px font:align-center><center><tr><th>Book</th><th>Author</th><th>ISBN</th><th>Genre</th><th>Price</th></tr>");
        while((val=data.readLine())!=null)
        {
            if(i==1)
            {
                out.println("<tr><td>"+val+"</td>");
            }
            else if(i==0)
            {
                out.println("<td>"+val+"</td></tr>");
            }
            else
            {
                out.println("<td>"+val+"</td>");
            }
            i++;
            i%=5;
        }
        out.println("</center></table>");
        data.close();
    }
}

My web.xml file is

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Library</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>DisplayBook</servlet-name>
    <servlet-class>DisplayBook</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>DisplayBook</servlet-name>
    <url-pattern>/DisplayBook/*</url-pattern>
  </servlet-mapping>
</web-app>

This is the link for the file

<a href="/DisplayBook/">See the Books</a>

When I tried to click on the link I got 404 File not found. What am I doing wrong? Also what is the correct format for each of the elements (<servlet-name>,<servlet-class>,<url-pattern>). I can find it for pattern but I could not find it for name and class. This question is mainly for those starting on j2ee(like me). Also please explain the general format for the two elements.

halfer
  • 19,824
  • 17
  • 99
  • 186
Narayanasami N
  • 125
  • 1
  • 2
  • 10
  • remove slash `/` call `DisplayBook` and check URL pattern `/DisplayBook` – soorapadman Jul 20 '16 at 14:09
  • Servlet class should be fully qulified : com.book.display.DisplayBook Refer http://docs.oracle.com/cd/E13222_01/wls/docs92/webapp/configureservlet.html – Unknown Jul 20 '16 at 14:11
  • @soorapadman I tried what you said and i got this error `The servlets named [DisplayBook] and [com.book.display.DisplayBook] are both mapped to the url-pattern [/DisplayBook] which is not permitted` My XML now is ` DisplayBook com.book.display.DisplayBook DisplayBook /DisplayBook ` – Narayanasami N Jul 20 '16 at 14:45
  • http://tutorials.jenkov.com/java-servlets/web-xml.html OR page.76 from the book https://www.amazon.ca/Head-First-Servlets-JSP-Certified/dp/0596516681 – Sundararaj Govindasamy Jul 20 '16 at 15:45

0 Answers0