Configuração de rede no CentOS

Tags

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

Exemplo via DHCP:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp

Exemplo via IP fixo:

DEVICE=eth0
TYPE=Ethernet
IPADDR=192.168.1.198
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

# vim /etc/resolv.conf
# DNS DO GOOGLE
nameserver 8.8.8.8
nameserver 8.8.4.4

# service network restart
Ou:
# /etc/init.d/network restart

Exemplo descomplicado JSF2 + EJB3 + PRIMEFACES

Neste exemplo podemos encontrar:
– Um sistema CRUDE completo JSF2;
– Persistencia com EJB3;
– Injeção de dependencia via anotação @EJB;
– @ViewScope com @PostConstruct;
– Validação e messagens JSF;
– Utilização da tag <f:ajax />;
– Utilização de skins diferenciados via parametro de contexto “primefaces.THEME” no web.xml;
– Utilização de templates via facelets;

Primeiro você deve ter um ambiente com JDK6, JBOSS 6.0, Eclipse J2EE WTP + JBOSS Tools Plugin – Breve farei um post ensinando como configurar este ambiente.

Baixo o exemplo completo aqui: ejbjsf2.war

Use a opcao do eclipse Import->WAR file …

Depois de clikar finish vc vai ter a aplicação pronta para analise.

Bom, vamos analizar alguns passos que foram utilizados para criar a aplicação:

1 – A aplicação foi criada como um “Dynamic Web Projec”, foi selecionado JBoss 6 comO Targe runtime, servlet 3.0, configuração custom para inserir o JSF2, foi marcada a opção para gerar o web.xml e escolhido a extensão *.xhtml para o JSF;

2 – Depois é montada a aplicação na seguinte estrutura:

2.1 – Dentro de src foi criado a pasta META-INF e um arquivo persistence.xml. Este é o arquivo responsavel pela conexão de bando de dados do JPA utilizado pelos EJB. No caso, inicialmente eu fiz uma configuração utilizando um data source Oracle chamado FrankleyDS que configurei dentro da pasta do JBOSS, mas comentei e fiz uma configuração utilizando o DefaultDS que já vem preconfigurado para melhor portabilidade do exemplo. Feito isso tá pronto a conexão com o banco;

2.2 – Foi criado a classe “Contato.java” dentro do pacote “modelo”:
-implementa Serializable;
– tem a anotação @Entity para indicar que é uma entidade de persistencia;
– tem a anotação @SequenceGenerator(name = “SEQ_CONTATO”, sequenceName = “SEQ_CONTATO”,allocationSize=0,initialValue=1) é para funcionamento em conjunto com oracle (Não é obrigatoria para o exemplo, mas não faz mau deixar);
– temos a anotação @Id;
– a anotação @GeneratedValue( generator = “SEQ_CONTATO” , strategy = GenerationType.SEQUENCE) tambem é para funcionamento em conjunto com oracle (basta por @GeneratedValue para funcionar o exemplo, tambem não faz mau deixar como está)
Feito isto já temos o nosso Mapeamento Objeto Relacional;

2.3 – Foi criado a Interface IContatoBO no pacote “negocio” que serve para especificar nosso EJB;

2.4 – Foi criado a Classe ContatoBO que é nosso EJB:
– vemos a anotação @Stateless, quer dizer que vai ser um bean que não guarda estado e por isso consome menos memoria;
– vemos a anotação @Local, quer dizer que a comunicação com o EJB vai ser em modo local, os beans não serão serializados e nem vai ser possivel acessar remotamente este EJB;
– a anotação @PersistenceContext é que faz nosso trabalho sujo. Ela indica que vai ser injetado nossa persistence-unit “sample”, que configuramos no nosso persistence.xml, no objeto EntityManager em. Isso vai acontecer porque nois temos apenas uma persistence-unit configurada no nosso projeto, caso tenhamos mais de uma somos obrigados a colocar por exemplo @PersistenceContext(name=”sample”);
Feito isto temos nosso EJB pronto para uso;

2.5 – Foi criado a classe ContatoBean que é o famoso Bean JSF:
– No JSF2, eu não preciso mais configurar faces-config.xml basta por a anatação @ManagedBean para o bean ficar disponivel para o xhtml;
– E colocar a anotation para representar o escopo do bean @ViewScoped, @RequestScoped, @SessionScoped ou @ApplicationScoped. No nosso caso colocamos @ViewScoped para indicar que o bean vai ter escopo de Visão (Novo no JSF2 – Enquanto não trocar de pagina o bean sera mantido na memoria, quase igual a @SessionScoped);
(Ps.: Atentar para na hora de importar essas anotações utilizar o pacote javax.faces.bean.* );
– Temos a anotação @EJB, que é o cora que vai dizer pro JBoss que o nosso objeto IContatoBO contatoBO é um EJB e vai injeta-lo no noss bean jsf. Porem esta injecão ocorre um pouco depois de nosso objeto ser criado na memoria e como estamos utilizando o view scope, não podemos colocar a linha listaContato = contatoBO.listar(); no construtor do Bean JSF. Pois vai dar bilha e por isso existe a anotação @PostConstruct que deve ser colocada em um metodo qualquer sem retorno, exemplo public void construct() – Já tá bem esplicadinho no comentario do codigo.
– Tambem vemos que as actions não precisam ter retorno String, podem ser void;
Pronto temos nosso Bean JSF pronto.

2.6 – Não precisamos de muita configuração, já que o JBoss 6.0 já traz o mojara 2.0 configurado de cara, basta adicionar a biblioteca do primefaces (primefaces-2.2.1.jar) e os temas do primefaces que utilizei para teste bluesky (bluesky-1.0.1.jar) e hot-sneaks (hot-sneaks-1.0.1.jar) e jogar tudo detro do WEB-INF/lib da aplicação.
A configuração do web.xml ficou bem simples, no caso as bobagem de sempre do JSF e nossa escolha do tema “bluesky” para o primefaces ficar com a cara do RichFaces. Caso queira pode por o “hot-sneaks” no lugar já que já tem o “.jar” dele dentro da lib. E a faces-config.xhtml foi criado só pra desencargo de consciencia.

2.7 – foi criado uma pasta templates com os .xhtml: template.xhtml, header.xhtml e footer.xhtml que são os templates de facelet para nossa aplicação.

2.7 – Foi criado uma index.jsp, apenas para redirecionar para contato.xhtml, não sei pq carga dágua esse trem não funfou de forma direta se eu boto um index.xhtml.

2.8 – E foi criado o contato.xhtml utilizando primefaces, primefaces não precisa de configuração no JSF2.
achei interessante que não foi preciso utilizar mais o a4j, em vez diso utilizei o <f:ajax > do JSF2
o resto foi mais pra enfeitar, como as mensagens, validação essas balelas todas.

E Finalmente a Aplicação rodando, ficou biita pra caramba – meninim de papai …

Tentei me ater a explicar mais a parte de background que foi o que mudou + no JSF2.
Bom, espero que este exemplo ajude você que esta lendo este post.

Vai dando uma pesquisada ae,
e espera o proximo post, que é como montar o ambiente.
Sei que devia vir primeiro mais enfim – Jorge Lucas, lançou o Star War 4,5 e 6 antes do 1,2 e 3.
Vlw, tou é com sono …
😉

O que você pode fazer com CSS?

Tags

Estou começando a me aventurar no mundo do design, inspirado por um amigo meu que tem um blog muito bom http://www.jf.eti.br, me deparei com este site que “mostra como é possivel fazer um verdadeiro camaleão usando CSS” –> http://www.csszengarden.com/

Neste site você escolhe uma lista de estilos e o site, aparentemente, muda totalmente. Mas na verdade só o que muda é o CSS. Confira! Vôce pode até postar seu próprio estilo.

Mudar de UTF8 para ISO-8859-1 no Ubuntu

Para quem escolheu a linguagem Portugues Brasil faça como root:

echo pt_BR.ISO-8859-1 ISO-8859-1 > /var/lib/locales/supported.d/local
echo LANG="pt_BR.ISO-8859-1" > /etc/default/locale
echo LANG="pt_BR.ISO-8859-1" >> /etc/environment
locale-gen -purge
dpkg-reconfigure locales

Para quem escolheu a linguagem Inglês faça como root:

echo en_US.ISO-8859-1 ISO-8859-1 > /var/lib/locales/supported.d/local
echo LANG="en_US.ISO-8859-1" > /etc/default/locale
echo LANG="en_US.ISO-8859-1" >> /etc/environment
locale-gen -purge
dpkg-reconfigure locales

no debian bastar rodar como root:

apt-get install locales
dpkg-reconfigure locales

marcar pt_BR.ISO-8859-1 e escolher como padrao pt_BR.ISO-8859-1

Pronto mais complicado do que isso não tem!😉

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.