Minhas dúvidas básicas

8 respostas
laelsonc

Dúvidas básicas:

  1. TEnho um servlet, que é o controlador do meu Sisteminha Web.
    Gravo algumas seções nele para usar nas páginas JSP. Neles consigo ler bzl,
    mas como faço para ler no próprio Servlet. Como pegar o valor delas dentro do Servlet ?

  2. Peguei um Classe que cria thumbs JPG e tals. Como argumento ela pedi um tipo InputStream. O que eu mando pra ela na verdade ? O Caminho do arquivo como aquele objeto HTML que pega o diretorio do mesmo ?

  3. Como pegar o path da minha aplicação num diretório Web ?

  4. Como trabalhar com um mesmo projeto no NetBeans em duas máquinas ? Eu tentei abrir projeto na minha segunda máquina mas ele não abre nem a pau na rede. Ele esta no meu PC e tentei abrir em outro. Pra duas pessoas poderem editar e compilar o mesmo. MAs não consegui, somente arquivo por arquivo. Como fazer ?

Thanks very much !

8 Respostas

felipedamiani
  1. Dá uma pesquisada sobre CVS ou Subversion
laelsonc

E ai pessoal, me ajudem por favor.
Obrigado.

J

ola,

n entendi direito sua duvida mas se for oq to pensando, vc quer dentro de um Servlet qualquer pegar valores q estao na sessao

se for isso entao vc pode usar algo assim

HttpSession session = request.getSession();

String valor = (String)session.getAttribute(“nome do atributo”);

caso n seja isso tenta deixa mais explicativo o q deseja

laelsonc

- Questão 1 Resolvida.

Alguem poderia me ajudar nas outras ?
Quanto a classe para criar os thumbs da questão 2 é a seguinte:

package utilitarios;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.font.TextLayout;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;


public class Imagens {

    
public static void gerarThumbnail(InputStream inputStream, OutputStream out, int thumbAltura, float quality) throws Exception{

Image image = null;
int largura = 0;
int altura = 0;

try {
//Recuperar os valores de LARGURA/ALTURA e ALTERAR no registro da FOTO
image = ImageIO.read(inputStream);
largura = image.getWidth(null);
altura = image.getHeight(null);
} catch (Exception e) {
throw new Exception("ERRO ALTERANDO TAMANHO DA IMAGEM " + e);
}

try {

//Fazer a geracao do TumbNail levando em conta o tamanho da ALTURA
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(image, 0);
mediaTracker.waitForID(0);

// determine thumbnail size from WIDTH and HEIGHT
double thumbPorcentagem = ((thumbAltura*100.0)/altura)/100.0;
int thumbLargura = (int)(largura * thumbPorcentagem);

// draw original image to thumbnail image object and
// scale it to the new size on-the-fly
BufferedImage thumbImage = new BufferedImage(thumbLargura,thumbAltura, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BICUBIC); //For speed better use RenderingHints.VALUE_INTERPOLATION_BILINEAR
graphics2D.drawImage(image, 0, 0, thumbLargura, thumbAltura, null);

// save thumbnail image to OUTFILE
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);

param.setQuality(quality, false); //The quality argument from the command line is converted from the interval 0 to 100 to the interval 0.0f to 1.0f, because that's what the codec expects (I mostly use 0.75f).
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);
out.close();

} catch (Exception e) {
throw new Exception("ERRO SALVANDO O THUMBNAIL DA IMAGEM " + e);
}
}

public static void gerarWatermark(InputStream imagemOriginal, InputStream imagemWatermark, OutputStream imagemGerada){

try {

BufferedImage im = ImageIO.read(imagemOriginal);
BufferedImage im2 = ImageIO.read(imagemWatermark);
Graphics2D g = im.createGraphics();
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f));
g.drawImage(im2, (im.getWidth()-im2.getWidth())/2, (im.getHeight()-im2.getHeight())/2, null);
g.dispose();
ImageIO.write(im, "jpeg", imagemGerada); 

} catch (Exception e) {
System.out.println(e);
}
}

public static void gerarWatermark(InputStream imagemOriginal, String textoWatermark, OutputStream imagemGerada){

try {

BufferedImage im = ImageIO.read(imagemOriginal);

//Preparando o Graphics 2D para incluir o texto na imagem
Graphics2D g = im.createGraphics();
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

//Setar a font utilizada no texto
g.setFont(new Font("Lucida Bright", Font.ITALIC, 60));

//Efeitos de rotacao no texto
g.rotate(-Math.PI/4, im.getWidth()/2, im.getHeight()/2);

//Setando o valor do texto
TextLayout tl = new TextLayout(textoWatermark, g.getFont(), g.getFontRenderContext());

//???
Rectangle2D bounds = tl.getBounds();
double x = (im.getWidth()-bounds.getWidth())/2 - bounds.getX();
double y = (im.getHeight()-bounds.getHeight())/2 - bounds.getY();

//
Shape outline = tl.getOutline(AffineTransform.getTranslateInstance(x+2, y+1));

//Montando a saida
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f));
g.setPaint(Color.WHITE);
g.draw(outline);
g.setPaint(new GradientPaint(0, 0, Color.WHITE, 30, 20, new Color(128,128,255), true));
tl.draw(g, (float)x, (float)y);
g.dispose();

ImageIO.write(im, "jpeg", imagemGerada); 

} catch (Exception e) {
System.out.println(e);
}
}    
    
    
    
    
    
    
    
}

Ajuda aê galera !

B

Ache dentro do request ou do response algum método que retorne um InputStream

laelsonc

Sobe…

marcosfreccia

Bom galera tenho uma duvida.

O Seguinte:

tenho tres classes de filmes
uma se chama porno, a outra Infantil e a ultima se chama TerrorSuspense.

no meu principal digito todas as informações e salvo dentro de um ArrayList chamado Filme.
gostaria de saber como faço agora para carregar esse dados que eu informei ao sistema.

B

marcosfreccia:
Bom galera tenho uma duvida.

O Seguinte:

tenho tres classes de filmes
uma se chama porno, a outra Infantil e a ultima se chama TerrorSuspense.

no meu principal digito todas as informações e salvo dentro de um ArrayList chamado Filme.
gostaria de saber como faço agora para carregar esse dados que eu informei ao sistema.

Você quer dizer acessar os dados/métodos que pertencem somente à essas especializações?

Seria algo do tipo:

if (filme instanceof Porno) { Porno porno = (Porno) filme; List lista = porno.getMoneyShots(); System.out.println("Filme: " + filme + "\n" + lista); }

Criado 12 de maio de 2008
Ultima resposta 16 de mai. de 2008
Respostas 8
Participantes 5