<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Inside Java2Script &#187; Tutorials</title>
	<atom:link href="http://inside.java2script.com/category/tutorials/feed" rel="self" type="application/rss+xml" />
	<link>http://inside.java2script.com</link>
	<description>A Book about Java to JavaScript Details</description>
	<lastBuildDate>Mon, 22 Sep 2008 23:21:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Tutorial of Java2Script SWT and Simple RPC Application</title>
		<link>http://inside.java2script.com/2007/06/02/tutorial-of-java2script-swt-and-simple-rpc-application.html</link>
		<comments>http://inside.java2script.com/2007/06/02/tutorial-of-java2script-swt-and-simple-rpc-application.html#comments</comments>
		<pubDate>Sat, 02 Jun 2007 09:23:42 +0000</pubDate>
		<dc:creator>Zhou Renjian</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://inside.java2script.com/2007/06/02/tutorial-of-java2script-swt-and-simple-rpc-application.html</guid>
		<description><![CDATA[In this article, I will show you a simple example using Java2Script Simple RPC (For "what is Java2Script Simple RPC? ", please read this post). Step 1. Create a Java2Script Servlet Project Here are instructions: File -> New -> Project &#8230; <a href="http://inside.java2script.com/2007/06/02/tutorial-of-java2script-swt-and-simple-rpc-application.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In this article, I will show you a simple example using Java2Script Simple RPC (For "<a href="http://inside.java2script.com/2007/05/23/what-is-java2scripts-simplerpc.html">what is Java2Script Simple RPC?</a> ", please read <a href="http://inside.java2script.com/2007/05/23/what-is-java2scripts-simplerpc.html">this post</a>).</p>
<p>Step 1. Create a Java2Script Servlet Project</p>
<p>Here are instructions: File -> New -> Project ... -> Java2Script -> Java2Script Servlet Proejct -> Next -> Key in project name and select "Create separate folders for sources and class files" -> Next or Finish or Finish on next page</p>
<p><a href="http://inside.java2script.com/files/2007/06/create-java2script-project-menu.png" title="Create Java2Script Project Menu Screenshot"><img src="http://inside.java2script.com/files/2007/06/create-java2script-project-menu.png" alt="Create Java2Script Project Menu Screenshot" /></a></p>
<p><a href="http://inside.java2script.com/files/2007/06/create-java2script-project-select.png" title="Create Java2Script Project Select Screenshot"><img src="http://inside.java2script.com/files/2007/06/create-java2script-project-select.png" alt="Create Java2Script Project Select Screenshot" /></a></p>
<p><a href="http://inside.java2script.com/files/2007/06/create-java2script-project-wizard.png" title="Create Java2Script Project Wizard Screenshot"><img src="http://inside.java2script.com/files/2007/06/create-java2script-project-wizard.png" alt="Create Java2Script Project Wizard Screenshot" /></a></p>
<p>When finish this step, try to expand the project sources, you should get similar structures as below:</p>
<p><a href="http://inside.java2script.com/files/2007/06/java2script-simple-rpc-project-structure.png" title="Java2Script Servlet Project Sources Structure"><img src="http://inside.java2script.com/files/2007/06/java2script-simple-rpc-project-structure.png" alt="Java2Script Servlet Project Sources Structure" /></a></p>
<p>Later, I will explain more about every files.</p>
<p>Step 2. Create an SWT Application</p>
<p>Here are instructions: Select "src" source folder and create package named "org.java2script.demo.simplerpc", and create a class name "SimpleSWTRPC" in that package. The class' source is as following:</p>
<blockquote class="code"><p><code><span class="keyword">package</span> org.java2script.demo.simplerpc;</p>
<p><span class="keyword">import</span> net.sf.j2s.ajax.SimpleRPCSWTRequest;</p>
<p><span class="keyword">import</span> org.eclipse.swt.SWT;<br />
<span class="keyword">import</span> org.eclipse.swt.events.SelectionAdapter;<br />
<span class="keyword">import</span> org.eclipse.swt.events.SelectionEvent;<br />
<span class="keyword">import</span> org.eclipse.swt.layout.FillLayout;<br />
<span class="keyword">import</span> org.eclipse.swt.layout.GridData;<br />
<span class="keyword">import</span> org.eclipse.swt.layout.GridLayout;<br />
<span class="keyword">import</span> org.eclipse.swt.widgets.Button;<br />
<span class="keyword">import</span> org.eclipse.swt.widgets.Composite;<br />
<span class="keyword">import</span> org.eclipse.swt.widgets.Display;<br />
<span class="keyword">import</span> org.eclipse.swt.widgets.Label;<br />
<span class="keyword">import</span> org.eclipse.swt.widgets.Shell;<br />
<span class="keyword">import</span> org.eclipse.swt.widgets.Text;</p>
<p><span class="keyword">public</span> <span class="keyword">class</span> SimpleSWTRPC <span class="keyword">extends</span> Shell <span class="scope">{</span></p>
<p>    <span class="keyword">private</span> Text responseText;<br />
    <span class="keyword">private</span> Text requestText;<br />
    <span class="keyword">private</span> Label statusLabel;<br />
    <span class="comment">/**<br />
	 * Launch the application<br />
	 * @param args<br />
	 */</span><br />
    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> main(String args[]) <span class="scope">{</span><br />
        try <span class="scope">{</span><br />
            Display display = Display.getDefault();<br />
            SimpleSWTRPC shell = <span class="keyword">new</span> SimpleSWTRPC(display, SWT.SHELL_TRIM);<br />
            shell.open();<br />
            shell.layout();<br />
            <span class="keyword">while</span> (!shell.isDisposed()) <span class="scope">{</span><br />
                <span class="keyword">if</span> (!display.readAndDispatch())<br />
                    display.sleep();<br />
            <span class="scope">}</span><br />
        <span class="scope">}</span> catch (Exception e) <span class="scope">{</span><br />
            e.printStackTrace();<br />
        <span class="scope">}</span><br />
    <span class="scope">}</span></p>
<p>    <span class="comment">/**<br />
	 * Create the shell<br />
	 * @param display<br />
	 * @param style<br />
	 */</span><br />
    <span class="keyword">public</span> SimpleSWTRPC(Display display, <span class="keyword">int </span>style) <span class="scope">{</span><br />
        <span class="keyword">super</span>(display, style);<br />
        createContents();<br />
        setLayout(<span class="keyword">new</span> FillLayout());<br />
    <span class="scope">}</span></p>
<p>    <span class="comment">/**<br />
	 * Create contents of the window<br />
	 */</span><br />
    <span class="keyword">protected</span> <span class="keyword">void</span> createContents() <span class="scope">{</span><br />
        setText(<span class="string">&quot;Hello SWT &amp; Simple RPC&quot;</span>);<br />
        setSize(371, 300);</p>
<p>        <span class="keyword">final</span> Composite composite = <span class="keyword">new</span> Composite(<span class="keyword">this</span>, SWT.NONE);<br />
        composite.setLayout(<span class="keyword">new</span> GridLayout());</p>
<p>        <span class="keyword">final</span> Label requestLabel = <span class="keyword">new</span> Label(composite, SWT.NONE);<br />
        <span class="keyword">final</span> GridData gd_requestLabel = <span class="keyword">new</span> GridData(SWT.FILL, SWT.CENTER, <span class="keyword">true</span>, <span class="keyword">false</span>);<br />
        requestLabel.setLayoutData(gd_requestLabel);<br />
        requestLabel.setText(<span class="string">&quot;Request:&quot;</span>);</p>
<p>        requestText = <span class="keyword">new</span> Text(composite, SWT.MULTI | SWT.BORDER);<br />
        <span class="keyword">final</span> GridData gd_requestText = <span class="keyword">new</span> GridData(SWT.FILL, SWT.FILL, <span class="keyword">true</span>, <span class="keyword">true</span>);<br />
        gd_requestText.heightH<span class="keyword">int </span>= 80;<br />
        gd_requestText.minimumHeight = 80;<br />
        requestText.setLayoutData(gd_requestText);</p>
<p>        <span class="keyword">final</span> Button sendButton = <span class="keyword">new</span> Button(composite, SWT.NONE);<br />
        sendButton.addSelectionListener(<span class="keyword">new</span> SelectionAdapter() <span class="scope">{</span><br />
            <span class="keyword">public</span> <span class="keyword">void</span> widgetSelected(SelectionEvent e) <span class="scope">{</span><br />
                statusLabel.setText(<span class="string">&quot;Sending request ...&quot;</span>);<br />
                String text = requestText.getText();<br />
                text = <span class="string">&quot;[Server echo]:&quot;</span> + text;<br />
                responseText.setText(text);<br />
                statusLabel.setText(<span class="string">&quot;Server responded.&quot;</span>);<br />
            <span class="scope">}</span><br />
        <span class="scope">}</span>);<br />
        <span class="keyword">final</span> GridData gd_sendButton = <span class="keyword">new</span> GridData(SWT.RIGHT, SWT.CENTER, <span class="keyword">false</span>, <span class="keyword">false</span>);<br />
        sendButton.setLayoutData(gd_sendButton);<br />
        sendButton.setText(<span class="string">&quot;Send Simple RPC Request&quot;</span>);</p>
<p>        <span class="keyword">final</span> Label reponseLabel = <span class="keyword">new</span> Label(composite, SWT.NONE);<br />
        reponseLabel.setText(<span class="string">&quot;Reponse:&quot;</span>);</p>
<p>        responseText = <span class="keyword">new</span> Text(composite, SWT.MULTI | SWT.READ_ONLY | SWT.BORDER);<br />
        <span class="keyword">final</span> GridData gd_responseText = <span class="keyword">new</span> GridData(SWT.FILL, SWT.FILL, <span class="keyword">true</span>, <span class="keyword">true</span>);<br />
        gd_responseText.heightH<span class="keyword">int </span>= 80;<br />
        responseText.setLayoutData(gd_responseText);</p>
<p>        statusLabel = <span class="keyword">new</span> Label(composite, SWT.BORDER);<br />
        <span class="keyword">final</span> GridData gd_statusLabel = <span class="keyword">new</span> GridData(SWT.FILL, SWT.CENTER, <span class="keyword">true</span>, <span class="keyword">false</span>);<br />
        statusLabel.setLayoutData(gd_statusLabel);<br />
        statusLabel.setText(<span class="string">&quot;...&quot;</span>);<br />
        <span class="comment">//</span><br />
    <span class="scope">}</span></p>
<p>    @Override<br />
    <span class="keyword">protected</span> <span class="keyword">void</span> checkSub<span class="keyword">class</span>() <span class="scope">{</span><br />
        <span class="comment">// Disable the check that prevents subclassing of SWT components</span><br />
    <span class="scope">}</span></p>
<p><span class="scope">}</span></code></p></blockquote>
<p><a href="http://inside.java2script.com/files/2007/06/wb-create-swt-shell.png" title="Use Instantiations’ WindowBuilder Pro to Design SWT Application"><img src="http://inside.java2script.com/files/2007/06/wb-create-swt-shell.png" alt="Use Instantiations’ WindowBuilder Pro to Design SWT Application" /></a></p>
<p>I used <a href="http://windowbuilderpro.com/">Instantiations' WindowBuilder Pro</a> (also known as SWT Designer) to generate the above codes. I only wrote a few lines as:</p>
<blockquote class="code"><p><code>sendButton.addSelectionListener(<span class="keyword">new</span> SelectionAdapter() <span class="scope">{</span><br />
    <span class="keyword">public</span> <span class="keyword">void</span> widgetSelected(SelectionEvent e) <span class="scope">{</span><br />
        statusLabel.setText(<span class="string">&quot;Sending request ...&quot;</span>);<br />
        String text = requestText.getText();<br />
        text = <span class="string">&quot;[Server echo]:&quot;</span> + text;<br />
        responseText.setText(text);<br />
        statusLabel.setText(<span class="string">&quot;Server responded.&quot;</span>);<br />
    <span class="scope">}</span><br />
<span class="scope">}</span>);</code></p></blockquote>
<p>Step 3. Run as Java Application and Java2Script.</p>
<p>Use context menu to "Run as" -> Java Application, and "Run as" -> Java2Script Application. You should get things work.</p>
<p><a href="http://inside.java2script.com/files/2007/06/java2script-hello-native-swt.png" title="Java2Script Example Run as Native SWT Desktop Application"><img src="http://inside.java2script.com/files/2007/06/java2script-hello-native-swt.png" alt="Java2Script Example Run as Native SWT Desktop Application" /></a></p>
<p><a href="http://inside.java2script.com/files/2007/06/java2script-hello-browser.png" title="Java2Script Example Run as Java2Script Application Inside Browser"><img src="http://inside.java2script.com/files/2007/06/java2script-hello-browser.png" alt="Java2Script Example Run as Java2Script Application Inside Browser" /></a></p>
<p>Step 4. Add Simple RPC into Example</p>
<p>Now it is time to move</p>
<blockquote class="code"><p><code>text = <span class="string">&quot;[Server echo]:&quot;</span> + text;</code></p></blockquote>
<p>to the server side.</p>
<p>First, create a new EchoRunnable class extending net.sf.j2s.ajax.SimpleRPCRunnable as follow:</p>
<blockquote class="code"><p><code><span class="keyword">package</span> org.java2script.demo.simplerpc;</p>
<p><span class="keyword">import</span> net.sf.j2s.ajax.SimpleRPCRunnable;</p>
<p><span class="keyword">public</span> <span class="keyword">class</span> EchoRPCRunnable <span class="keyword">extends</span> SimpleRPCRunnable <span class="scope">{</span></p>
<p>    <span class="keyword">public</span> String text;</p>
<p>    <span class="keyword">public</span> <span class="keyword">void</span> ajaxRun() <span class="scope">{</span><br />
        text = <span class="string">&quot;[Server echo]:&quot;</span> + text;<br />
    <span class="scope">}</span></p>
<p><span class="scope">}</span></code></p></blockquote>
<p>Then modify button's event handler as follow:</p>
<blockquote class="code"><p><code>        sendButton.addSelectionListener(<span class="keyword">new</span> SelectionAdapter() <span class="scope">{</span><br />
            <span class="keyword">public</span> <span class="keyword">void</span> widgetSelected(SelectionEvent e) <span class="scope">{</span><br />
                statusLabel.setText(<span class="string">&quot;Sending request ...&quot;</span>);<br />
                SimpleRPCSWTRequest.swtRequest(<span class="keyword">new</span> EchoRPCRunnable() <span class="scope">{</span></p>
<p>                    <span class="keyword">public</span> <span class="keyword">void</span> ajaxIn() <span class="scope">{</span><br />
                        text = requestText.getText();;<br />
                    <span class="scope">}</span></p>
<p>                    <span class="keyword">public</span> <span class="keyword">void</span> ajaxOut() <span class="scope">{</span><br />
                        responseText.setText(text);<br />
                        statusLabel.setText(<span class="string">&quot;Server responded.&quot;</span>);<br />
                    <span class="scope">}</span></p>
<p>                    <span class="keyword">public</span> <span class="keyword">void</span> ajaxFail() <span class="scope">{</span><br />
                        statusLabel.setText(<span class="string">&quot;Request failed.&quot;</span>);<br />
                    <span class="scope">}</span></p>
<p>                <span class="scope">}</span>);<br />
            <span class="scope">}</span><br />
        <span class="scope">}</span>);</code></p></blockquote>
<p>Re-test the application in native Java SWT application mode. It should work as expected.</p>
<p>Step 5.? Deploy Java2Script Simple RPC Application</p>
<p>Open WEB-INF/web.xml and add org.java2script.demo.simplerpc.EchoRunnable to simple.rpc.runnables list. Here is the web.xml:</p>
<blockquote class="code"><p><code><span class="tag">&lt;</span>?xml version=<span class="string">&quot;1.0&quot;</span> encoding=<span class="string">&quot;ISO-8859-1&quot;</span>?<span class="tag">&gt;</span><br />
<span class="tag">&lt;</span>!DOCTYPE web-app<br />
    PUBLIC <span class="string">&quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quot;</span><br />
    <span class="string">&quot;http://java.sun.com/dtd/web-app_2_3.dtd&quot;</span><span class="tag">&gt;</span><br />
<span class="tag">&lt;</span>web-app<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>display-name<span class="tag">&gt;</span>Java2Script<span class="tag">&lt;</span>/display-name<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>description<span class="tag">&gt;</span>Java2Script application<span class="tag">&lt;</span>/description<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>servlet<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>servlet-name<span class="tag">&gt;</span>simplerpc<span class="tag">&lt;</span>/servlet-name<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>servlet-<span class="keyword">class</span><span class="tag">&gt;</span>net.sf.j2s.ajax.SimpleRPCHttpServlet<span class="tag">&lt;</span>/servlet-<span class="keyword">class</span><span class="tag">&gt;</span><br />
           <span class="tag">&lt;</span>init-param<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-name<span class="tag">&gt;</span>simple.rpc.runnables<span class="tag">&lt;</span>/param-name<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>!--<br />
              Qual<span class="keyword">if</span>ied names of inherited net.sf.j2s.ajax.SimpleRPCRunnable<br />
              <span class="keyword">class</span>es, seperated by <span class="string">&quot;;&quot;</span>.<br />
            --<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-value<span class="tag">&gt;</span><br />
                org.java2script.demo.simplerpc.EchoRPCRunnable<br />
            <span class="tag">&lt;</span>/param-value<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>/init-param<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>init-param<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-name<span class="tag">&gt;</span>simple.rpc.xss.support<span class="tag">&lt;</span>/param-name<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-value<span class="tag">&gt;</span><span class="keyword">true</span><span class="tag">&lt;</span>/param-value<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>/init-param<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>!--<br />
        <span class="tag">&lt;</span>init-param<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-name<span class="tag">&gt;</span>simple.rpc.post.limit<span class="tag">&lt;</span>/param-name<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-value<span class="tag">&gt;</span>16777216<span class="tag">&lt;</span>/param-value<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>/init-param<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>init-param<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-name<span class="tag">&gt;</span>simple.rpc.xss.max.parts<span class="tag">&lt;</span>/param-name<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-value<span class="tag">&gt;</span>8<span class="tag">&lt;</span>/param-value<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>/init-param<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>init-param<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-name<span class="tag">&gt;</span>simple.rpc.xss.max.latency<span class="tag">&lt;</span>/param-name<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>param-value<span class="tag">&gt;</span>6000<span class="tag">&lt;</span>/param-value<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>/init-param<span class="tag">&gt;</span><br />
        --<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>/servlet<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>servlet-mapping<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>servlet-name<span class="tag">&gt;</span>simplerpc<span class="tag">&lt;</span>/servlet-name<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>url-pattern<span class="tag">&gt;</span>/simplerpc<span class="tag">&lt;</span>/url-pattern<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>/servlet-mapping<span class="tag">&gt;</span><br />
<span class="tag">&lt;</span>/web-app<span class="tag">&gt;</span></code></p></blockquote>
<p>Select build.xml file, right click to bring up context-menu and "Run as" -> Ant Build, and then select the project and right click and select "Refresh" to refresh the project files, you will see a "org.java2script.demo.simplerpc.war" file. Now try to deploy this war file to a Java servlet container, such as Tomcat server.</p>
<p>If your Tomcat? server is installed in localhost, try url:</p>
<p>http://localhost:8080/manager/html</p>
<p>to deploy the above mentioned war file.</p>
<p><a href="http://inside.java2script.com/files/2007/06/deploy-java2script-simple-rpc-war.png" title="Deploy Java2Script Simple RPC Application *.war Package"><img src="http://inside.java2script.com/files/2007/06/deploy-java2script-simple-rpc-war.png" alt="Deploy Java2Script Simple RPC Application *.war Package" /></a></p>
<p>But you haven't finish deployment yet, because you still need to deploy Java2Script's core *.js library files to the server.</p>
<p>Add the following to build.xml:</p>
<blockquote class="code"><p><code><span class="tag">&lt;</span>target name=<span class="string">&quot;pack.plugins.j2slib.war&quot;</span><span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>delete file=<span class="string">&quot;${basedir}/../plugins.war&quot;</span> quiet=<span class="string">&quot;true&quot;</span>/<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>zip destfile=<span class="string">&quot;${basedir}/../plugins.war&quot;</span><span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>fileset dir=<span class="string">&quot;${basedir}/../../../plugins/&quot;</span><span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>include name=<span class="string">&quot;net.sf.j2s.lib_1.0.0/**&quot;</span>/<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>exclude name=<span class="string">&quot;net.sf.j2s.lib_1.0.0/library.jar&quot;</span>/<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>exclude name=<span class="string">&quot;net.sf.j2s.lib_1.0.0/plugin.xml&quot;</span>/<span class="tag">&gt;</span><br />
            <span class="tag">&lt;</span>exclude name=<span class="string">&quot;net.sf.j2s.lib_1.0.0/META-INF/**&quot;</span>/<span class="tag">&gt;</span><br />
        <span class="tag">&lt;</span>/fileset<span class="tag">&gt;</span><br />
    <span class="tag">&lt;</span>/zip<span class="tag">&gt;</span><br />
<span class="tag">&lt;</span>/target<span class="tag">&gt;</span></code></p></blockquote>
<p>And "Run as" -> "Ant Build ...", select "pack.plugins.j2slib.war" in the "Targets" tab and "Run". Then refresh the project, and deploy the "plugins.war" to Tomcat server.</p>
<p>And after all things deployed, please visit:</p>
<blockquote class="code"><p><code>http://localhost:8080/org.java2script.demo.simplerpc/org.java2script.demo.simplerpc.SimpleSWTRPC.html</code>
</p></blockquote>
<p>Here is the <a href="http://demo.java2script.org/org.java2script.demo.simplerpc/org.java2script.demo.simplerpc.SimpleSWTRPC.html">online demo of this Simple RPC example</a>.</p>
<p>(To be continued)</p>
]]></content:encoded>
			<wfw:commentRss>http://inside.java2script.com/2007/06/02/tutorial-of-java2script-swt-and-simple-rpc-application.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

