Você está aqui: JSP (Java Server Pages) ::: Dicas de Estudo e Anotações ::: JSP + JavaMail |
Como enviar mais de um anexo em um e-mail usando JavaMailQuantidade de visualizações: 8787 vezes |
EXEMPLO COMPLETO DE ENVIO DE E-MAIL COM ANEXOS USANDO
JSP + JAVAMAIL O exemplo abaixo mostra como enviar e-mails com anexo usando JSP e JavaMail. Este exemplo foi testado e funcionou 100% em um site hospedado na Locaweb [www.locaweb.com.br]. <%@ page import="java.util.*, javax.activation.*, javax.mail.*, javax.mail.internet.*" %> <html> <head><title>Usando JSP com JavaMail</title></head> <body> <% Properties props = new Properties(); props.put("mail.smtp.host", "smtp.locaweb.com.br"); Session s = Session.getInstance(props,null); MimeMessage message = new MimeMessage(s); InternetAddress from = new InternetAddress("webmaster@teste.com.br"); message.setFrom(from); InternetAddress to = new InternetAddress("webmaster@recomende.com"); message.addRecipient(Message.RecipientType.TO, to); message.setSubject("Envio de anexos usando o JavaMail."); // cria a primeira parte da mensagem MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setText("Esta mensagem contém um anexo"); // cria a segunda parte da mensagem MimeBodyPart mbp2 = new MimeBodyPart(); // cria a terceira parte da mensagem MimeBodyPart mbp3 = new MimeBodyPart(); // anexa o primeiro arquivo à mensagem FileDataSource fds = new FileDataSource(getServletContext().getRealPath("/") + "teste.jsp"); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(fds.getName()); // anexa o segundo arquivo à mensagem FileDataSource fds2 = new FileDataSource(getServletContext().getRealPath("/") + "teste2.jsp"); mbp3.setDataHandler(new DataHandler(fds2)); mbp3.setFileName(fds2.getName()); // Cria o Multipart a adiciona as três partes a ele Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); mp.addBodyPart(mbp3); message.setContent(mp); Transport.send(message); %> <p align="center">E-Mail enviado com sucesso!</p> </body> </html> |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguidaQuantidade de visualizações: 531 vezes |
Pergunta/Tarefa: Escreva um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguida o método deverá dividir o resultado, ou seja, o produto, por 2, e, finalmente, retornar o resto de uma divisão inteira desse resultado pelo número 7. Sua saída deverá ser parecida com: Informe o primeiro valor inteiro: 18 Informe o segundo valor inteiro: 19 O resultado é: 3 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // vamos usar a classe Scanner para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar dois números inteiros System.out.print("Informe o primeiro valor inteiro: "); int a = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o segundo valor inteiro: "); int b = Integer.parseInt(entrada.nextLine()); // vamos obter o resultado de uma chamada à função calcular() int resultado = calcular(a, b); System.out.println("O resultado é: " + resultado); } public static int calcular(int a, int b){ // primeiro multiplicamos as duas variáveis int produto = a * b; // agora dividimos o produto por 2 int temp = produto / 2; // agora obtemos o módulo do resultado por 7 int resultado = temp % 7; // e retornamos o valor calculado return resultado; } } |
C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ BuilderQuantidade de visualizações: 6012 vezes |
Em algumas ocasiões nós precisamos descobrir a quantidade de caracteres contidos em uma caixa de texto do tipo TEdit. Para isso podemos usar o método GetTextLen() do C++ Builder, definido originalmente na classe TControl. Esta função retorna um valor inteiro contendo o tamanho do texto da caixa de texto. Veja um exemplo do uso do método GetTextLen() no trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- void __fastcall TForm3::Button2Click(TObject *Sender) { // vamos obter a quantidade de caracteres no TEdit int tamanho = Edit1->GetTextLen(); // vamos mostrar o resultado ShowMessage("O Edit contém " + IntToStr(tamanho) + " caracteres."); } Ao executar este exemplo você terá um resultado parecido com: O Edit contém 5 caracteres. |
AngularJS ::: Angular / AngularJS + JavaScript ::: Controllers AngularJS |
Como adicionar funções (ou métodos) ao seu controller AngularJSQuantidade de visualizações: 1753 vezes |
Nesta dica mostrarei como adicionar comportamento ao seu controller AngularJS, ou seja, adicionar funções ou métodos para acessar e/ou modificar as variáveis contidas no escopo. Para este exemplo criaremos um controller chamado "VolumeTV". Este controller terá uma variável chamada "volume" e dois botões para aumentar ou diminuir o volume. Note que, tanto a variável quanto as duas funções são colocadas no $scope para facilitar o acesso destes a partir da view. Veja o exemplo completo, sem usar AngularJS CLI nem TypeScript, somente JavaScript e HTML: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Cadastro de Alunos AngularJS</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"> </script> </head> <body> <script type="text/javascript"> // vamos criar uma nova aplicação var app = angular.module('MinhaApp', []); // vamos criar o controller VolumeTV app.controller('VolumeTV', function ($scope){ // define o volume inicial $scope.volume = 5; // função para aumentar o volume $scope.aumentarVolume = function(){ $scope.volume++; }; // função para diminuir o volume $scope.diminuirVolume = function(){ $scope.volume--; }; }); </script> <div ng-app="MinhaApp" ng-controller="VolumeTV"> <h1>Volume atual: {{volume}}</h1> <button ng-click="aumentarVolume()">Aumentar Volume</button> <button ng-click="diminuirVolume()">Diminuir Volume</button> </div> </body> </html> |
Java ::: Dicas & Truques ::: Fuso Horários |
Como representar fuso horário em Java usando a classe TimeZoneQuantidade de visualizações: 12674 vezes |
A classe abstrata TimeZone (do pacote java.util) representa um determinado fuso horário e também identifica o horário de verão (daylight savings) de um determinado país ou região. Veja sua posição na hierarquia de classes Java:java.lang.Object java.util.TimeZone A melhor forma de entender o fuso horário, é consultando suas configurações regionais no Painel de Controle de seu sistema. É comum, em máquinas brasileiras encontrarmos o fuso horário "GMT -03:00 - Brasilia". Isso quer dizer que a hora oficial do Brasil é -3 horas em relação ao horário de Greenwich, Londres. Não podemos nos esquecer do horário de verão, que reduz esta diferença para -2 horas na maior parte do país. Por padrão, A JVM detecta e trabalha com o fuso horário da máquina na qual está sendo executada. Veja um trecho de código que obtém este TimeZone padrão: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String args[]){ TimeZone timeZone = TimeZone.getDefault(); System.out.println(timeZone.getDisplayName()); System.out.println(timeZone.getID()); } } Ao executar este código você terá um resultado semelhante à: Brasilia Time America/Sao_Paulo Aqui nós usamos o método estático getDefault() para retornar o TimeZone padrão e os métodos de instância getDisplayName() e getID() para obter as informações sobre o fuso horário. |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como criar e usar variáveis estáticas em PHPQuantidade de visualizações: 9695 vezes |
Como já vimos em outras dicas desta seção, uma classe possui propriedades (variáveis) e métodos. Dessa forma, cada instância (cópia ou objeto) desta classe possui suas próprias cópias das variáveis declaradas na classe. Veja a seguinte declaração de uma classe Produto: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // classe Produto com duas variáveis privadas e seus // correspondentes métodos mutatórios e acessórios class Produto{ private $nome; private $preco; public function setNome($nome){ $this->nome = $nome; } public function getNome(){ return $this->nome; } public function setPreco($preco){ $this->preco = $preco; } public function getPreco(){ return $this->preco; } } ?> Aqui cada instância da classe Produto terá suas próprias variáveis $nome e $preco. Há, porém, situações nas quais gostaríamos que uma determinada variável pertencesse à classe e não à cada instância individual. Um bom exemplo disso seria uma variável que registra a quantidade de instâncias que temos de uma classe ou a técnica de se atribuir um identificador único a cada instância da classe. Variáveis estáticas em PHP podem ser criadas por meio do uso da palavra-chave static. É comum tais variáveis serem declaradas com o modificador public, o que as torna acessíveis fora da classe na qual estas estão declaradas. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // classe Produto com duas variáveis privadas e seus // correspondentes métodos mutatórios e acessórios class Produto{ private $nome; private $preco; // uma variável estática que permite contar as instâncias // desta classe public static $contador = 0; // construtor da classe Produto function __construct(){ // vamos incrementar o contador aqui self::$contador++; } } // vamos criar duas instâncias da classe Produto $p1 = new Produto(); $p2 = new Produto(); // vamos obter o valor do contador de instâncias echo "Até este momento já criamos " . Produto::$contador . " instâncias da classe Produto"; ?> Este código possui alguns pontos interessantes e merece uma análise bem detalhada. Perceba que, dentro da classe, uma variável estática é acessada usando-se self e não $this, como fazemos com as variáveis de instâncias. Outra observação interessante é em relação ao acesso da variável estática fora da classe. Aqui nós usamos o nome da classe seguida por um par de dois pontos "::" e não por meio de referências às suas instâncias individuais. Finalmente observe o construtor da classe. A cada instância construída nós acessamos a variável estática e incrementamos seu valor em 1. É importante observar que variáveis estáticas não podem ser acessadas por meio de referências às instâncias da classe usando o operador "->". Assim, o trecho de código abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos tentar alterar o valor da variável estática por meio // de uma referência a uma das instâncias da classe Produto $p1->contador = 5; não provoca erros mas, também não traz o resultado esperado. |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
Python - Como usar a função type() da linguagem Python para descobrir o tipo de dados de uma variável |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |