Archive for the 'java' Category

Java Store

Vocês estão acompanhando os acontecimentos do JavaOne 2009? Eu tenho lido algumas notícias bastante interessantes. A última que eu li foi sobre o anúncio do James Gosling sobre a tal “Java Store” (central de ofertas de aplicativos e ferramentas baseadas na linguagem Java). Parece legal. Uma versão beta entra operação até o final do ano. Hmmm… Será mesmo?

Segue aqui a notícia.

Sun Microsystems da Austrália

sun

Opa, desculpa aí, mas essa sou euzinha na frente da Sun da Australia. :)

Estávamos eu e o Caio passeando alegremente pela St Killda Road (tomando aquele vento no rosto) quando me deparo com o enorme edifício da Sun. Enfim, só podia resultar em uma foto. Sinceramente eu nem sabia que tinha uma sede por aqui. Não sei se tem algum setor de desenvolvimento, mas que é grande, é.

Hoje passamos por novas aventuras e acredito que uma das mais marcantes foi na hora do almoço onde tentamos nos comunicar em inglês com uma atendente asiática que não falava inglês direito e que ainda por cima tinha um sotaque que desconheço. Unindo o nosso sotaque brasileiro com o sotaque dela de outro país (bem provável que seja a China), já viu… Conseguimos pedir o que queriamos, mas ainda continuo achando que eles cobraram 1 dólar a mais da gente. Enfim, deixa pra lá…

Outra coisa deprimente hoje foi tentar pedir na farmácia se eles tinham sal de frutas, pois ontem eu e o Caio passamos um pouco mal do estômago depois da janta. Resultado: failed. Ninguém se entendeu apesar de descrevermos tudinho pra atendente em inglês, mesmo até fazendo efeitos sonoros do poder efervecente do sal. Aff.. Esse vai ficar pra próxima. Vou procurar na internet se isso realmente existe aqui na Austrália. (se não existir talvez eu ganhe uma boa grana por aqui :)

Eu não entendo o motivo de as pessoas por aqui finalizarem uma venda, por exemplo, com um “see you later” se é mais provável que a gente nunca mais se veja na vida. Sei lá.. Nós brasileiros não podemos dizer nada afinal depois de comprimentar alguém soltando um “oi”, logo vai um “tudo bem?”, mas na prática a gente não quer mesmo saber se está tudo bem, a gente só está sendo educado.

Vamos tentar ver Lost. Fui! =)

Será que a IBM vai comprar a SUN?

Não imaginei que isso pudesse acontecer, mas segundo os últimos rumores, é possível que aconteça. Eu sabia que a Sun estava demitindo muitos funcionários, mas não que estava meio “quebrada”… :O

O que será de nós, amigos javeiros? Como será o futuro da linguagem se isso ocorrer?! Será que vai afetar em algo? Será que o Netbeans vai morrer depois disso (e o Eclipse vai vencer)? E eu que gosto tanto do Glassfish, do MySQL.. Ai ai ai… :(

Eu já disse o quanto eu odeio monopólio? :/

Segundo reportagem publicada pelo Wall Street Journal:

Duas das maiores empresas atuantes no mercado corporativo de hardware estão no centro das atenções. A IBM está prestes a comprar a Sun Microsystems por US$ 6.5 bilhões.

As duas empresas apóiam software livre, e uma união entre as duas poderia aumentar muito a força desse tipo de sistema operacional. Especialmente no mercado corporativo, setor onde as duas empresas atuam.

Tanto uma quanto outra atuam no mercado de hardware pesado, armazenamento e servidores. Mas a IBM tem caminhado a passos largos na área de serviços e softwares. A compra da Sun fortaleceria essa área de hardware corporativo, o primeiro passo para os serviços oferecidos pela IBM.

Outro ponto importante: enquanto a Sun é mais forte em Unix, a IBM é mais forte em Linux. A união dos dois poderia fortalecer a migração para Linux, com suporte total da IBM para migração da plataforma Unix, que é uma espécie de “ancestral” do Linux. E leia isso não como sendo uma plataforma atrasada em relação ao Linux, mas sim a sua base de criação.

Nessas notícias, Java é algo que quase nem se fala, as pessoas só estão mesmo preocupadas com os servidores. A linguagem realmente não deve dar um grande lucro pra Sun…

A aquisição da Sun pela IBM pode abalar o Vale do Silício? Snif snif.. Sim!

Vamos ficar ligados! \o/

Algumas fontes sobre esta notícia:

Bom fim de semana. May the Force be with you! :)

Struts 2, como executar e não escapar HTML

Hoje de manhã fiquei sem entender porque uma variável do meu JSP, que guardava conteúdo HTML que vinha do banco, estava “escapando” código HTML. Venho trabalhando com Struts 2 há pouco mais de 3 meses e eu ainda não havia tido a necessidade de “executar” HTML a partir de uma variável. Bom, eu procurei tanto que eu até fiquei um pouco indignada quando descobri que é simples assim desligar o escapamento de HTML na minha tag property:

<s:property value="%{#informativo}" escape="false" />

Isso mesmo, é so atribuir escape para false. O valor default é true. :)

Créditos ao Caio que me deu um toque.

Struts 2, Upload de arquivos

No sistema que estou trabalhando, o usuário tem uma pasta no servidor, onde ele pode inserir arquivos como fotos, certidões, documentos, etc. Para isto, foi preciso descobrir como fazer um upload através do Struts 2. ;)

Vou escrever a receita de bolo aqui. Espero não ter esquecido nada.

1° Colocar no seu form o elemento input file

<s:file name="upload" id="upload" label="Arquivo:"/>  

ps.: Não tente estilizar o botão de upload que aparece, nem mudar o texto do botão. Primeiro porque vai te dar bastante trabalho e segundo que para fazer isso só usando gambiarra.

2° Adicionar um atributo no seu form

<s:form action="minhaAction.action" method="post" enctype="multipart/form-data">  

3° Adicionar alguns atributos na sua action

/**
 * O arquivo a ser feito upload.
 */
private File upload;

/**
 * O nome do arquivo a ser feito upload.
 */
private String uploadFileName;

/**
 * O tipo de arquivo que vem sendo feito upload. 
 */
private String uploadContentType;
  • Gere os getters e setters para estes atributos.

4° Criar um método para subir o arquivo para o servidor

/**
  * Copia do arquivo da pessoa para a máquina de destino.
  *
  * @param in
  * @param out
  * @throws IOException
  */
private void copiarArquivo(File in, File out) 
{
  try 
  {
    // Copia o arquivo para o servidor.
    FileChannel sourceChannel = new FileInputStream(in).getChannel(); 
    FileChannel destinationChannel = new FileOutputStream(out)
        .getChannel();
    sourceChannel.transferTo(0, sourceChannel.size(),
        destinationChannel);
    // Fecha os canais de transferência de conteúdo.
    sourceChannel.close();
    destinationChannel.close();
  }
  catch (IOException ex)
  {
    // Erro ao anexar arquivo.
    ex.printStackTrace();
  }
}

5° Chamar o método criado anteriormente dentro da action envolvida

String pathArquivoSaida = dirPastaUsuario.getAbsolutePath() + File.separator + getUploadFileName();
File arquivoSaida = new File(pathArquivoSaida);
if (!arquivoSaida.exists()) 
{
    arquivoSaida.createNewFile(); 
}
// Solicita a cópia do arquivo para o servidor. 
this.copiarArquivo(getUpload(), arquivoSaida);

6° Fazer download de algumas bibliotecas para upload

  • commons-fileupload.jar
  • commons-io.jar

Adicione-as no seu projeto.

7° Editar o properties do struts

struts.multipart.parser=org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest
struts.multipart.maxSize=2097152
struts.multipart.saveDir=C:\uploads\

8° Editar o struts.xml

<action name="anexarDocumento" class="actions.AnexoAction" method="anexar">
    <interceptor-ref name="fileUpload"/>
    <interceptor-ref name="basicStack"/>
    <result>anexo.jsp</result>
</action>

Meio complicadinho, mas é isso aí. Espero ter ajudado. Qualquer dúvida, mandem-me um comentário. :)

Próxima Página »