无法将数据添加到数据库

时间:2012-09-14 11:52:47

标签: model-view-controller jsp java-ee

我正在使用mvc 1开发一个简单的java Web应用程序。 应用程序添加以表格形式插入的数据。 我们有 1.Bean 2.Operator是一个将数据从jsp插入数据库的类 3.servlet 4.jsp

这是豆

package pk1;


import java.util.*;

public class MissionForm {

    String objet, dateDepart,dateRetour;
    long matricule, numVehicule,numMission ;
    public MissionForm(String objet, String dateDepart, String dateRetour,
            int matricule, int numVehicule,int numMission) {
        super();
        this.objet = objet;
        this.dateDepart = dateDepart;
        this.dateRetour = dateRetour;
        this.matricule = matricule;
        this.numVehicule = numVehicule;
        this.numMission=numMission;
    }
    public String getObjet() {
        return objet;
    }
    public void setObjet(String objet) {
        this.objet = objet;
    }
    public String getDateDepart() {
        return dateDepart;
    }
    public void setDateDepart(String dateDepart) {
        this.dateDepart = dateDepart;
    }
    public String getDateRetour() {
        return dateRetour;
    }
    public void setDateRetour(String dateRetour) {
        this.dateRetour = dateRetour;
    }
    public long getMatricule() {
        return matricule;
    }
    public void setMatricule(long matricule) {
        this.matricule = matricule;
    }
    public long getNumVehicule() {
        return numVehicule;
    }
    public void setNumVehicule(long numVehicule) {
        this.numVehicule = numVehicule;
    }
    public long getNumMission() {
        return numMission;
    }
    public void setNumMission(long numMission) {
        this.numMission = numMission;
    }

}

将来自jsp的类型化数据添加到数据库

的运算符
package pk1;


import java.sql.*;
import java.util.Iterator;
import java.util.Vector;


public class Operateur {

    public Operateur(){}

    //------------------ajouter les Missions------------------------

    public void addMission(String objet,String dateDepart,String dateRetour,long matricule,long numVehicule){
        Connection conn=Utilitaire.getConnection();
        String req="insert into mission (Objet,DateDepart,DateRetour,Matricule,NumVehicule) values(?,?,?,?,?)";
        try {
            PreparedStatement ps=conn.prepareStatement(req); // prepare une instruction ki é parametré ces parametres st representé par les ?
            ps.setString(1,objet);
            ps.setString(2,dateDepart);
            ps.setString(3,dateRetour);
            ps.setLong(4,matricule);
            ps.setLong(5,numVehicule);

            ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }   
    }

}

OperatorServlet.java

import pk1.*;



import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.*;
import javax.servlet.*;


import java.io.*;


public class OperateurServlet extends HttpServlet {


        public void doPost(HttpServletRequest request,
                HttpServletResponse response)throws ServletException,IOException{
    //Créer le bean qui va stocker les données de la requête
            MissionForm mf=new MissionForm(null, null, null, 0, 0, 0);

            //Faire appel au modèle pour ajouter une nouvelle mission
            Operateur op=new Operateur();
            if(request.getParameter("addMiss")!=null){
    // Socker les données de la requête dans le bean créé
                mf.setObjet(request.getParameter("objet"));
                mf.setDateDepart(request.getParameter("dateDepart"));
                mf.setDateRetour(request.getParameter("dateRetour"));
                mf.setMatricule(Long.parseLong(request.getParameter("matricule")));
                mf.setNumVehicule(Long.parseLong(request.getParameter("numVehicule")));
                //Sauvegarder l'objet dans la base de données
                op.addMission(mf.getObjet(),mf.getDateDepart(),mf.getDateRetour(),mf.getMatricule(),mf.getNumVehicule());

}

        /* avant de donner la main la page JSP pour afficher
         * enregitrer le bean dans la requête ou la session courante
         */
                    HttpSession session=request.getSession();
                    session.setAttribute("missForm",mf);
        //Faire une redirection vers la vue JSP pour afficher.
                    response.sendRedirect("interface.jsp");     
                }
            public void doGet(HttpServletRequest request,
                    HttpServletResponse response)throws ServletException,IOException{
                    doPost(request,response);
            }
        }

Jsp vue

<%@ page language="java" %>
<%@ page import="java.util.*" %>
<%@ page import="pk1.*" %>



<html>
<head>
<title>Ordres de missions</title>
</head>
<body bgcolor="#FFFFFF">

<form method='post' action='operateurservlet'>
 <table border='1' align='center'>
   <tr>
    <td>Année:<input type='text' name='motCle' value=''></td>
    <td><input type='submit' name='chercheCat' value='Chercher'></td>
   </tr>
 </table>
</form>
<form method='get' action='operateurServlet/operateur'>
  <table border='1' align='center'>
    <tr>
      <td>Numero de mission<td>Objet</td><td>Date de depart</td><td>Date de retour</td><td>Agent</td>


    </tr>
    <tr>
    <td></td>
     <td>   <input type='text' name='objet' size='40'></td> 
     <td><input type='text' name='dateDepart'></td>     
     <td><input type='text' name='dateRetour'></td>
     <td><FORM>
                                                                    <SELECT name="nom" size="1">
                                                                                <OPTION>1
                                                                                <OPTION>2
                                                                                <OPTION>3
                                                                                <OPTION>4
                                                                                 <OPTION>5
                                                                    </SELECT>
                                                               </FORM></td>


     <td><input type='submit' value='Ajouter'></td> 




    </tr>

  </table>
</form>

</body>
</html>

当我点击添加按钮时,没有发生。我知道jsp中有些东西不起作用,我不知道它是什么? 谢谢

1 个答案:

答案 0 :(得分:0)

分析你的代码我注意到一些不清楚的事情(至少对我而言)

  1. 您使用嵌套的FORM为什么?

  2. 您检查名为addMiss的请求变量的值,但是您没有在html中传递它,例如input type =“hidden”name =“addMiss”等等。所以变量总是为空

  3. 希望这能帮到你