-1

I receive the error "HTTP Status 404 - /Servlet/NotaControllerServlet

type: Status report message: /Servlet/NotaControllerServlet description: The requested resource is not available"

when I try to run my webApp. Here is my code:

1. NoteDAO

package DAO;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import java.util.*;

import Entities.*;

public class NoteDAO {
    private static List<Nota> result;
    static Configuration configuration=new Configuration().configure();
    static SessionFactory sessionFactory=configuration.buildSessionFactory();
    static Session session=sessionFactory.openSession();
    static Transaction tx=session.beginTransaction();
public void addNota(int nota, int id_elev, int id_materie) {
        try {

            tx=session.beginTransaction();
            Elev elev = new Elev();
            elev.setId_elev(id_elev);
            Materie mat = new Materie();
            mat.setId_materie(id_materie);

            Nota newNota = new Nota();
            newNota.setNota(nota);
            newNota.setElev(elev);
            newNota.setMaterie(mat);
            session.save(newNota);
            tx.commit();

        } catch (HibernateException ex) {
            ex.printStackTrace();
        }

    }
}

2. Servlet

package Servlet;

import java.io.IOException;
import java.util.List;

import DAO.*;
import Entities.*;

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


public class NotaControllerServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected Elev getElev(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        Elev elv = null;
        String elev = request.getParameter("nume_elev");
        List<Elev> listElevi = EleviDAO.getEleviByName(elev);
        for (Elev el : listElevi) {
            elv = el;
        }
        return elv;
    }

    protected Materie getMaterie(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        Materie mat = null;
        String materie = request.getParameter("materie");
        List<Materie> listMaterie = MaterieDAO.getMaterieByName(materie);
        for (Materie mate : listMaterie) {
            mat = mate;
        }
        return mat;
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        int id_elev = getElev(request, response).getId_elev();
        int id_materie = getMaterie(request, response).getId_materie();
        int nota = Integer.parseInt(request.getParameter("nota"));

            HttpSession session=request.getSession(true);
        try {
            NoteDAO notaDAO = new NoteDAO();
            notaDAO.addNota(nota, id_elev, id_materie);
            response.sendRedirect("AddNota.jsp");
        }

        catch (Exception e) {
            e.printStackTrace();
        }

    }
}

3. JSP

"http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.util., Entities., DAO., Servlet.;"%>

Adauga nota

$(function() { var spinner = $("#spinner").spinner(); });

  <h1>Adauga nota</h1>

  <%          List<Elev> list = EleviDAO.getElevi();          List<Materie> mat =

MaterieDAO.getMaterie(); %>

  <table cellpadding="3">             <tr>
          <td>Nume_elev</td>
          <td><select name="nume_elev">

                  <%
                      for (Elev el : list) {
                  %>
                  <Option value="<%=el.getNume_elev()%>"><%=el.getNume_elev()%></Option>
                  <%
                      }
                  %>
          </select></td>          </tr>

      <tr>
          <td>Nume_materie</td>
          <td><select name="materie">
                  <option value="Select materie">Select materie</option>
                  <%
                      for (Materie ma : mat) {
                  %>

                  <Option value="<%=ma.getDenumire_materie()%>"><%=ma.getDenumire_materie()%></Option>
                  <%
                      }
                  %>
          </select></td>          </tr>

      <tr>
          <td>Nota:</td>
          <td><input id="spinner" name="nota"></td>           </tr>

  </table>

  <p />       <input type="submit" value="Adauga nota" /> <input

type="reset" value="Reseteaza formular" />

4. WEB.xml

> <?xml version="1.0" encoding="UTF-8"?> <web-app
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>   xmlns="http://java.sun.com/xml/ns/javaee"
>   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"    version="2.5">
> 
>   <servlet>       
>       <display-name>Note</display-name>
>       <servlet-name>Note</servlet-name>
>       <servlet-class>Servlet.NotaControllerServlet</servlet-class>
>   </servlet>      
>   <servlet-mapping>   
>       <servlet-name>Note</servlet-name>
>       <url-pattern>/AddNota</url-pattern>     
>   </servlet-mapping>

Thank you for your help!

userBV
  • 1
  • 2

1 Answers1

0

you getting HTTP Status 404 - /Servlet/NotaControllerServlet because in your web.xml your servlet mapping is

<servlet-mapping>   
      <servlet-name>Note</servlet-name>
      <url-pattern>/AddNota/</url-pattern>     
</servlet-mapping>

so you should use AddNote and not the folder directory of the servlet.

then in your jsp form you can use it as action=AddNote/NotaControllerServlet

Ker p pag
  • 1,568
  • 12
  • 25
  • Thanks for you reply but it doesn't work. I've changed in my JSP the path from action in "AddNota/NotaControllerServlet" and now I receive the same error, only resource name is changed: HTTP Status 404 - /WebCatalog/AddNota/NotaControllerServlet type Status report message /WebCatalog/AddNota/NotaControllerServlet description The requested resource is not available. Thank you! – userBV Sep 03 '14 at 06:26
  • in your servlet mapping change the url pattern to `/AddNota/NotaControllerServlet` – Ker p pag Sep 03 '14 at 06:30