C.V.

 
 

       10.5.9 Servlet modif.java

       Daca operatorul a ales ca operatie modificarea unor produse dintr-o categorie atunci acest servlet va afisa catre utilizator o lista cu produsele existente in baza de date, pentru categoria solicitata. Deasemenea i se vor pune la dispozitie doua butoane, next si prev, pentru deplasarea in pagini daca sunt mai multe. Folosind butoanele radio utilizatorului i se permite sa aleaga la un moment dat un singur produs. Dupa selectia produsului dorit editarea modificari acestuia este delegata catre servlet-ul opmod.java.

import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.*;
import javax.servlet.http.HttpSession;
import java.util.*;

public class modif extends HttpServlet{  

private String baseDir;//directorul aplicatiei pentru imaginile produselor alimentare

public void init(ServletConfig conf)throws ServletException {
  super.init(conf);     
  baseDir = getServletConfig().getInitParameter("imagini");
}

public void doPost(HttpServletRequest req, HttpServletResponse res)
  throws ServletException, IOException {
  doGet(req,res);
}

public void doGet(HttpServletRequest req, HttpServletResponse res)
  throws ServletException, IOException {
  res.setContentType("text/html");
  
  HttpSession ses = req.getSession();
  /**
  *conexiunea a fost facuta de servlet-ul care a verificat 
  *identitatea utilizatorului
  **/
  Connection con=(Connection) ses.getAttribute("connexion");
  
  String url = res.encodeURL("/adi/servlet/opmod"); 
    
  PrintWriter out = res.getWriter();    
  try {   
    int iMovePage;       /**valoarea curenta a deplasarii, intr-o subcategorie**/  
     int iRowCount;		  
     String subcti=null, subctf=null; 
     Statement stmt; 
     ResultSet rs; 
	  
     out.println("<html>");
     out.println("<meta http-equiv=\"Pragma\" content=\"no-cache\">");
     out.println("<head>");
     out.println("<title> Pagina realizata de servlet-ul modif" + "</title>");
     out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
     out.println("<META content=\"text/html; charset=windows-1252\" http-equiv=Content-Type>");
     out.println("<LINK href=\"/adi/tli.css\" rel=STYLESHEET type=text/css>");	
     out.println("<META content=\"MSHTML 5.00.2614.3500\" name=GENERATOR>");
     out.println("<meta http-equiv=\"Pragma\" content=\"no-cache\">");
     out.println("</head>");
     out.println("<body>");
	
    //subcategoria	  
    subcti=(String)ses.getAttribute("subcat");
    subctf=req.getParameter("subcat"); 	
    if(subctf!=null){
       if(!subctf.equals(subcti)){
          iMovePage=1;
          ses.setAttribute("movePage",new Integer(iMovePage)); 
       }  
       subcti=subctf;
       ses.setAttribute("subcat",subcti);
    }		

   //denumirea categoriei si numarul de produse din ea
   stmt = con.createStatement();
   rs = stmt.executeQuery("select c.den,count(a.no) from alimente a,subcat c where c.c2=" +
   subcti + " and a.cat=" + subcti + " group by a.cat");
	
   if(rs.getString(2)!=null){
   iRowCount=Integer.parseInt(rs.getString(2));
   out.println("<br><br>  Subcategoria  \"" + rs.getString(1)+ 
   "\" are " + rs.getString(2) + " inregistrari <br><br>");
	  
   out.println("  Alegeti produsul care se modifica.<br>");
}
else{ 
  iRowCount=0;
  out.println("<br><br>  Nu exista inregistrari<br><br>");
}
rs.close();stmt.close();

if(iRowCount!=0){
  //deplasarea pe pagini: inainte sau inapoi
  Integer atrx = (Integer)ses.getAttribute("movePage");
  if(atrx!= null)
    iMovePage=atrx.intValue();
  else
    iMovePage=1;
		  	
  String sMovePageDirection = req.getParameter("next");
  if(sMovePageDirection!=null){
    if(sMovePageDirection.equals("next")){
      if(iMovePage<=(iRowCount-10))
        iMovePage = iMovePage+10;
    }
    else{
       if(iMovePage>10)
          iMovePage = iMovePage-10;
    }
    ses.setAttribute("movePage",new Integer(iMovePage));
 }
	  
 /**
   int  i=0;
   for(char c =0;c<255;c++){
   out.println("( " + i + " = " + c + " )"); 
   i++;
   if(i%10 == 8)
     out.println("<br>");
   }
     **/ 	 
	 
out.println("<form action=\"" + url + "\"method=\"post\">");
out.println("<table  cellspacing=\"5\" width=\"750\">"); 
out.println("<td width=600 align=\"left\">");
out.println("<input type=\"submit\" name=\"next\"value=\"next\">");
out.println("<input type=\"submit\" name=\"next\"value=\"prev\">");
out.println("</td>");
out.println("<td width=150 align=\"rigth\">");
out.println("<input type=\"submit\" name=subct value=\"Categorii\">");
out.println("</td>");
out.println("</table>");
	  
stmt = con.createStatement();
rs = stmt.executeQuery("select * from alimente where no>=" + iMovePage + " and no<(" +  
               iMovePage + " + 10) and cat=" + subcti + " order by no");
out.println("<table  cellspacing=\"5\" width=\"600\">"); 
out.println("<td width=75></td><td width=75></td><td width=75></td><td width=75></td>");
out.println("<td valign=middle align=left>");
out.println("  <input type=\"submit\" name=modif value=Modificare>");
out.println("</td></table>");
	  
 //afisarea inregistrarilor
 out.println("<table  cellspacing=\"9\" width=\"800\"><td>"); 
 while(rs.next()) {
    //imaginea asociata produsului
   String filepath=baseDir + "/" + "c" + subcti + "/" + rs.getString(1) + "." + rs.getString(9);
   filepath=filepath.replace('\\','/');
   File f = new File(filepath);
   filepath=filepath.substring(filepath.indexOf("adi")-1,filepath.length());
		
   out.println("<tr>");	  
   out.println("<td valign=middle>" + rs.getString(8) + "</td>");	  	  
    if(f.length()!=0)
      out.println("<td width=100 align= center valign=middle><img src=" + filepath + "></td>");
   else
      out.println("<td width=100 align= center valign=middle></td>");	  	    
		
   //produsul
   String param = rs.getString(1);
   char c = 198;
   for(int i=2;i<10;i++)
      param = param + c +  rs.getString(i); 
      out.println("<td width=450 bgcolor=\"defdea\" valign=middle>");
      out.println(rs.getString(2) + "<br>" + rs.getString(7));
      out.println("<br>Pret " + rs.getString(3) + " pe " + rs.getString(4));
      out.println("</td><td valign=middle></td>");
      out.println("<td valign=middle><input type=radio name=sprod + value=\"" + param + 
                  "\"></td><tr>");
   }
  out.println("</td></table>");
  out.println("<table  cellspacing=\"5\" width=\"600\">"); 
  out.println("<td width=75></td><td width=75></td><td width=75></td><td width=75></td>");
  out.println("<td valign=middle align=left>");
  out.println("  <input type=\"submit\" name=modif value=Modificare>");
  out.println("</td></table>");	
	  	  
  rs.close();stmt.close();
		  	
  out.println("<table  cellspacing=\"5\" width=\"750\">"); 
  out.println("<td width=600 align=\"left\">");
  out.println("<input type=\"submit\" name=\"next\"value=\"next\">");
  out.println("<input type=\"submit\" name=\"next\"value=\"prev\">");
  out.println("</td>");
  out.println("<td width=150 align=\"rigth\">");
  out.println("<input type=\"submit\" name=subct value=\"Categorii\">");
  out.println("</td>");
  out.println("</table>");	  
  out.println("</form>");
}	  	 	
out.println("</body></html>");
}
catch(SQLException e) {
   out.println("An SQL Exception was thrown.");
}
out.close();
}
}




 
 
C.V.
 
Hosted by www.Geocities.ws

1