<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4821906110865816683</id><updated>2011-12-14T19:09:50.632-08:00</updated><title type='text'>Learn and Earn</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zer0d4y-en.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821906110865816683/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zer0d4y-en.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dhanis goes online</name><uri>http://www.blogger.com/profile/03023786878298200352</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4821906110865816683.post-6247321181661368513</id><published>2008-09-21T02:05:00.000-07:00</published><updated>2008-09-21T22:00:50.575-07:00</updated><title type='text'>GWT 1.5.2 + GWT-EXT 2.0.5 + extjs 2.0.2 + Netbeans 6.1</title><content type='html'>This tutorial is similar with what Dariusz Borowski create login script but i use netbeans 6.1.&lt;br /&gt;First, you need to prepare all stuff&lt;br /&gt;&lt;br /&gt;1. JDK 6 update 5 http://&lt;cite&gt;java.sun.com/&lt;/cite&gt;&lt;br /&gt;2. netbeans 6.1 http://www.netbeans.org/ . i use netbeans DVD that include point 1 and 2&lt;br /&gt;3. gwt4nb https://gwt4nb.dev.java.net/&lt;br /&gt;4. GWT-ext 2.05 or later http://code.google.com/p/gwt-ext/&lt;br /&gt;5. EXTJS 2.02 http://yogurtearl.com/ext-2.0.2.zip&lt;br /&gt;&lt;br /&gt;after your ammo is ready then&lt;br /&gt;1. install JDK... very clear path&lt;br /&gt;&lt;br /&gt;2. install netbeans... very clear path&lt;br /&gt;&lt;br /&gt;3. install gwt4nb&lt;br /&gt;you can follow this step https://gwt4nb.dev.java.net/manual/quickstart.html&lt;br /&gt;&lt;br /&gt;4. install GWT-ext&lt;br /&gt;just extract to d:\ . it's my way you can extract anywhere you like.&lt;br /&gt;&lt;br /&gt;Start with&lt;br /&gt;&lt;br /&gt;creating new project -&gt;Web -&gt; Web Application&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3182/2870026206_91fdf67ddf.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3182/2870026206_91fdf67ddf.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Click Next, i put on d:\myprojects then put "gwtext"&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3150/2870026208_2b9a94c2fb.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3150/2870026208_2b9a94c2fb.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;click Next,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3019/2870026210_6ee74b0bd0.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3019/2870026210_6ee74b0bd0.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Click Next,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3056/2870026212_054d1f511c.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3056/2870026212_054d1f511c.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pick Google Web Toolkit as frame work then point GWT Installation to your GWT installation directory. i put GWT module's name as default.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3016/2870026228_8c84859837.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3016/2870026228_8c84859837.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;then you can see the project is ready. You need to create GWT RPC service. by right click on "Source Packages" -&gt; New -&gt; GWT RPC  Service....&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3167/2870026234_6bab7cc6cc.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3167/2870026234_6bab7cc6cc.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then Click Next,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3218/2870030390_0b1e9e9ba4.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3218/2870030390_0b1e9e9ba4.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After you have done, now time to add GWT-ext library by right click on project "gwtext"&lt;br /&gt;then choose properties. Window will show like picture bellow. Then choose Libraries, add Jar&lt;br /&gt;then point to file gwtext.jar&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3194/2870030392_ce2ac845cd.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3194/2870030392_ce2ac845cd.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, it's happy codding...&lt;br /&gt;&lt;br /&gt;open welcomeGWT.html under Web Pages.&lt;br /&gt;&lt;br /&gt;change into this code&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta name="'gwt:module'" content="'org.yournamehere.Main=" main=""&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" type="text/css" href="js/ext/resources/css/ext-all.css"&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/ext/adapter/ext/ext-base.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/ext/ext-all.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="org.yournamehere.Main/org.yournamehere.Main.nocache.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Main&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;div id="login_widget"&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;Next is copying extjs library. Create directory js under Web Pages then put extjs into it.&lt;br /&gt;Please take look picture bellow.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3156/2870095226_5edd027af2.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3156/2870095226_5edd027af2.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now move to Main.gwt.xml you can find under org.yournamehere packages&lt;br /&gt;&lt;br /&gt;add  this text&lt;br /&gt;&amp;lt;inherits name="com.gwtext.GwtExt" /&amp;gt;&lt;br /&gt;&lt;br /&gt;after this line&lt;br /&gt;&amp;lt;inherits name="com.google.gwt.user.User"/&amp;gt;&lt;br /&gt;&lt;br /&gt;change your GWTservice.java under client package&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package org.yournamehere.client;&lt;br /&gt;import java.util.Map;&lt;br /&gt;import com.google.gwt.core.client.GWT;&lt;br /&gt;import com.google.gwt.user.client.rpc.RemoteService;&lt;br /&gt;import com.google.gwt.user.client.rpc.ServiceDefTarget;&lt;br /&gt;public interface GWTService extends RemoteService  {&lt;br /&gt;public static final String SERVICE_URI = "/gwtservice";&lt;br /&gt;   public static class Util {&lt;br /&gt;      public static GWTServiceAsync getInstance() {&lt;br /&gt;         GWTServiceAsync instance = (GWTServiceAsync) GWT.create(GWTService.class);&lt;br /&gt;         ServiceDefTarget target = (ServiceDefTarget) instance;&lt;br /&gt;         target.setServiceEntryPoint(GWT.getModuleBaseURL() + SERVICE_URI);&lt;br /&gt;         return instance;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;   public boolean userIsValid( Map loginData );&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GWTserviceAsync&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package org.yournamehere.client;&lt;br /&gt;import java.util.Map;&lt;br /&gt;import com.google.gwt.user.client.rpc.AsyncCallback;&lt;br /&gt;public interface GWTServiceAsync {&lt;br /&gt;   public void userIsValid( Map loginData, AsyncCallback callback );&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;MainEntryPoint.java&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package org.yournamehere.client;&lt;br /&gt;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;import java.util.Map;&lt;br /&gt;import com.google.gwt.core.client.EntryPoint;&lt;br /&gt;import com.google.gwt.core.client.GWT;&lt;br /&gt;import com.google.gwt.user.client.rpc.AsyncCallback;&lt;br /&gt;import com.google.gwt.user.client.rpc.ServiceDefTarget;&lt;br /&gt;import com.google.gwt.user.client.ui.RootPanel;&lt;br /&gt;import com.gwtext.client.core.EventObject;&lt;br /&gt;import com.gwtext.client.widgets.Button;&lt;br /&gt;import com.gwtext.client.widgets.MessageBox;&lt;br /&gt;import com.gwtext.client.widgets.Panel;&lt;br /&gt;import com.gwtext.client.widgets.event.ButtonListenerAdapter;&lt;br /&gt;import com.gwtext.client.widgets.form.Form;&lt;br /&gt;import com.gwtext.client.widgets.form.FormPanel;&lt;br /&gt;import com.gwtext.client.widgets.form.TextField;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class MainEntryPoint implements EntryPoint {&lt;br /&gt;private TextField fName = null;&lt;br /&gt;   private TextField passWord = null;&lt;br /&gt;   private Button loginButton = null;&lt;br /&gt;   private Panel loginPanel = new Panel();&lt;br /&gt;   private FormPanel formPanel = new FormPanel();&lt;br /&gt;   public void onModuleLoad() {&lt;br /&gt;      // call the async login service&lt;br /&gt;      final GWTServiceAsync loginService = ( GWTServiceAsync )GWT&lt;br /&gt;                              .create( GWTService.class );&lt;br /&gt;      ServiceDefTarget endpoint = ( ServiceDefTarget )loginService;&lt;br /&gt;      String moduleRelativeURL = GWT.getModuleBaseURL()+"gwtservice";&lt;br /&gt;      endpoint.setServiceEntryPoint( moduleRelativeURL );&lt;br /&gt;      this.setLoginPanel();&lt;br /&gt;      final AsyncCallback callback = new AsyncCallback()&lt;br /&gt;      {&lt;br /&gt;         public void onSuccess( Object result ) {&lt;br /&gt;            // take the result coming from the server&lt;br /&gt;            boolean ok = Boolean.valueOf( result.toString() ).booleanValue();&lt;br /&gt;            if( ok )&lt;br /&gt;            {&lt;br /&gt;               MessageBox.alert( "Success", "Successfully logged in!");&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;               MessageBox.alert( "Invalid", "Wrong username or password");&lt;br /&gt;            }&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;         public void onFailure( Throwable caught ) {&lt;br /&gt;            MessageBox.alert( "Error", "Error while logging in" );&lt;br /&gt;         }&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;      loginButton = new Button( "Login" );&lt;br /&gt;      loginButton.addListener( new ButtonListenerAdapter() {&lt;br /&gt;         public void onClick( Button button, EventObject e ) {&lt;br /&gt;            Map loginData = getUserData( formPanel.getForm() );&lt;br /&gt;            loginService.userIsValid( loginData, callback );&lt;br /&gt;         }&lt;br /&gt;      });&lt;br /&gt;      formPanel.addButton( loginButton );&lt;br /&gt;      loginPanel.setBorder( false );&lt;br /&gt;      loginPanel.setPaddings( 5 );&lt;br /&gt;      loginPanel.add( formPanel );&lt;br /&gt;      RootPanel.get("login_widget").add( loginPanel );&lt;br /&gt;   }&lt;br /&gt;   // setup login panel&lt;br /&gt;   private void setLoginPanel()&lt;br /&gt;   {&lt;br /&gt;      formPanel.setFrame(true);&lt;br /&gt;      formPanel.setTitle( "Simple Login Form" );&lt;br /&gt;      formPanel.setWidth(350);&lt;br /&gt;      formPanel.setLabelWidth(75);&lt;br /&gt;      formPanel.setUrl( "save-form.php" );&lt;br /&gt;      fName = new TextField( "Username", "userName", 230 );&lt;br /&gt;      fName.setAllowBlank( false );&lt;br /&gt;      fName.focus();&lt;br /&gt;      formPanel.add( fName ); &lt;br /&gt;      passWord = new TextField( "Password", "pswd", 230 );&lt;br /&gt;      passWord.setInputType( "password" );&lt;br /&gt;      formPanel.add( passWord );&lt;br /&gt;   }&lt;br /&gt;  // prepare data for sending to the server&lt;br /&gt;   private Map getUserData( Form form )&lt;br /&gt;   {&lt;br /&gt;      String formValues = form.getValues();&lt;br /&gt;      Map loginData = new HashMap();&lt;br /&gt;      String[] nameValuePairs = formValues.split( "&amp;amp;" );&lt;br /&gt;      for (int i = 0; i &lt; nameValuePairs.length; i++) {&lt;br /&gt;        String[] oneItem = nameValuePairs[i].split( "=" );&lt;br /&gt;         loginData.put( oneItem[0], oneItem[1] );&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;      return loginData;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;GWTServiceImpl.java&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package org.yournamehere.server;&lt;br /&gt;import java.util.Map;&lt;br /&gt;import org.yournamehere.client.GWTService;&lt;br /&gt;import com.google.gwt.user.server.rpc.RemoteServiceServlet;&lt;br /&gt;&lt;br /&gt;public class GWTServiceImpl extends RemoteServiceServlet implements GWTService {&lt;br /&gt;// Here it should be something more useful e.g. sending&lt;br /&gt;// a request to LDAP server&lt;br /&gt;   public boolean userIsValid( Map loginData )&lt;br /&gt;   {&lt;br /&gt;      boolean accepted = false;&lt;br /&gt;      String name = loginData.get( "userName" ).toString();&lt;br /&gt;      String pswd = loginData.get( "pswd" ).toString();&lt;br /&gt;      if( name.equals( "guest" ) &amp;amp;&amp;amp; pswd.equals( "guest" ) )&lt;br /&gt;      {&lt;br /&gt;         accepted = true;&lt;br /&gt;      }&lt;br /&gt;      return accepted;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;now try to clean and build then run.....&lt;br /&gt;&lt;br /&gt;try using username guest and password guest&lt;br /&gt;&lt;br /&gt;you will get this picture&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3244/2870173510_572394037b.jpg?v=0"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://farm4.static.flickr.com/3244/2870173510_572394037b.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Problem found on netbeans 6.1&lt;br /&gt;&lt;br /&gt;after you install please update plugins especially plugin with category "base".&lt;br /&gt;&lt;br /&gt;then when you try to build using default configuration error with "Exception in thread "main" java.lang.OutOfMemoryError: Java heap space"&lt;br /&gt;&lt;br /&gt;you can fix temporary by add&lt;br /&gt;this text&lt;br /&gt;&amp;lt;jvmarg value="-Xmx512m" /&amp;gt;&lt;br /&gt;&lt;br /&gt;after&lt;br /&gt;&amp;lt;arg value="${gwt.module}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;inside build-gwt.xml inside nbproject directory&lt;br /&gt;&lt;br /&gt;or you can download &lt;a href="http://rapidshare.com/files/146551529/org-netbeans-modules-gwt4nb.jar.html"&gt;org-netbeans-modulesgwt4nb&lt;/a&gt; modules to replace your current gwt4nb inside .netbeans/6.1/modules/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821906110865816683-6247321181661368513?l=zer0d4y-en.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zer0d4y-en.blogspot.com/feeds/6247321181661368513/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821906110865816683&amp;postID=6247321181661368513' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821906110865816683/posts/default/6247321181661368513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821906110865816683/posts/default/6247321181661368513'/><link rel='alternate' type='text/html' href='http://zer0d4y-en.blogspot.com/2008/09/gwt-152-gwt-ext-205-extjs-202-netbeans.html' title='GWT 1.5.2 + GWT-EXT 2.0.5 + extjs 2.0.2 + Netbeans 6.1'/><author><name>Dhanis goes online</name><uri>http://www.blogger.com/profile/03023786878298200352</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
