Passing Variables from JSP to a servlet

Presently I have a small Web application where by users enter data onto a jsp Page , this data then gets passed onto a servlet which then updates a sql database through a call to a sql stored procedure

While testing I determined that when there are multiple users, sometimes users records are getting crossed, some of my data, is getting written to someone elses record....

any thoughts on the cause......

[424 byte] By [STC_Devolpera] at [2007-9-23]
# 1
post the code
SoulTech2012a at 2007-7-11 > top of java,Enterprise & Remote Computing,Web Tier APIs...
# 2

[nobr]below is the code to the servlet

The jsp page is a typical jsp with text boxes etc,

package cpri;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

import java.sql.*;

public class viewfileinfoservlet extends HttpServlet {

private static final String CONTENT_TYPE = "text/html";

//Initialize global variables

public void init() throws ServletException {

}

//Process the HTTP Post request

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(CONTENT_TYPE);

PrintWriter out = response.getWriter();

Connection conn = null;

CallableStatement stmt = null;

String sErrorMessage = "";

String sStatus = "PS";

String sSin = "";

String sPSin = "";

String sBN = "";

String sPBN = "";

String sSurName = "";

String sFirstName = "";

String sLegalName = "";

String sTradeName = "";

String sAddress = "";

String sCity = "";

String sProv_Code = "";

String sRTSO = "";

String sPayment = "";

String sGSPayment = "";

String sCompliant = "";

String sTX11Issued = "";

String sFYEMM = "0";

String sFYEDD = "0";

String sGSTStatus = "";

String sNotes = "";

String sRecordID = "";

String sFYE = "";

String sRCode = "";

String sPostalCode = "";

String sRemoteUser = "";

int intRecordID = 0;

int intRemoteUser = 0;

int i = 0;

String sPayorPhone = "";

String sPayorName = "";

response.setHeader("Cache-Control", "no-cache");

response.setDateHeader("Expires", 0);

response.setBufferSize(10*1024);

sErrorMessage = "";

sRemoteUser = request.getRemoteUser();

sRTSO = "0";

if (sRemoteUser.indexOf("\\") != -1)

{

intRemoteUser = sRemoteUser.indexOf("\\") + 1;

sRemoteUser = sRemoteUser.substring(intRemoteUser);

}

sGSTStatus = "";

if ( request.getParameter("lstStatus") !=null)

{

sStatus = request.getParameter("lstStatus").trim();

if (sStatus.equals("PS"))

{

sErrorMessage = sErrorMessage + "Was unable to confirm File Status." + "\n";

}

}

else

{

sErrorMessage = sErrorMessage + "Was unable to confirm File Status." + "\n";

}

//

if ( request.getParameter("txtPayorName") !=null)

{

sPayorName = request.getParameter("txtPayorName").trim();

}

else

{

sPayorName = "";

}

if (request.getParameter("txtPayorPhone") !=null)

{

sPayorPhone = request.getParameter("txtPayorPhone").trim();

}

else

{

sPayorPhone = "";

}

if ( request.getParameter("txtSin") !=null)

{

sSin = request.getParameter("txtSin").trim();

}

else

{

sSin = "";

}

//

if ( request.getParameter("txtPSin") !=null)

{

sPSin = request.getParameter("txtPSin").trim();

}

else

{

sPSin = "";

}

//

if ( request.getParameter("txtPBN") !=null)

{

sBN = request.getParameter("txtPBN").trim();

}

else

{

sBN = "";

}

//

if ( request.getParameter("txtPPBN") !=null)

{

sPBN = request.getParameter("txtPPBN").trim();

}

else

{

sPBN = "";

}

if ( request.getParameter("txtSurname") !=null)

{

sSurName = request.getParameter("txtSurname").trim();

}

else

{

sSurName = "";

}

if ( request.getParameter("txtFName") !=null)

{

sFirstName = request.getParameter("txtFName").trim();

}

else

{

sFirstName = "";

}

if ( request.getParameter("txtLName") !=null)

{

sLegalName = request.getParameter("txtLName").trim();

}

else

{

sLegalName = "";

}

if ( request.getParameter("txtTName") !=null)

{

sTradeName = request.getParameter("txtTName").trim();

}

else

{

sTradeName = "";

}

if ( request.getParameter("txtAddress") !=null)

{

sAddress = request.getParameter("txtAddress").trim();

}

else

{

sAddress = "";

}

if ( request.getParameter("txtCity") !=null)

{

sCity = request.getParameter("txtCity").trim();

}

else

{

sCity = "";

}

if ( request.getParameter("txtProv_Code") !=null)

{

sProv_Code = request.getParameter("txtProv_Code").trim();

}

else

{

sProv_Code = "";

}

if ( request.getParameter("txtPostal") !=null)

{

sPostalCode = request.getParameter("txtPostal").trim();

}

else

{

sPostalCode = "";

}

if ( request.getParameter("lstRecCode") !=null)

{

sRCode = request.getParameter("lstRecCode").trim();

}

else

{

sRCode = "";

}

if ( request.getParameter("txtRTSO") !=null)

{

sRTSO = request.getParameter("txtRTSO").trim();

}

else

{

sRTSO = "";

}

if ( request.getParameter("txtsPayment") !=null)

{

sPayment = request.getParameter("txtsPayment").trim();

}

else

{

sPayment = "0";

}

if ( request.getParameter("txtGSPayment") !=null)

{

sGSPayment = request.getParameter("txtGSPayment").trim();

}

else

{

sGSPayment = "0";

}

if ( request.getParameter("lstCompliant") !=null)

{

sCompliant = request.getParameter("lstCompliant").trim();

}

if ( request.getParameter("lstTX11Issued") !=null)

{

sTX11Issued = request.getParameter("lstTX11Issued").trim();

}

sFYEMM = "";

if ( request.getParameter("txtMM") !=null)

{

sFYEMM = request.getParameter("txtMM").trim();

}

sFYEDD = "";

if ( request.getParameter("txtDD") !=null)

{

sFYEDD = request.getParameter("txtDD").trim();

}

if ( request.getParameter("lstGSTStatus") !=null)

{

sGSTStatus = request.getParameter("lstGSTStatus").trim();

}

if ( request.getParameter("Notes") !=null)

{

sNotes = request.getParameter("Notes").trim();

}

else

{

sNotes = "";

}

if ( request.getParameter("RecordID") !=null)

{

sRecordID = request.getParameter("RecordID").trim();

}

if (sFYEMM.equals("0") && sFYEDD != "0")

{

sErrorMessage = "Was unable to confirm FYE." + "\n";

}

if (sFYEDD.equals("0") && sFYEMM != "0")

{

sErrorMessage = "Was unable to confirm FYE." + "\n";

}

sFYE = "1999" + "-" + sFYEMM + "-" + sFYEDD;

if (sStatus.equals("PA")||sStatus.equals("A")||sStatus.equals("PCR")||sStatus.equals("PCU"))

{

// check for errors

try

{

i = Integer.parseInt(sRTSO);

}

catch (NumberFormatException ex)

{

sErrorMessage = sErrorMessage + "Recipient TSO must be a numeric field and is required field when file is being closed." + "\n";

}

if (sRCode.equals("0"))

{

sErrorMessage = sErrorMessage + "Recipient Code is a required field when file is being Closed." + "\n";

}

}

if (sErrorMessage.length()!=0)

{

//display error page

request.setAttribute("ERRORS", sErrorMessage);

request.getRequestDispatcher("ViewFileInfoError.jsp").forward(request,response);

out.flush();

return;

}

else

{

try

{

conn = CPRI_Connection.GetSQL_APPConnection();

String call = "{call usp_UpdateCPRIRecord(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}";

stmt = conn.prepareCall(call);

stmt.setString(1, sRecordID);

stmt.setString(2, sStatus);

stmt.setString(3, sSin);

stmt.setString(4, sPSin);

stmt.setString(5, sBN);

stmt.setString(6, sPBN);

stmt.setString(7, sSurName);

stmt.setString(8, sFirstName);

stmt.setString(9, sLegalName);

stmt.setString(10, sTradeName);

stmt.setString(11, sAddress);

stmt.setString(12, sCity);

stmt.setString(13, sProv_Code);

stmt.setString(14, sRTSO);

stmt.setString(15, sPayment);

stmt.setString(16, sGSPayment);

stmt.setString(17, sCompliant);

stmt.setString(18, sTX11Issued);

stmt.setString(19, sFYE);

stmt.setString(20, sGSTStatus);

stmt.setString(21, sRCode);

stmt.setString(22, sPostalCode);

stmt.setString(23, sNotes);

stmt.setString(24, sRemoteUser);

stmt.setString(25, sPayorName);

stmt.setString(26, sPayorPhone);

stmt.registerOutParameter(27, java.sql.Types.INTEGER);

stmt.execute();

if (stmt.getInt(27) != 0) {

intRecordID = stmt.getInt(27);

}

else {

intRecordID = 0;

}

sRecordID = String.valueOf(intRecordID);

stmt.close();

if (conn !=null){

try {

conn.close();

}catch (SQLException ex1){

//trow new Servlet exception

}

}

}

catch(SQLException ex){

throw new ServletException(ex);

}

}

//RequestDispatcher disp;

//disp = getServletContext().getRequestDispatcher("EventConfirmation.jsp");

request.setAttribute("Action",sRecordID);

request.getRequestDispatcher("ViewFileInfo.jsp").forward(request, response);

//out.println("sEventID:" + sEventID + "<br>");

//disp.forward(request, response);

}

//Clean up resources

public void destroy() {

}

}

[/nobr]

STC_Devolpera at 2007-7-11 > top of java,Enterprise & Remote Computing,Web Tier APIs...
# 3
I found a good article for you. Read this and you'll see what's going on: http://www.javaworld.com/javaworld/jw-07-2004/jw-0712-threadsafe.html
SoulTech2012a at 2007-7-11 > top of java,Enterprise & Remote Computing,Web Tier APIs...