Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas con import javax.servlet.* e import javax.servlet.http.*

Estas en el tema de Problemas con import javax.servlet.* e import javax.servlet.http.* en el foro de Java en Foros del Web. Hola, estoy hace 3 días con esto y no encuentro solución. Estoy haciendo un programa que me genera codigos de barra y los muestra en ...
  #1 (permalink)  
Antiguo 30/01/2009, 09:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Problemas con import javax.servlet.* e import javax.servlet.http.*

Hola, estoy hace 3 días con esto y no encuentro solución. Estoy haciendo un programa que me genera codigos de barra y los muestra en formato pdf. Tengo problemas al importar lo mencionado en el título. ¿ Falta alguna librería ?, de ser asi ¿ que de debo hacer con ella ?. Gracias.

Acá dejo el codigo.

package servlets;

import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Image;
import com.lowagie.text.Phrase;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.Barcode128;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
import java.awt.Color;
import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class barcode extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

/* Revisamos que recibimos los parametros que necesitamos */
if(request.getParameter("location").length()<=0){
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Required parameter location is missing.");
out.close();
return;
}
if(request.getParameter("number").length()<=0 || Integer.parseInt(request.getParameter("number")) <= 0){
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Required parameter number is missing.");
out.close();
return;
}

int number = Integer.parseInt(request.getParameter("number")); // recibimos los parametros que necesitamos.
String location = request.getParameter("location");
String prior = "0";
String value = new String(""+System.currentTimeMillis());//tomamos el tiempo porque es un numero que no se repite.

File temp = File .createTempFile( location+value, ".tmp", new File( "C:\\temp\\" ) ); //creamos un archivo temporal
temp.deleteOnExit();// Arreglamos para que se borren al salir.

Document document = new Document();
//la escritura del pdf la haremos dentro de try para capturar errores.

try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(temp));
document.open();
PdfContentByte cb = writer.getDirectContent();
/* Empezamos a usar itext para crear una tabla. */
PdfPTable page = new PdfPTable(3); //tres columnas
page.getDefaultCell().setPadding(0f); //sin espacios
page.getDefaultCell().setBorder(Rectangle.NO_BORDE R);//sin bordos
page.getDefaultCell().setHorizontalAlignment(Eleme nt.ALIGN_LEFT);//alineado de izquierda a derecha
page.setWidthPercentage(110f);
/* Ciclo para generar cada codigo de barras, sin repetir el contenido*/
int a = 0;
for(int i = 0; i<number;i++){

PdfPTable cell = new PdfPTable(1);//hacemos una tabla para el codigo que haremos
cell.getDefaultCell().setBorder(Rectangle.NO_BORDE R);//sin borde
cell.getDefaultCell().setPadding(40f); //medidas solicitadas

Barcode128 shipBarCode = new Barcode128();//usamos la clase Barcode128 de iText para generar la imagen
shipBarCode.setX(1f);//puedes modificar estas medidas para que veas como queda tu codigo de barras (mas grande, mas ancho, etcetera)
shipBarCode.setN(0.5f);
shipBarCode.setChecksumText(true);
shipBarCode.setGenerateChecksum(true);
shipBarCode.setSize(5f);
shipBarCode.setTextAlignment(Element.ALIGN_CENTER) ;//alineado al centro
shipBarCode.setBaseline(9f);
value = new String(""+System.currentTimeMillis());
if(a >9){//cada 9 codigos generamos un consecutivo
String ax = new String(""+System.currentTimeMillis());
while(value.substring(1,value.length()-3).equals(ax.substring(1,ax.length()-3))){//nos ciclamos hasta que el tiempo cambie.
ax = new String(""+System.currentTimeMillis());
}
a = 0;
value = ax;
}
shipBarCode.setCode(location+value.substring(1,val ue.length()-3)+a);//este es el valor que tendra el codigo de barras.
a++;
shipBarCode.setBarHeight(40f);//altura del codigo de barras

Image imgShipBarCode = shipBarCode.createImageWithBarcode(cb, Color.black, Color.BLACK);// convertimos este codigo en una imagen
Chunk cbc = new Chunk(imgShipBarCode, 0, 0);//la imagen del codigo de barras la ponemos en un chunk

Phrase p = new Phrase(cbc);//este chunk lo ponemos en un phrase.

PdfPCell c = new PdfPCell(p); //creamos una celda que contenga la frase P

c.setPaddingTop(23f); //medidas necesarias
c.setPaddingBottom(3f);
c.setPaddingLeft(0f);
c.setPaddingRight(5f);
c.setBorder(Rectangle.NO_BORDER);
c.setVerticalAlignment(Element.ALIGN_TOP);
c.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addCell(c);//acregamos la celda a la tabla
page.addCell(cell); //la tabla a la tabla principal
}//seguimos en el ciclo!
document.add(page);
document.close();

response.setContentType("application/pdf");
OutputStream out = response.getOutputStream();

FileInputStream FOS = new FileInputStream(temp);

while (FOS.available() > 0)
out.write(FOS.read());

} catch (FileNotFoundException ex) {
ex.printStackTrace();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println(ex.getMessage());
out.close();
} catch (DocumentException ex) {
ex.printStackTrace();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println(ex.getMessage());
out.close();
}

}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}

}
  #2 (permalink)  
Antiguo 31/01/2009, 05:15
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Problemas con import javax.servlet.* e import javax.servlet.http.*

La libreria el la servlet-api.jar, suele estar dentro de las librerias que trae Tomcat por ejemplo
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:38.