|
       10.5.13 sterg.java
       Acest servlet este apelat pentru a se sterge produse dintr-o subcategorie. El permite utilizatorului cautarea in pagini a produselor pe care doreste sa le stearga, prin folosirea butoanelor "next" si "prev". Selectarea produselor care vor fi sterse se face prin checkbox-uri. Se poate anula selectia prin butonul "Anulare". Deasemenea utilizatorul poate reveni in pagina in care alege operatia dorita, generata de opert.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 sterg 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/opste");
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("<head>");
out.println("<title> Pagina realizata de servlet-ul sterg" + "</title>");
out.println("<meta http-equiv=\"Pragma\" content=\"no-cache\">");
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("</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 produsele care se vor sterge.<br>");
}
else{
iRowCount=0;
out.println("<br><br> Nu exista inregistrari<br><br>");
}
rs.close();stmt.close();
//conditia esentiala pentru stergere
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));
}
/**
String[] sprod=req.getParameterValues("sprod");
if(sprod!=null){
out.println("se sterg: <br>");
for(int i=0;i<sprod.length;i++){
out.println(" " + sprod[i] + "<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=\"reset\" value=Anulare>");
out.println("  <input type=\"submit\" name=sterg value=Stergere>");
out.println("</td></table>");
//afisarea inregistrarilor
out.println("<table cellspacing=\"5\" 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
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=checkbox name=sprod + value=" + rs.getString(1)
+ "." + rs.getString(8) + "." + rs.getString(9) + "></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=\"reset\" value=Anulare>  ");
out.println("<input type=\"submit\" name=sterg value=Stergere>");
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();
}
}
|
|