Criando um projeto WEB com Jetty
Segue um breve how to cujo objetivo é mostrar como embutir o Jetty no seu projeto e criar um Servlet exemplo.
1- Baixe o Jetty e o jar javax.servlet. Verifique pelas ultimas versões disponíveis, no momento que escrevia este How To, eram os abaixo:
2- Iniciei um projeto Java normal no eclipse e adicione as duas libs como dependencia.
3- Crie uma classe para ser a classe principal que iniciará o Jetty:
package br.com.infoserver.exemplo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import br.com.infoserver.servlets.DummyServlet;
import br.com.infoserver.servlets.DummyServlet2;
public class ExemploJetty extends AbstractHandler{
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
baseRequest.setHandled(true);
response.getWriter().println("<h1>Hello World</h1>");
}
public static void main(String[] args) throws Exception
{
Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);
context.addServlet(new ServletHolder(new DummyServlet()),"/*");
context.addServlet(new ServletHolder(new DummyServlet("Servlet 1")),"/servlet1/*");
server.start();
server.join();
}
}
4- Crie o Servlet:
package br.com.infoserver.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DummyServlet extends HttpServlet
{
private static final long serialVersionUID = -7433379500358268888L;
public DummyServlet(){}
public DummyServlet(String greeting)
{
this.greeting=greeting;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("session=" + request.getSession(true).getId());
}
}
5- Execute a classe principal, e no seu navegador aponte para localhost:8080/servlet1
Voa lá!
Criando uma aplicação Java conversando com Filas MQ
Galera, achei uma fonte muito legal sobre o tema Java e WebSphere MQ, segue ai:
http://www.angusyoung.org/2011/10/23/tutorial-sobre-websphere-mq/
Validar um usuário no Active Directory no C#
Tive a necessidade de autenticar um usuário em um Active Directory a partir de uma aplicação Web C#. Meu código ficou assim:
bool valid = false;
try
{
// create a "principal context" - e.g. your domain (could be machine, too)
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "SEU DOMINIO"))
{
// validate the credentials
valid = pc.ValidateCredentials(username, password);
}
}
catch (Exception ex)
{
WriteLog("Erro de acesso ao DB: " + ex.Message);
}
return valid;
Simples e funcional.
Fazendo submit de um form com Ajax
Para quem quer fazer um submit de um form, sem reload de página, eis um link interessante:
http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/
Enjoy!
Fazendo um forward para um JSP de um Servlet
Eu sempre esqueço isso!!! Como efetuar um forward, ou seja, invocar uma página, a partir de um Servlet. Segue o código:
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/meetingsearch.jsp");
dispatcher.forward(request, response);
Enjoy!
Removendo acentuação com Java
Segue código exemplo para referência utilizando replaceAll:
public static String removerAcentos(String s) {
s = s.replaceAll("[èéêëÈÉÊË]","E");
s = s.replaceAll("[ûùúÛÙÚ]","U");
s = s.replaceAll("[ïîíìÏÎÍÌ]","I");
s = s.replaceAll("[àâáãÀÂÁÃ]","A");
s = s.replaceAll("[óòÒÓôÔõÕ]","A");
s = s.replaceAll("[ç,Ç]","C");
return s;
}
A tempo, no Java 6 dá pra se utilizar o Normalizer, mais eficiente e simples. Segue Exemplo abaixo:
package br.com.infoserver.tests;
import java.text.Normalizer;
public class TestString {
public static void main(String[] args) {
System.out.println(removerAcentos("REALIZÁVEL LONGO PRAZO"));
System.out.println(removerAcentos("ATIVO NÃO CIRCULANTE"));
System.out.println(removerAcentos("AC -Aplicações interf de liquidez"));
System.out.println(removerAcentos("Títulos e vals mobs"));
System.out.println(removerAcentos("RL -Aplicações interf de liquidez"));
System.out.println(removerAcentos("RL - Títulos e vals mobs"));
System.out.println(removerAcentos("PASSIVO NÃO CIRCULANTE"));
System.out.println(removerAcentos("EXIGÍVEL LONGO PRAZO"));
System.out.println(removerAcentos("RES.EXERC.FUTURO"));
System.out.println(removerAcentos("PARTICIP.MINORITÁRIOS"));
System.out.println(removerAcentos("PATRIMÔNIO LÍQUIDO"));
System.out.println(removerAcentos("PC - Total de depósitos"));
System.out.println(removerAcentos("PC - Captações no mercado"));
System.out.println(removerAcentos("EXIGÍVEL A LONGO PRAZO"));
System.out.println(removerAcentos("EX.LP - Total de depósitos"));
System.out.println(removerAcentos("EX.LP - Captações no mercado"));
System.out.println(removerAcentos("EX.LP - Empréstimos e repasses"));
System.out.println(removerAcentos("DEMONSTRATIVO DE RESULTADOS"));
}
public static String removerAcentos(String str) {
str = Normalizer.normalize(str, Normalizer.Form.NFD);
str = str.replaceAll("[^\\p{ASCII}]", "");
return str;
}
}
Enjoy!
Spooler caindo no Windows 7
Sim… eu também posto coisas sobre Windows
Afinal, eu trabalho em TI e eventualmente, desenvolvo soluções para tal plataforma.
Encontrei um problema em um cliente, no qual eu não conseguia instalar uma impressora, verifiquei que o spooler de impressão CAIA quando eu adicionava o driver, e isso, gerava uma falha ao adicionar o mesmo, não permitindo que a instalação funcione.
Resolvi seguindo as dicas a seguir:
1. Go to Programs and Features in Control panel > click Turn Windows features on or off
2. click + sign of Print services
3. Select LPD and LPR. You should remove Internet Printing Client. > restart your PC to ensure there is no error of spooler service.
4. Add your printer driver again.
