2014-09-02 53 views
-1

存在我收到錯誤 「HTTP狀態404 -/Servlet的/ NotaControllerServletHTTP狀態404 - 請求的資源不可用。 =>小服務程序在web.xml

類型:狀態報告 消息:/ Servlet的/ NotaControllerServlet 描述:所請求的資源不可用」

當我嘗試運行我的webApp。這裏是我的代碼:

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」>

<%@頁面進口=「java.util中。 ,實體。,DAO。 , Servlet。; 「%>

Adauga NOTA

$(函數(){風險噴絲= $(」 #旋轉器「)旋塗器();});

<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 

類型= 「復位」 值= 「Reseteaza表現公式」/>

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> 

謝謝您的幫助!

+0

並請花時間來安排你的JSP代碼縮進。它不可讀 – 2014-09-02 08:18:45

回答

0

你,因爲在你的web.xml你的servlet映射越來越HTTP Status 404 - /Servlet/NotaControllerServlet

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

所以你應該使用AddNote,而不是在servlet的文件夾目錄。

然後在你的JSP形式,你可以使用它作爲action=AddNote/NotaControllerServlet

+0

感謝您的回覆,但它不起作用。我在JSP中更改了「AddNota/NotaControllerServlet」中的操作路徑,現在我收到相同的錯誤,只更改資源名稱: HTTP狀態404 -/WebCatalog/AddNota/NotaControllerServlet類型狀態報告消息/ WebCatalog/AddNota/NotaControllerServlet說明請求的資源不可用。 謝謝! – userBV 2014-09-03 06:26:12

+0

在您的servlet映射中將url模式更改爲'/ AddNota/NotaControllerServlet' – 2014-09-03 06:30:49

相關問題