<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>MouseOver Studio &#187; eclipse</title>
	<atom:link href="http://www.mouseoverstudio.com/blog/category/eclipse/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.mouseoverstudio.com/blog</link>
	<description></description>
	<pubDate>Wed, 25 Aug 2010 02:03:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Decompilando Java com Eclipse e JAD</title>
		<link>http://www.mouseoverstudio.com/blog/2008/03/08/decompilando-java-com-eclipse-e-jad/</link>
		<comments>http://www.mouseoverstudio.com/blog/2008/03/08/decompilando-java-com-eclipse-e-jad/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 19:19:46 +0000</pubDate>
		<dc:creator>Diego Carrion</dc:creator>
		
		<category><![CDATA[Tutoriales]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[programação]]></category>

		<category><![CDATA[decompilador]]></category>

		<category><![CDATA[jad]]></category>

		<category><![CDATA[jadclipse]]></category>

		<guid isPermaLink="false">http://www.mouseoverstudio.com/blog/?p=70</guid>
		<description><![CDATA[Por motivos X que não devem acontecer, o código fonte de uma livraria Y foi perdido, ficando somente o Java Archive (JAR). 
Ouvi que existe um método de recuperar um código fonte, utilizando decompiladores. Possivelmente não se consiga recuperar o código das classes em um 100%, mas muita coisa deve dar para recuperar, dependendo do [...]]]></description>
			<content:encoded><![CDATA[<p>Por motivos X que não devem acontecer, o código fonte de uma livraria Y foi perdido, ficando somente o Java Archive (JAR). </p>
<p>Ouvi que existe um método de recuperar um código fonte, utilizando decompiladores. Possivelmente não se consiga recuperar o código das classes em um 100%, mas muita coisa deve dar para recuperar, dependendo do caso.</p>
<p>Pesquisei um pouco e ao parecer o melhor decompilador e o mais popular é o <a href="http://www.kpdus.com/jad.html">Jad</a>. Existem muitos outros mas parecem estar bem desatualizados e somente dão suporte ate a versão 1.3 do Java. Mesmo o Jad sendo o mais atualizado dos que encontrei, a noticia mais nova no site e do dia 2 de Julho de 2006.</p>
<p>Uma coisa que me fez pegar confiança no Jad é que existem um monte de ferramentas com interface gráfica que utilizam o Jad por detrás e também existe um plugin do Jad para o Eclipse chamado <a href="http://sourceforge.net/projects/jadclipse">JadClipse</a>, que é o que vou utilizar agora. A última versão é para o Eclipse Europa e foi lançada em Maio do 2007.</p>
<p>Baixei o plugin, coloquei ele na pasta plugins da minha instalação do Eclipse e abri o mesmo.</p>
<p>Ao abrir o Eclipse não apareceu nada diferente, mas sim nas preferências. No menu <em>Java</em> foi adicionado um submenu <em>JadClipse</em>, com muitas opções para configurar o plugin. Eu deixei as preferências no padrão. Em <em>General > Editors > File Associations</em> da para apreciar que existe uma asociação entre os arquivos .class e o <em>JadClipse Class File Viewer</em>.</p>
<p>Num dos projetos que estavam atualmente no Working Set tinha um que utilizava algumas livrarias do JBoss. Naveguei dentro de um  arquivo .jar ate achar um arquivo .class e dei duplo click nele. Parece que nesse momento o Jad decompila o arquivo e deveria mostrar o resultado, mas ele mostrou para mim o seguinte:</p>
<blockquote><p>DECOMPILATION REPORT</p>
<p>	Decompiled from: /home/dcrec1/workspace/jboss-4.2.2.GA/server/default/lib/mail.jar<br />
	Total time: 2 ms<br />
	Jad reported messages/errors:<br />
	Exit status: 0<br />
	Caught exceptions:<br />
java.io.IOException: java.io.IOException: jad: not found<br />
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)<br />
       &#8230;<br />
</init></p></blockquote>
<p>Parece que por algum motivo o programa Jad não esta sendo encontrado. É obvio, não instalei ele!</p>
<p>Baixei a ultima versão do Jad e coloquei o arquivo <em>jad</em> dentro da pasta <em>/usr/bin</em> . Repeti o processo e o resultado foi o mesmo. </p>
<p>Voltei nas configurações do JadClipse e nelas existe um campo chamado <em>Path to decompiler</em>. Escrevi <em>/usr/bin/jad</em> como valor, apliquei as mudanças e repeti o processo de decompilação. A nova mensagem foi a seguinte:</p>
<blockquote><p>DECOMPILATION REPORT</p>
<p>	Decompiled from: /home/dcrec1/workspace/jboss-4.2.2.GA/server/default/lib/mail.jar<br />
	Total time: 25 ms<br />
	Jad reported messages/errors:<br />
/usr/bin/jad: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory<br />
	Exit status: 127</p></blockquote>
<p>O erro se deu porque faltam livrarias no meu ambiente. Resolvi o problema no Ubuntu instalando o pacote <em>libstdc++2.10-glibc2.2</em>.</p>
<p>Repeti por terceira vez o processo e funcionou uma beleza! O código decompilado apareceu rapidamente e no final do código apareceu o seguinte texto como comentário:</p>
<blockquote><p>DECOMPILATION REPORT</p>
<p>	Decompiled from: /home/dcrec1/workspace/jboss-4.2.2.GA/server/default/lib/mail.jar<br />
	Total time: 45 ms<br />
	Jad reported messages/errors:<br />
The class file version is 48.0 (only 45.3, 46.0 and 47.0 are supported)<br />
	Exit status: 0<br />
	Caught exceptions:</p></blockquote>
<p>Ao parecer aconteceu algum erro mas não da para ser identificado a simples vista. Me parece que não daria para descobrir que o código gerado foi decompilado, os nomes das variáveis não apresentam caracteres estranhos nem as propriedades ou algum método.</p>
<p>Agora somente falta fazer testes para ver que tão parecido fica o código decompilado com o pre-compilado. Mesmo podendo não recuperar a classe em um 100%, acho que o JadClipse vai me ajudar bastante quando utilize ele na segunda-feira com a livraria mencionada no começo do post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mouseoverstudio.com/blog/2008/03/08/decompilando-java-com-eclipse-e-jad/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Recompilação dos últimos links interessantes</title>
		<link>http://www.mouseoverstudio.com/blog/2008/01/19/recompilacao-dos-ultimos-links-interessantes/</link>
		<comments>http://www.mouseoverstudio.com/blog/2008/01/19/recompilacao-dos-ultimos-links-interessantes/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 14:24:15 +0000</pubDate>
		<dc:creator>Diego Carrion</dc:creator>
		
		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Tutoriales]]></category>

		<category><![CDATA[comunidade]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[jboss]]></category>

		<category><![CDATA[livrarias]]></category>

		<category><![CDATA[programação]]></category>

		<category><![CDATA[qualidade]]></category>

		<guid isPermaLink="false">http://www.mouseoverstudio.com/blog/?p=52</guid>
		<description><![CDATA[Nesses ultimos dias, a IBM publicou alguns artigos interessantes como os chamados Generar aplicações web Ajax J2EE com jpa2web, Criar aplicações ricas com JavaFX Script, a segunda parte da serie Aplicações Ajax sólidas: Construindo back ends ou Comezando com Grails: Construindo tua primeira aplicação Grails.
Também nesses últimos dias chegamos a conhecer alguns projetos interessantes como [...]]]></description>
			<content:encoded><![CDATA[<p>Nesses ultimos dias, a IBM publicou alguns artigos interessantes como os chamados <a href="http://www.ibm.com/developerworks/web/library/wa-aj-jpa2web/index.html?ca=drs-">Generar aplicações web Ajax J2EE com jpa2web</a>, <a href="http://www.ibm.com/developerworks/web/library/j-javafx/index.html?ca=drs-">Criar aplicações ricas com JavaFX Script</a>, a <a href="http://www.ibm.com/developerworks/web/library/wa-aj-backend/index.html?ca=drs-">segunda parte da serie Aplicações Ajax sólidas: Construindo back ends</a> ou <a href="http://www.ibm.com/developerworks/web/library/j-grails01158/index.html?ca=drs-">Comezando com Grails: Construindo tua primeira aplicação Grails</a>.</p>
<p>Também nesses últimos dias chegamos a conhecer alguns projetos interessantes como o <a href="http://josql.sourceforge.net/">JoSQL</a> que nos permite executar código SQL para selecionar coleções de objetos, similar ao LINQ da plataforma .NET e o <a href="http://www.trentrichardson.com/jsonsql/">JsonSQL</a> que funciona similar mas para objetos em JavaScript, notação Json. Outros trabalhos interessante são os feitos na livraria <a href="http://vikjavev.no/highslide/">Highslide JS</a> que nos ajuda a simular o efeito do conhecido lightbox nas nossas aplicações, o <a href="http://www.crap4j.org/">Crap4j</a> que se encarrega de qualificar nosso código Java em função a diferentes métricas, o <a href="http://www.creamtec.com/products/ajaxswing/">AjaxSwing</a>, que magicamente converte nossos projetos em Swing para aplicações web Ajax, o <a href="http://code.google.com/p/cajuscript/">CajuScript</a>, uma simples e poderosa implementação de script para usar com Java feito no território nacional, o <a href="http://www.mibbit.com/">Mibbit</a>, um chat que trabalha com o protocolo IRC e desenvolvido com Ajax e finalmente o <a href="http://jiggyapp.com/">Jiggy</a>, que nos permite criar aplicações para o iPhone de maneira muito simples e fácil. </p>
<p>Algumas leituras interessantes sobre Java e Design Patterns foram selecionadas também. Uma de elas é a conversação que se deu no forum GUJ chamada <a href="http://www.guj.com.br/posts/list/13316.java">Então você gostaria de saber sobre AOP?</a> que trata sobre a programação orientada a aspectos ou as que encontramos no site <a href="http://www.corej2eepatterns.com/Patterns2ndEd/index.htm">Core J2EE Patterns</a>, com muita informação sobre os diferentes design patterns da especificação J2EE. Outro site interessante é <a href="http://www.domaindrivendesign.org/">Domain Driven Design</a>, com muita informação sobre o tema que leva o mesmo nome.</p>
<p>Alguns tutoriais e artigos técnicos interessantes que chamaram nossa atenção foram aqueles chamados <a href="http://drnicwilliams.com/2008/01/04/autotesting-javascript-in-rails/">Autotestando JavaScript em Rails</a>, de Dr. Nic, que explica como testar nossos scripts em JavaScript desde um script em Rails, <a href="http://blog.morrisjohns.com/javascript_closures_for_dummies">Clousures do JavaScript para Dummies</a>, de Morris Johns, que ensina de maneira muito clara como funcionam os poderosos clousures em JavaScript, um excelente <a href="http://www.eustaquiorangel.com/downloads/tutorialruby.pdf">tutorial sobre Ruby</a> escrito por Eustaquio Rangel no seu periodo de aprendizagem da linguagem e <a href="http://www.jboss.org/?module=bb&#038;op=viewtopic&#038;t=75697">Ultimo tutorial JAAS para comunicação com a base de dados</a> que partiu de uma duvida no forum do JBoss sobre como implementar a especificação de seguridade e autenticação JAAS utilizando a base de dados num servidor de aplicação JBoss.</p>
<p>Também relacionado com JBoss, seguridade e autenticação são os wiki <a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=SecureJBoss">SecureJBoss</a> que é uma fonte de conhecimento compartilhada sobre como configurar o JBoss para máxima seguridade e a definicação na Wikipedia de <a href="http://en.wikipedia.org/wiki/Single_sign_on">Single sign-on (SSO)</a> que consiste em criar um único sistema de autenticação para diferentes aplicações.</p>
<p>O software livre não ficou atrás e assim chegamos a conhecer o <a href="http://www.winlibre.com/en/">WinLibre</a>, um portal com muito software livre para o sistema operativo Windows. Os que deixaram Windows atrás ficaram contentes ao ver o post chamado <a href="http://www.vagabondodigitale.com/2008/01/10-sites-offering-free-linux-courses-online.html">10 sites oferecendo cursos de Linux online de graça</a>, do blog italiano Vagabondo Digitale, que recompilo alguns sites como o da IBM ou da Novell com excelentes cursos. Para os que gostam de especialmente Ubuntu, foi interessante conhecer a revista <a href="http://fullcirclemagazine.org/">Full Circle Magazine</a> que trata sobre tudo o relacionado com o sistema operativo Ubuntu e também o programa <a href="http://ubuntu-tweak.com/downloads">Ubuntu Tweak</a>, que oferece muitas opções para alterar o mesmo. Muita gente pode estar querendo instalar o Java 6 no Ubuntu para treinar para alguma prova e o processo fica muito fácil depois de ler o artigo do Mundo Hev chamado <a href="http://mundohev.com/2007/12/28/instalando-java-16-no-ubuntu/">Instalando Java 6 (1.6) no Ubuntu</a>. Uma vez o Java corretamente instalado, a <a href="http://www.javaranch.com/roundup.jsp">pagina sobre as certificações Java</a> no portal JavaRanch pode nos ajudar bastante.</p>
<p>Voltando aos browsers, foi muito legal ver a <a href="http://www.amaltas.org/svgapp/">aplicação de demonstração de SVG</a> criada por Amaltas, o <a href="http://docs.jquery.com/Release:jQuery_1.2.2">release 1.2.2 do jQuery</a>, a <a href="http://extjs.com/blog/2007/07/10/css-selectors-speed-myths/">comparação dos diferentes CSS Selectors</a> em torno a velocidade realizada pelo pessoal do Ext JS e também a enorme quantidade (perto de 1000) de exemplos sobre Ajax, JavaScript e Dhtml que encontramos no site <a href="http://www.ajaxrain.com/">AjaxRain</a>.</p>
<p>Finalmente, outros dois links interessantes foram o do <a href="http://www.redmonk.com/cote/2007/12/12/eclipse-rap-overview-and-demo-screencast/">Overview sobre Eclipse RAP e o Screencast de demostração</a> criado por Michael Coté e o artigo escrito por Daniel Tenner chamado <a href="http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/">Como reconhecer um bom programador</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mouseoverstudio.com/blog/2008/01/19/recompilacao-dos-ultimos-links-interessantes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Melhorando a performance do Eclipse em 123</title>
		<link>http://www.mouseoverstudio.com/blog/2008/01/06/melhorando-a-performance-do-eclipse-em-123/</link>
		<comments>http://www.mouseoverstudio.com/blog/2008/01/06/melhorando-a-performance-do-eclipse-em-123/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 23:37:29 +0000</pubDate>
		<dc:creator>Diego Carrion</dc:creator>
		
		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[otimização]]></category>

		<guid isPermaLink="false">http://www.mouseoverstudio.com/blog/?p=44</guid>
		<description><![CDATA[Estava tendo alguns problemas de performance (permSpace) com o Eclipse e decidi procurar sobre assunto. Foi assim que cheguei nesse artigo de Riyad Kalla na EclipseZone chamado Tuning Eclipse Performance and Avoiding OutOfMemoryExceptions.
O artigo ja tem dois anos de vida mas mesmo assim foi de muita utilidade. Basicamente o que Riyad recomenda e inicializar o [...]]]></description>
			<content:encoded><![CDATA[<p>Estava tendo alguns problemas de performance (permSpace) com o Eclipse e decidi procurar sobre assunto. Foi assim que cheguei nesse artigo de <a href="http://www.eclipsezone.com/forums/profile.jspa?userID=40277">Riyad Kalla</a> na <a href="http://www.eclipsezone.com">EclipseZone</a> chamado <a href="http://www.eclipsezone.com/eclipse/forums/t61618.html">Tuning Eclipse Performance and Avoiding OutOfMemoryExceptions</a>.</p>
<p>O artigo ja tem dois anos de vida mas mesmo assim foi de muita utilidade. Basicamente o que Riyad recomenda e inicializar o Eclipse com os seguintes argumentos numa máquina com 1GB de memória RAM: </p>
<p>-vmargs -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m </p>
<p>No caso de possuir outra quantidade de memória RAM, basta com proporcionar os valores diretamente. Por exemplo, se tivermos uma máquina com 512 MB de RAM, os argumentos ficariam assi:</p>
<p>-vmargs -Xms256m -Xmx256m -XX:PermSize=64m -XX:MaxPermSize=64m</p>
<p>Os argumentos são especificados no arquivo eclipse.ini dentro da pasta principal do Eclipse. Nesse casso, os argumentos especificados servem para indicar a VM quanta memória ela pode usar para alocar classes e outros recursos. Ao possuir mas espaço disponível, a performance melhora. Somente não podemos dar a oportunidade dela poder pegar muita memória porque ali outras aplicações poderiam se ver afetadas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mouseoverstudio.com/blog/2008/01/06/melhorando-a-performance-do-eclipse-em-123/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eclipse, JBoss, Struts2, EJB3.0 na mesma máquina: começar assim!</title>
		<link>http://www.mouseoverstudio.com/blog/2008/01/02/eclipse-jboss-struts2-ejb30-na-mesma-maquina-comecar-assim/</link>
		<comments>http://www.mouseoverstudio.com/blog/2008/01/02/eclipse-jboss-struts2-ejb30-na-mesma-maquina-comecar-assim/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 11:28:53 +0000</pubDate>
		<dc:creator>Diego Carrion</dc:creator>
		
		<category><![CDATA[Tutoriales]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[ejb]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[jboss]]></category>

		<category><![CDATA[struts]]></category>

		<category><![CDATA[ejb3.0]]></category>

		<category><![CDATA[struts2]]></category>

		<guid isPermaLink="false">http://www.mouseoverstudio.com/blog/?p=39</guid>
		<description><![CDATA[Faz pouco tempo quis começar um projeto que utilizasse o application server e o web server ou web container na mesma máquina, no mesmo domínio. Não passou muito tempo ate descobrir que não ia dar certo do jeito que eu estava fazendo.
O que eu tinha feito foi criar uma Dynamic Web Application no Eclipse e [...]]]></description>
			<content:encoded><![CDATA[<p>Faz pouco tempo quis começar um projeto que utilizasse o application server e o web server ou web container na mesma máquina, no mesmo domínio. Não passou muito tempo ate descobrir que não ia dar certo do jeito que eu estava fazendo.</p>
<p>O que eu tinha feito foi criar uma Dynamic Web Application no Eclipse e seguidamente organizar meus pacotes. O problema era que no processo de deploy da minha aplicação, ela era compactada como um arquivo .war e por tal motivo JBoss não fazia o deploy dos meus EJB’s, esperando que eles estejam num arquivo .jar . Tentei então exportar minhas classes na mão para um arquivo .jar e ver que dava. Efetivamente o JBoss fez o deploy de meus EJB’s, mas aconteceu um problema: as classes ficaram repetidas no classpath, pelo que começaram a aparecer erros de CastException.</p>
<p>Comecei a pesquisar e pesquisar e terminei descobrindo que a solução era muito simples (e eu achando que ia ser complicado). A solução a meu problema consistia em criar dois projetos: um projeto EJB e um segundo projeto Dynamic Web Application, incluindo o primeiro no Class Path.</p>
<p>A continuação segue um possível caminho a seguir para começar a desenvolver uma aplicação com Eclipse, Struts2 e EJB utilizando JBoss desde o zero. No caso que alguma pessoa se encontre perdida num problema similar a o que eu teve, esta guia vai poder ajudar. Qualquer duvida por favor perguntar nos comentários. Estarei utilizando Eclipse Europa, JBoss v4.2, Struts2 e EJB3.0.</p>
<p>Dentro do Eclipse, começamos assim:</p>
<ol>
<li>
		File > New > Other.. . Dentro da pasta Web escolher Dynamic Web Project e fazer click em Next.
	</li>
<li>
		Escolher o nome do nosso projeto web server, o Target Runtime (JBoss v4.2 no meu caso) e fazer click em Finish. No caso de não tiver nenhum runtime configurado, passar para o ponto 2.1. Caso contrario, ir para o ponto 3.
<p />
<ol>
<li>
				Para configurar o runtime fazer click em New e dentro da pasta JBoss escolher JBoss v4.2. Seguidamente, fazer click em Next.<br />
				<center><br />
					<a href="/blog/tutoriales/3/1.jpg" rel="lightbox" class="imagelink"><br />
						<img alt="" src="/blog/tutoriales/3/1_t.jpg"/><br />
					</a><br />
				</center>
			</li>
<li>
				Escolher o JRE a utilizar e o diretório onde foi instalado o servidor. Terminar o processo de configuração do runtime fazendo click em Finish.
			</li>
</ol>
</li>
<li>
		File > New > Other.. . Dentro da pasta EJB escolher EJB Project e fazer click em Next. Escolher o nome do nosso projeto application server, o Target Runtime (o mesmo que no ponto 2) e fazer click em Finish.
	</li>
<p>	<center><br />
		<a href="/blog/tutoriales/3/2.jpg" rel="lightbox" class="imagelink"><br />
			<img alt="" src="/blog/tutoriales/3/2_t.jpg"/><br />
		</a><br />
	</center></p>
<li>
		Dentro do projeto do application server, click direito na pasta ejbModule > New > Interface . Escolher como nome do pacote com.mouseoverstudio.com.ejb e como nome da interface Teste. Fazer click em Finish. Nossa interface ficara da seguinte maneira:</p>
<pre class="prettyprint">
package com.mouseoverstudio.com.ejb;

import javax.ejb.Local;

@Local
public interface Teste {

    public String getMensagem();

}
</pre>
</li>
<li>
		Click direito na pasta ejbModule > New > Class. Escolher novamente como package com.mouseoverstudio.com.ejb e TesteBean como nome da classe. Fazer click em Add e escolher a interface Teste, dentro do pacote atual. Seguidamente fazer click em Ok e logo em Finish. Nossa classe TesteBean ficara assim:</p>
<pre class="prettyprint">
package com.mouseoverstudio.com.ejb;

import javax.ejb.Stateless;

@Stateless
public class TesteBean implements Teste {

    public String getMensagem() {
	return “EJB3.0@MouseOver Studio”;
    }

}
</pre>
</li>
<li>
		Copiar os arquivos .jar localizados na pasta lib dentro do diretório do Struts e colocar eles dentro da pasta /mos-web-server/WebContent/WEB-INF/lib
	</li>
<li>
		No projeto web server, click direito na pasta principal > Build Path > Configure Build Path… . Escolher a aba Projects seguidamente de Add… , escolher o projeto application server, fazer click em Next e terminar o processo de importação fazendo click em Next novamente.
	</li>
<li>
		Abrir para edição o arquivo WebContent/WEB-INF/web.xml dentro do projeto web server e adicionar o seguinte código dentro do nodo web-app. Seguidamente salvar.</p>
<pre>
<code class="prettyprint">
&lt;filter&gt;
        &lt;filter-name&gt;struts2&lt;/filter-name&gt;
        &lt;filter-class&gt;
            org.apache.struts2.dispatcher.FilterDispatcher
        &lt;/filter-class&gt;
&lt;/filter&gt;
&lt;filter-mapping&gt;
        &lt;filter-name&gt;struts2&lt;/filter-name&gt;
        &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
&lt;/filter-mapping&gt;
</code>
</pre>
</li>
<li>
		Dentro da pasta src, criar o arquivo struts.xml:<br />
<code class="prettyprint"><br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;!DOCTYPE struts PUBLIC &quot;-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quot; &quot;http://struts.apache.org/dtds/struts-2.0.dtd&quot;&gt;<br />
&lt;struts&gt;<br />
        &lt;package name=&quot;main&quot; namespace=&quot;/&quot; extends=&quot;struts-default&quot;&gt;<br />
                &lt;action name=&quot;teste&quot; class=&quot;com.mouseoverstudio.action.TesteAction&quot;&gt;<br />
                        &lt;result name=&quot;input&quot;&gt;/main.jsp&lt;/result&gt;<br />
                &lt;/action&gt;<br />
        &lt;/package&gt;<br />
&lt;/struts&gt;<br />
</code>
	</li>
<li>
		Click direito na pasta src > New > Other… . Dentro da pasta Java escolher Class e fazer click em Next. O nome do package sera com.mouseoverstudio.action e o nome da classe TesteAction. Seguidamente fazer click em Finish. Segue o código da nova classe:</p>
<pre class="prettyprint">
package com.mouseoverstudio.action;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.mouseoverstudio.com.ejb.Teste;
import com.opensymphony.xwork2.ActionSupport;

public class TesteAction extends ActionSupport {

        private String mensagem;

        public String execute() throws NamingException {
                System.out.println("Executando TesteAction.execute");
                InitialContext ctx = new InitialContext();
                Teste t = (Teste) ctx.lookup("TesteBean/local");
                mensagem = t.getMensagem();
                return INPUT;
        }

        public String getMensagem() {
                return mensagem;
        }

}
</pre>
</li>
<li>
		Dentro da pasta WebContent, criar o arquivo main.jsp com o seguinte modelo:<br />
<code class="prettyprint"><br />
&lt;%@ taglib prefix=&quot;s&quot; uri=&quot;/struts-tags&quot; %&gt;<br />
&lt;html&gt;<br />
        &lt;head&gt;MouseOver Studio&lt;/head&gt;<br />
        &lt;body&gt;<br />
                &lt;s:property value=&quot;mensagem&quot;/&gt;<br />
        &lt;/body&gt;<br />
&lt;/html&gt;<br />
</code>
	</li>
<li>
		Acessar File > New > Other… . Dentro da pasta Server escolher Server e fazer click em Next. Dentro da pasta JBoss escolher Boss v4.2 e fazer click em Next duas vezes. Selecionar os projetos criados e fazer click em Add. Terminar o processo fazendo click em Finish.
	</li>
<li>
		Acessar Window > Show View > Other… . Dentro da pasta Server escolher Servers e fazer click em Ok.
	</li>
<li>
		Na aba Servers, fazer click direito no servidor JBoss e despois na opção start.
	</li>
<li>
		Quando o server terminar de iniciar, acessar http://localhost:8080/mos-web-server/teste.action
	</li>
</ol>
<p>Isso foi tudo, não esqueçam de perguntar sobre qualquer dúvida. Ate mais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mouseoverstudio.com/blog/2008/01/02/eclipse-jboss-struts2-ejb30-na-mesma-maquina-comecar-assim/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
