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!