This should have been sent to the list, not to me.  Forwarded for
[EMAIL PROTECTED]

The original question was:
  ... it looks like my JSP is calling the method in Java Bean two times....
?
  I cannot think of why this will happen.  Any help will be appreciated.

-----Original Message-----
From: Dasti, Hassan [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 28, 2001 7:21 AM
To: Jann VanOver
Subject: RE: call from JSP Page to Java Bean is repeating itself?
Sensitivity: Personal


Hello, here is the Java and JSP CODE.

personnelPhone.jsp has two forms one update and delete a phone and the
second one is for add new phone for the personnel.  This second phone form
(has the problem) it is submitted through savascript and goes to
personnelPhoneAddRoute.jsp which calls the java Bean to add the information
in database and displays an alert (javascript alert) and redirects the page
back to personnelPhone.jsp

By looking at the log for the system outs the personnelPhoneAddRoute is
somehow being executed twice AND IT IS NOT ALL THE TIME.  (IT IS RANDOM)

3 files are pasted in after this message,
DATABEAN.java (not included) is being called from cdisPersPhoneBean.java

Thanks for your offer to help

Regards
Hassan

---------------------------------------------
personnelPhone.jsp

<%@page import="java.sql.*, java.text.*, java.io.*, java.util.*,
cdis.beans.*, lib.beans.*" %>
<%
String dbrespass = "";
String dbresid   = "";
String dbresrole = "";
String isFalse = "false";
String errmesg = new String();

HttpSession vSession = request.getSession(false);

try
{
  if(!(vSession.isNew()))
  {
     dbresid = (String)vSession.getValue("sesUserId");
     dbrespass = (String)vSession.getValue("sesPasswd");
     dbresrole = (String)vSession.getValue("sesRole");

     if( dbresid.equals(isFalse))
        { response.sendRedirect("errorInt.jsp?Res=NS");}
  }
  else { response.sendRedirect("errorInt.jsp?Res=NS"); }
}
catch(Exception e)
{
   System.out.println("searchPersonal.jsp Exception");
   out.println(e);
}
System.out.println("in personnelPhone.jsp page");

personnelPhoneBean sqlBean = new personnelPhoneBean();

int empid = Integer.parseInt(request.getParameter("empNumber"));
String pURL             = "./personnelDetails.jsp?empNumber=" + empid;
int    intPhnID = 0;
String pFirst  = (String)vSession.getValue("sesPersFirst");
String pMiddle = (String)vSession.getValue("sesPersMiddle");
String pLast   = (String)vSession.getValue("sesPersLast");
String ID               = "";
String sAddPhoneType = "";
String phnType  = "";
String sPhoneType = "";
String areaCode         = "";
String phoneNum         = "";
String ext                      = "";
String pin                      = "";

Vector vrs = new Vector();

%>

<html>
<head>
<title> Update Personnel Phone </title>

<script language="JavaScript">
//**********************************
function updatePhoneLine(form) {
        var selectedPhoneType = '';

        for (a=0; a < form.frmPhoneType.options.length; a++) {
           if(form.frmPhoneType.options[a].selected){
              selectedPhoneType  = "" + form.frmPhoneType.options[a].value;
           }
        }
        form.hPhoneType.value = selectedPhoneType;
        form.action = "./personnelPhoneUpdateRoute.jsp";
        form.submit();
        return true;
}
//********************************
function removePhoneLine(form) {
        var selectedPhoneType = '';

        for (a=0; a < form.frmPhoneType.options.length; a++) {
           if(form.frmPhoneType.options[a].selected){
              selectedPhoneType  = "" + form.frmPhoneType.options[a].value;
           }
        }
        form.hPhoneType.value = selectedPhoneType;
        form.action = "./personnelPhoneRemoveRoute.jsp";
        form.submit();
        return true;
}

//********************************
function addPhoneLine(form) {
        var selectedPhoneType = '';

        for (a=0; a < form.frmPhoneType.options.length; a++) {
           if(form.frmPhoneType.options[a].selected){
              selectedPhoneType  = "" + form.frmPhoneType.options[a].value;
           }
        }
        form.haPhoneType.value = selectedPhoneType;
        form.action = "./personnelPhoneAddRoute.jsp";
        form.submit();
        return true;
}
//********************************
</script>

</head>

<body bgcolor="#FFFFFF" text="#000000">

<% if(dbresrole.equals("admin")) { %>
        <%@ include file="./menuBarAdmin.html" %>
<% } else { %>
        <%@ include file="./menuBarUser.html" %>
<% } %>

<CENTER>
<IMG SRC="images/updatepersonnelphone.jpg"></CENTER><BR>
<center>
<b>Name: </b><%=pFirst%>&nbsp;<%=pMiddle%>&nbsp;<%=pLast%>&nbsp;<br> <br>
<table width="70%" align="center">
        <tr align=left bgcolor="#D0E1F4">
                <td><B>&nbsp;Phone Type</B></td>
                <td><B>&nbsp;Phone Number</B></td>
                <td><B>&nbsp;Ext</B></td>
                <td><B>&nbsp;Pin</B></td>
                <td><B>&nbsp;Update</B></td>
                <td><B>&nbsp;Delete</B></td>
        </tr>
        <%
        try
        {
           vrs = sqlBean.getPersonnelPhone(empid);
           Enumeration phRs = vrs.elements();

           while(phRs.hasMoreElements())
           {

                        intPhnID =
Integer.parseInt(phRs.nextElement().toString());
                        phnType  = phRs.nextElement().toString();
                        areaCode = phRs.nextElement().toString();
                        phoneNum = phRs.nextElement().toString();
                        ext      = phRs.nextElement().toString();
                        pin      = phRs.nextElement().toString();

        %>
            <tr bgcolor="#eeeeef">
            <form name="frmUpdatePhone" method="POST">
             <td><DIV ALIGN="left">&nbsp;<SELECT NAME="frmPhoneType">
             <%
             try
             {
                                vrs = sqlBean.getValidPhoneType();
                                for(int i = 0; i < vrs.size(); i=i+1)
                                {
                                        sPhoneType = vrs.get(i).toString();
                                        if(sPhoneType.equals(phnType)) { %>
                                        <option value="<%= sPhoneType %>"
SELECTED> <%=sPhoneType%> </option>
                                        <% } else { %>
                                        <option value="<%= sPhoneType %>">
<%=sPhoneType%> </option>
                                        <% }
                                }// for loop

                  }// try
                        catch(OAException ex ){
                                errmesg = "Error in getValidPhoneType() " +
ex.getMessage();
                                vSession.putValue("errmsg", errmesg);
                                System.out.println("errmsg: "+ errmesg);
                                response.sendRedirect("errorInt.jsp");
                        }
                        catch (Exception e) {
                                errmesg = "Error in getValidPhoneType Result
" + e.getMessage();
                                vSession.putValue("errmsg", errmesg);
                                System.out.println("errmsg: "+ errmesg);
                                response.sendRedirect("errorInt.jsp");
                        } %>

                          </SELECT></TD>
                        <td><input size="4" maxlength="3" type="text"
name="txtAreaCode" value="<%= areaCode %>">
                        <input size="9" maxlength="8" type="text"
name="txtPhoneNum" value="<%= phoneNum %>"></td>
                        <td><input size="5" maxlength="4" type="text"
name="txtExt" value="<%= ext %>"></td>
                        <td><input size="10" maxlength="9" type="text"
name="txtPin" value="<%= pin %>"></td>

                        <td><input type="Submit" name="Submit" value="Update
Phone"
                                 onClick="return(updatePhoneLine(this.form))
"></td>
                        <td><input type="Submit" name="Delete" value="Delete
Phone"
                                 onClick="return(removePhoneLine(this.form))
"></td>


                        <input type="HIDDEN" name="hPhoneType" value="">
                        <input type="HIDDEN" name="empNumber" value="<%=
empid %>">
                        <input type="HIDDEN" name="phnNumber" value="<%=
intPhnID %>">

                        </form>
                </tr>
                <%
                  }
        }
        catch(OAException ex ){
                errmesg = "Error in getPersonnelPHone() " + ex.getMessage();
                vSession.putValue("errmsg", errmesg);
                System.out.println("errmsg: "+ errmesg);
                response.sendRedirect("errorInt.jsp");
        }
        catch (Exception e) {
                errmesg = "Error in getPersonnelPhone Result " +
e.getMessage();
                vSession.putValue("errmsg", errmesg);
                System.out.println("errmsg: "+ errmesg);
                response.sendRedirect("errorInt.jsp");
        }
        %>
</table>
<hr width="50%">
<table width="60%" align="center">
        <tr align=left bgcolor="#D0E1F4">
                        <td><B>&nbsp;Phone Type</B></td>
                        <td><B>&nbsp;Phone Number</B></td>
                        <td><B>&nbsp;Ext</B></td>
                        <td><B>&nbsp;Pin</B></td>
                        <td><B>&nbsp;Add</B></td>
        </tr>
        <tr bgcolor="#eeeeef">
        <form name="frmAddPersonnelPhone" method="POST">
             <td><DIV ALIGN="left">&nbsp;<SELECT NAME="frmPhoneType">
             <%
             try
             {
                                vrs = sqlBean.getValidPhoneType();
                                for(int i = 0; i < vrs.size(); i=i+1)
                                {
                                        sAddPhoneType =
vrs.get(i).toString();
                                                %> <option value="<%=
sAddPhoneType %>"> <%=sAddPhoneType%> </option> <%
                                }

                  }
                        catch(OAException ex ){
                                errmesg = "Error in getValidPhoneType() " +
ex.getMessage();
                                vSession.putValue("errmsg", errmesg);
                                System.out.println("errmsg: "+ errmesg);
                                response.sendRedirect("errorInt.jsp");
                        }
                        catch (Exception e) {
                                errmesg = "Error in getValidPhoneType Result
" + e.getMessage();
                                vSession.putValue("errmsg", errmesg);
                                System.out.println("errmsg: "+ errmesg);
                                response.sendRedirect("errorInt.jsp");
                        } %>

                          </SELECT></TD>
                        <td><input size="4" maxlength="3" type="text"
name="txtaAreaCode" value="">
                        <input size="9" maxlength="8" type="text"
name="txtaPhoneNum" value=""></td>
                        <td><input size="5" maxlength="4" type="text"
name="txtaExt" value=""></td>
                        <td><input size="10" maxlength="11" type="text"
name="txtaPin" value=""></td>

                        <td><input type="Submit" name="Submit" value="Add
Phone"
                                 onClick="return(addPhoneLine(this.form))
"></td>

                        <input type="HIDDEN" name="haPhoneType" value="">
                        <input type="HIDDEN" name="empaNumber" value="<%=
empid %>">
                        <input type="HIDDEN" name="phnaNumber" value="<%=
intPhnID %>">
                        </form>
                </tr>
</table>
<BR><BR>
<CENTER>
<table align="center" width="50%" border="0">
        <form Name="frmBackToDetails" method="post" action= <%= pURL %> >
                <tr align="center"><td>
                        <input type="Submit" name="Button" value="Back to
Personnel Details Page">
                </td></tr>
        </form>
</table>
<CENTER>
</body>
</html>
----------------------------------------------
personnelPhoneAddRoute.jsp

<%@page import="java.sql.*, java.text.*, java.io.*, java.util.*,
cdis.beans.*, lib.beans.*" %>
<%
        String dbrespass = "";
        String dbresid   = "";
        String dbresrole = "";
        String isFalse = "false";

        HttpSession vSession = request.getSession(false);

        try {
                 if(!(vSession.isNew())) {
                        dbresid = (String)vSession.getValue("sesUserId");
                        dbrespass = (String)vSession.getValue("sesPasswd");
                        dbresrole = (String)vSession.getValue("sesRole");

                        if( dbresid.equals(isFalse))
                        { response.sendRedirect("errorInt.jsp?Res=NS");}
                 }
                 else { response.sendRedirect("errorInt.jsp?Res=NS"); }
        }
        catch(Exception e)
        {
                System.out.println("searchPersonal.jsp Exception");
                out.println(e);
        }
        System.out.println("in personnel add phone route page");


        String  errmesg                 = new String();
        int             intPhnID                =
Integer.parseInt(request.getParameter("phnaNumber"));
        int             empid                   =
Integer.parseInt(request.getParameter("empaNumber"));
        String  sPhoneType      = request.getParameter("haPhoneType");
        String  sAreaCode       = request.getParameter("txtaAreaCode");
        String  sPhoneNum       = request.getParameter("txtaPhoneNum");
        String  sExt                    = request.getParameter("txtaExt");
        String  sPin                    = request.getParameter("txtaPin");

        cdisPersPhoneBean sqlBean = new cdisPersPhoneBean();
        try
        {
                System.out.println("in JSP ------- before calling add
function");
                sqlBean.addPersonnelPhone(empid, sPhoneType, sAreaCode,
sPhoneNum, sExt, sPin);
                System.out.println("in JSP ------- after calling add
function");
        }
        catch(OAException e) {
                errmesg += " Error in addPersonnelPhone.jsp " +
e.getMessage();
                vSession.putValue("errmsg", errmesg);
                System.out.println("errmsg: "+ errmesg);
                response.sendRedirect("errorInt.jsp");
        }
        catch(Exception e) {
                errmesg += " \n Error in addPersonnelPhone.jsp " +
e.getMessage();
                vSession.putValue("errmsg", errmesg);
                System.out.println("errmsg: "+ errmesg);
                response.sendRedirect("errorInt.jsp");
        }

        %>
        <html>
          <head>
                <script language="JavaScript">
                        function runThisMethod()
                        {
                                alert("Phone Number has been added
successfuly");
                                self.location=
"./personnelPhone.jsp?empNumber=" + <%= empid %>;
                        }
                </script>
          </head>
                <body onload="runThisMethod()"></body>
        </html>
---------------------------------------------
cdisPersPhoneBean.java

package cdis.beans;

import java.util.*;
import java.io.*;
import java.sql.*;
import java.lang.reflect.*;

import lib.beans.*;
import lib.util.*;

/**
 * Creates a DBbean or Database Bean Object. It creates a Connection
 * to the specified database (identified by the DSN) and executes SQL
statements.
 * <p>
 * Can be used in JSP pages or Java Applications.
 * <p>
 * Uses the <code>connect</code> method in DataBean.java "Bean" to get a
Connection.
 * This method throws <code>OAException</code> in case of any Exception<p>
 *
 * @author      Hassan Dasti (Getronics)
*/

public class cdisPersPhoneBean implements Serializable
{
        DataBean DB = new DataBean();
        Logger plLogger = new Logger("CDIS");

        public  cdisPersPhoneBean() {   }

        //*************************************************************
        public Vector getPersonnelPhone(int id) throws OAException
        {
                Vector vec = new Vector();
                String getPersonnelPhoneQuery  = "SELECT personnel_phone_id,
phone_type, "
                                                + "area_code, phone_number,
extension, pin "
                                                + "FROM
personnel_phone_number Where employee_id = " + id ;

                try     {
                        vec = DB.DBSelect(getPersonnelPhoneQuery);
                        plLogger.log("cdisPersPhoneBean.java", "INFO",
getPersonnelPhoneQuery);
                }
                catch(Exception e) {
                        e.printStackTrace();
                        plLogger.log(e, "cdisPersPhoneBean.java", "ERROR",
"In getPersonnelPhone() ");
                        throw new OAException(e.toString());
                }
                return vec;
   }

        //*************************************************************
        public Vector getValidPhoneType() throws OAException
        {
                Vector vec = new Vector();

                String getValidPhoneTypeQuery  = "SELECT phone_type FROM
valid_phone_type "
                                                        + "Where status = "
+ "'" + "VALID" + "'";
                try{
                        vec = DB.DBSelect(getValidPhoneTypeQuery);
                        plLogger.log("cdisPersPhoneBean.java", "INFO",
getValidPhoneTypeQuery);
                }
                catch(Exception e){
                        e.printStackTrace();
                        plLogger.log(e, "cdisPersPhoneBean.java", "ERROR",
"In getValidPhoneType() ");
                        throw new OAException(e.toString());
                }
                return vec;
   }


//**************************************************************************
********
        public void updatePersonnelPhone(int id, String type, String
areaCode,
                        String number, String ext, String pin) throws
OAException
        {
                String updatePersonnelPhoneQuery  = "UPDATE
personnel_phone_number SET PHONE_TYPE = '" + type
                                                 + "' , AREA_CODE = '" +
areaCode
                                                 + "' , PHONE_NUMBER = '" +
number
                                                 + "' , EXTENSION = '" + ext
                                                 + "' , PIN = '" + pin
                                                 + "'   Where
personnel_phone_id = " + id ;
                try{
                        DB.DBUpdate(updatePersonnelPhoneQuery);
                        plLogger.log("cdisPersPhoneBean.java", "INFO",
updatePersonnelPhoneQuery);
                }
                catch(Exception e){

                        e.printStackTrace();
                        plLogger.log(e, "cdisPersPhoneBean.java", "ERROR",
"In updatePersonnelPhone() ");
                        throw new OAException(e.toString());
                }
   }


//**************************************************************************
********
        public void addPersonnelPhone(int id, String type, String areaCode,
                        String number, String ext, String pin) throws
OAException
        {
                //int phoneId = getCurrentPhoneID();
                //phoneId++;

                System.out.println("1. in cdisPersPhoneBean.java --- in
addPersonnelPhone \n"
                                                        + "---- before
calling add function");
                String addPersonnelPhoneQuery  = "Insert into
personnel_phone_number values (" + id
                                                 + " , '" + type
                                                 + "', '" + areaCode
                                                 + "', '" + number
                                                 + "', '" + ext
                                                 + "', '" + pin
                                                 + "',
personnel_phone_id.NextVal)" ;
                try{
                        System.out.println("2. in cdisPersPhoneBean.java ---
in addPersonnelPhone \n"
                                                        + "----in TRY ---
before calling add function");
                        DB.DBInsert(addPersonnelPhoneQuery);
                        System.out.println("3. in cdisPersPhoneBean.java ---
in addPersonnelPhone \n"
                                                        + "---- after
calling add function");
                        plLogger.log("cdisPersPhoneBean.java", "INFO",
addPersonnelPhoneQuery);
                        System.out.println("in cdisPersPhoneBean.java --- in
addPersonnelPhone \n"
                                                        + "---- after
logging in the information");
                }
                catch(Exception e){
                        System.out.println("in cdisPersPhoneBean.java --- in
addPersonnelPhone \n"
                                                        + "----in CATCH ---
before calling add function");
                        e.printStackTrace();
                        plLogger.log(e, "cdisPersPhoneBean.java", "ERROR",
"In addPersonnelPhone() ");
                        throw new OAException(e.toString());
                }
   }

   //************************************************************
        public int delPersonnelPhone(int empId, int phoneId) throws
OAException
        {
                int flag = 0;
                if(checkPhoneExist(empId, phoneId)) {
                        String delPersonnelPhoneQuery  = "DELETE from
personnel_phone_number "
                                                 + "WHERE employee_id = " +
empId
                                                 + " AND personnel_phone_id
= " + phoneId;

                        try{
                                DB.DBDelete(delPersonnelPhoneQuery);
                                plLogger.log("cdisPersPhoneBean.java",
"INFO", delPersonnelPhoneQuery);
                                flag = 1;
                        }
                        catch(Exception e){
                                e.printStackTrace();
                                plLogger.log(e, "cdisPersPhoneBean.java",
"ERROR", "In delPersonnelPhone() ");
                                throw new OAException(e.toString());
                        }
                }
                return(flag);
   }

        //*************************************************************
        public boolean checkPhoneExist(int empId, int phoneId) throws
OAException
        {
                boolean boolPhone = false;

                String strPhoneExistQuery ="Select personnel_phone_id from
personnel_phone_number "
                        + "Where personnel_phone_id = " + phoneId
                        + "AND Employee_id = " + empId;

                Vector vec = new Vector();
                int intResltSize = 0;

                try
                {
                        vec = DB.DBSelect(strPhoneExistQuery);
                        plLogger.log("cdisPersPhoneBean.java", "INFO",
strPhoneExistQuery );

                        intResltSize = vec.size();
                        if (intResltSize != 0)
                                boolPhone = true;

                }
                catch(Exception e)
                {
                        e.printStackTrace();
                        plLogger.log(e, "cdisPersPhoneBean.java", "ERROR",
"Error in strPhoneExist() ");
                        throw new OAException(e.toString());
                }

                return boolPhone;
        }

   //************************************************************
        public int getCurrentPhoneID() throws OAException
        {
                Vector vec = new Vector();
                int phoneId = 0;

                String getCurrentPhoneID  = "select
PERSONNEL_PHONE_ID.currval from dual";

                try{
                        vec = DB.DBSelect(getCurrentPhoneID);

                        for(int i = 0; i < vec.size(); i=i+1)
                        {
                                phoneId =
Integer.parseInt(vec.get(i).toString());
                        }
                        plLogger.log("cdisPersPhoneBean.java", "INFO",
getCurrentPhoneID);
                }
                catch(Exception e){
                        e.printStackTrace();
                        plLogger.log(e, "cdisPersPhoneBean.java", "ERROR",
"In delPersonnelPhone() ");
                        throw new OAException(e.toString());
                }
                return(phoneId);
        }
}


-----Original Message-----
From: Jann VanOver [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 27, 2001 8:09 PM
To: [EMAIL PROTECTED]@inetgw
Subject: Re: call from JSP Page to Java Bean is repeating itself?
Sensitivity: Personal


Send us the Java code for the bean, and the JSP code.

-----Original Message-----
From: Dasti, Hassan [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 27, 2001 11:45 AM
To: [EMAIL PROTECTED]
Subject: call from JSP Page to Java Bean is repeating itself?
Sensitivity: Personal


Hi I have a JSP Page where I am trying to add a phone number for an
employee.  I am taking care of my SQL in a Java Bean.  From a JSP page when
I submit my html form (to add new phone number)  it adds two phone numbers.
To understand the problem better, I added system outs in my JSP and in my
JavaBean files.  And it looks like my JSP is calling the method in Java Bean
two times.... ?
I cannot think of why this will happen.  Any help will be appreciated.



Details of the issue:
addPhone.jsp has an html form for adding information and button to submit
the form using http post method the information goes to addPhoneRoute.jsp
after doing some checking this jsp page calls the Bean to run the sql
statement.  after a successful add the addPhoneRoute page displays a
javaScript alert and sends the user back to previous page.

After adding the system outs, It looks like the whole addPhoneRoute page is
being executed twice.

Regards
Hassan

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

Reply via email to