Jsp

mammouti Messages postés 9 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 3 juin 2011 - 31 mai 2011 à 01:14
mammouti Messages postés 9 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 3 juin 2011 - 3 juin 2011 à 01:18
Bonsoir,
mon projet consiste à créer un compte utilisateur
donc un employé doit remplir un formulaire puis ce formulaire doit être envoyer ua un administrateur pour qu'il soit valider ou non. voici mon code
[code=java]<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ include file="Connections/test.jsp" %>
<%
// *** Edit Operations: declare variables

// set the form action variable
String MM_editAction = request.getRequestURI();
if (request.getQueryString() != null && request.getQueryString().length() > 0) {
String queryString = request.getQueryString();
String tempStr = "";
for (int i=0; i < queryString.length(); i++) {
if (queryString.charAt(i) '<') tempStr tempStr + "<";
else if (queryString.charAt(i) '>') tempStr tempStr + ">";
else if (queryString.charAt(i) '"') tempStr tempStr + """;
else tempStr = tempStr + queryString.charAt(i);
}
MM_editAction += "?" + tempStr;
}

// connection information
String MM_editDriver null, MM_editConnection null, MM_editUserName = null, MM_editPassword = null;

// redirect information
String MM_editRedirectUrl = null;

// query string to execute
StringBuffer MM_editQuery = null;

// boolean to abort record edit
boolean MM_abortEdit = false;

// table information
String MM_editTable null, MM_editColumn null, MM_recordId = null;

// form field information
String[] MM_fields = null, MM_columns = null;
%>
<%
// *** Insert Record: set variables

if (request.getParameter("MM_insert") != null && request.getParameter("MM_insert").toString().equals("form2")) {

MM_editDriver = MM_test_DRIVER;
MM_editConnection = MM_test_STRING;
MM_editUserName = MM_test_USERNAME;
MM_editPassword = MM_test_PASSWORD;
MM_editTable = "user";
MM_editRedirectUrl = "index.html";
String MM_fieldsStr = "cin|value|nom|value|prenom|value|categorie|value|mail|value|date|value|validation|value";
String MM_columnsStr = "cin|',none,''|nom|',none,''|prenom|',none,''|categorie|',none,''|mail|',none,''|date|',none,NULL|validation|',none,''";

// create the MM_fields and MM_columns arrays
java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_fieldsStr,"|");
MM_fields = new String[tokens.countTokens()];
for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();

tokens = new java.util.StringTokenizer(MM_columnsStr,"|");
MM_columns = new String[tokens.countTokens()];
for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();

// set the form values
for (int i=0; i+1 < MM_fields.length; i+=2) {
MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
}

// append the query string to the redirect URL
if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
MM_editRedirectUrl +((MM_editRedirectUrl.indexOf('?') -1)?"?":"&") + request.getQueryString();
}
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute it

if (request.getParameter("MM_insert") != null) {

// create the insert sql statement
StringBuffer MM_tableValues new StringBuffer(), MM_dbValues new StringBuffer();
for (int i=0; i+1 < MM_fields.length; i+=2) {
String formVal = MM_fields[i+1];
String elem;
java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_columns[i+1],",");
String delim ((elem (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
String altVal ((elem (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
String emptyVal ((elem (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
if (formVal.length() == 0) {
formVal = emptyVal;
} else {
if (altVal.length() != 0) {
formVal = altVal;
} else if (delim.compareTo("'") == 0) { // escape quotes
StringBuffer escQuotes = new StringBuffer(formVal);
for (int j=0; j < escQuotes.length(); j++)
if (escQuotes.charAt(j) == '\'') escQuotes.insert(j++,'\'');
formVal = "'" + escQuotes + "'";
} else {
formVal = delim + formVal + delim;
}
}
MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
MM_dbValues.append((i!=0)?",":"").append(formVal);
}
MM_editQuery = new StringBuffer("insert into " + MM_editTable);
MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
MM_editQuery.append(MM_dbValues.toString()).append(")");

if (!MM_abortEdit) {
// finish the sql and execute it
Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
MM_editStatement.executeUpdate();
MM_connection.close();

// redirect with URL parameters
if (MM_editRedirectUrl.length() != 0) {
response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
return;
}
}
}
%>
<html>
<head>
<script language='javascript' src='popcalendar.js'></script>
<SCRIPT LANGUAGE="javascript">
function valider(formulaire)
{
if(formulaire.cin.value==""||formulaire.nom.value==""||formulaire.prenom.value=="")
{
window.alert("Avertissement:Données Incomplétes ");
formulaire.reset();
}
else
{
window.open('index.html','_self');
}
}


</script>
<SCRIPT LANGUAGE="javascript">
function passer()
{
window.open('index.html','_self');
}
</script>
<title>Document sans titre</title>
.
.
.
.
.
...
~ Formulaire d'Inscription ~

</td>
</tr>
<tr>
<td height="133">



<form method="post" action="<%=MM_editAction%>" name="form2">
*Cin:,
,

----

*Nom:,
,

----

*Prenom:,
,

----

Catégorie : ,
<select name="categorie">
<option selected="selected">Administrateur</option>
<option>Administrateur de l'hopital</option>
<option>Employé de l'hopital</option>
</select>,

----

*Mail:,
,

----

Date:,

,

----

Validation AH:,

>>" onClick="valider(this.form)" />,

----

,
<label></label>

</form>

mon pb est que je n'arrive pas à insérer les données saisi à partir du formulaire dans ma base de données mysql sachant que j'ai mis dans ma classpath= D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\jsp-api.jar;D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\jasper-runtime.jar;D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\mysql-connector-java-3.1.11-bin.jar
CATALINA_HOME= D:\Program Files\Apache Software Foundation\Tomcat 5.5;D:\Program Files\Java\jdk1.6.0_25\lib
JAVA_HOME= D:\Program Files\Java\jdk1.6.0_25

mais je n'arrive pas à insérer les données dans la table user
et j'ai le code du servlet

package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import org.apache.jasper.runtime.*;
import java.sql.*;

public class user_jsp extends HttpJspBase {


private static java.util.Vector _jspx_includes;

static {
_jspx_includes = new java.util.Vector(1);
_jspx_includes.add("/Connections/test.jsp");
}

public java.util.List getIncludes() {
return _jspx_includes;
}

public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {

JspFactory _jspxFactory = null;
javax.servlet.jsp.PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;


try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html; charset=utf-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
"", true, 8192, true);
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;

out.write("\r\n");

// FileName="mysql_jdbc_conn.htm"
// Type="JDBC" ""
// DesigntimeType="JDBC"
// HTTP="false"
// Catalog=""
// Schema=""
String MM_test_DRIVER = "org.gjt.mm.mysql.Driver";
String MM_test_USERNAME = "root";
String MM_test_PASSWORD = "";
String MM_test_STRING = "jdbc:mysql://localhost/manel1";

out.write("\r\n");
out.write("\r\n");
sachant que j'ai mis le code du servlet sous un repertoire work sous WEB_INF
c téééééééééééééééééés urgen
plllzzz help meee
merci d'avance

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
31 mai 2011 à 08:51
Quel est ton problème, pourquoi postes tu ce code sur le site ?
0
mammouti Messages postés 9 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 3 juin 2011
31 mai 2011 à 11:47
mon problème est que lorsque je rempli le formulaire normalement les données saisi seront enregistré dans la base de données, mais rien ne se passe
les données ne sont pas enregistré dans ma table dans la Base.
j'ai pas compris comment corriger ce pb c'est pour cela j'ai mis le code de la page user.jsp , code de la servlet et les classpath pour m'indiquer ou es l'erreur
merci bcp d'avance.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
31 mai 2011 à 12:34
Je n'ai pas regardé le code mais ca doit surement être que tu ne lances pas de COMMIT après tes modifications de la base
0
mammouti Messages postés 9 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 3 juin 2011
3 juin 2011 à 01:18
Merci pour la réponse mais SVP précisez moi comment je dois lancer les COMMIT
sachant que j'ai l'erreur au niveau MM_editQuery!!!
j'ai pas compris ou es le pb?

StringBuffer MM_editQuery = null;
boolean MM_abortEdit = false;
String MM_editTable null, MM_editColumn null, MM_recordId = null;
String[] MM_fields = null, MM_columns = null;
c urgeeeeeeent plz :(
merci.
0
Rejoignez-nous