2014-09-02 59 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

相关问题