<?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>ButterDev</title>
	<atom:link href="http://www.butterdev.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.butterdev.com</link>
	<description>David Marginian's Blog</description>
	<lastBuildDate>Sat, 20 Mar 2010 14:15:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>DWR 3.x and Jetty Continuations on Jetty 6.x</title>
		<link>http://www.butterdev.com/dwr/2010/01/dwr-3-x-and-jetty-continuations-on-jetty-6-x/</link>
		<comments>http://www.butterdev.com/dwr/2010/01/dwr-3-x-and-jetty-continuations-on-jetty-6-x/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 22:32:25 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[DWR]]></category>

		<guid isPermaLink="false">http://www.butterdev.com/?p=107</guid>
		<description><![CDATA[For Jetty 7 a lot of re-factoring has been done on the Continuations API. I recently took a look at the changes and modified DWR&#8217;s code to reflect the latest API. If you are using the latest version of DWR 3.x (currently unreleased) and you are still using a Jetty version < 7.x you will [...]]]></description>
			<content:encoded><![CDATA[<p>For Jetty 7 a lot of re-factoring has been done on the Continuations API.  I recently took a look at the changes and modified DWR&#8217;s code to reflect the latest API.  If you are using the latest version of DWR 3.x (currently unreleased) and you are still using a Jetty version < 7.x you will need to follow these directions to get Continuations working.</p>
<p>First you will need to download the <a href="http://download.eclipse.org/jetty/7.0.1.v20091125/dist/" target="new">Jetty continuation 7</a> jar and place it in WEB-INF/lib.  You can read more about why this works <a href="http://blogs.webtide.com/gregw/entry/continuations_to_continue" target="new">here</a>.</p>
<p>Next you will need to add the JettyContinuationFilter to your web.xml:</p>
<pre><code>&lt;filter&gt;
    &lt;filter-name&gt;JettyContinuationFilter&lt;/filter-name&gt;
    &lt;filter-class&gt;org.eclipse.jetty.continuation.ContinuationFilter&lt;/filter-class&gt;
&lt;/filter&gt;
&lt;filter-mapping&gt;
    &lt;filter-name&gt;JettyContinuationFilter&lt;/filter-name&gt;
    &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;
&lt;/filter-mapping&gt;</code></pre>
<p>You should now be up and running.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/dwr/2010/01/dwr-3-x-and-jetty-continuations-on-jetty-6-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DWR 3.x and Spring</title>
		<link>http://www.butterdev.com/dwr/2009/12/dwr-3-x-and-spring/</link>
		<comments>http://www.butterdev.com/dwr/2009/12/dwr-3-x-and-spring/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 16:45:52 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[DWR]]></category>

		<guid isPermaLink="false">http://www.butterdev.com/?p=87</guid>
		<description><![CDATA[If you want to integrate DWR 3.x with Spring you can follow my previous posts: I am using DWR 2.0.x, Spring 2.x, and Spring MVC I am using DWR 2.0.x, Spring 2.x, but I am not using Spring MVC However, you will need to make the following changes. Spring 2.5 or greater is Required You [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to integrate DWR 3.x with Spring you can follow my previous posts:</p>
<ol>
<li><a href="http://www.butterdev.com/dwr/2008/02/dwr-20x-spring-2x-with-spring-mvc/">I am using DWR 2.0.x, Spring 2.x, and Spring MVC</a></li>
<li><a href="http://www.butterdev.com/dwr/2008/02/dwr-20x-spring-2x-without-spring-mvc/">I am using DWR 2.0.x, Spring 2.x, but I am not using Spring MVC</a></li>
</ol>
<p><strong>However</strong>, you will need to make the following changes.</p>
<h3>Spring 2.5 or greater is Required</h3>
<p>You must upgrade to Spring 2.5 or higher.</p>
<h3>Update you Spring Application Context</h3>
<p>Update your Spring Application Context:</p>
<pre>
<code>&lt;beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.directwebremoting.org/schema/spring-dwr

         http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd"&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/dwr/2009/12/dwr-3-x-and-spring/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setup cannot continue because a more recent version of Internet Explorer &#8230;</title>
		<link>http://www.butterdev.com/misc/2009/10/setup-cannot-continue-because-a-more-recent-version-of-internet-explorer/</link>
		<comments>http://www.butterdev.com/misc/2009/10/setup-cannot-continue-because-a-more-recent-version-of-internet-explorer/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 00:32:19 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[Misc.]]></category>

		<guid isPermaLink="false">http://www.butterdev.com/?p=79</guid>
		<description><![CDATA[&#8220;Setup cannot continue because a more recent version of Internet Explorer has been detected on this computer.&#8221; Recently while performing a Windows Update my Vista box locked up.  The update ( for Internet Explorer 8 ) hadn&#8217;t quite completed and when I restarted, IE 8 was installed and running fine but my Windows Update didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Setup cannot continue because a more recent version of Internet Explorer has been detected on this computer.&#8221;</p>
<p>Recently while performing a Windows Update my Vista box locked up.  The update ( for Internet Explorer 8 ) hadn&#8217;t quite completed and when I restarted, IE 8 was installed and running fine but my Windows Update didn&#8217;t think so.</p>
<p>My first thought was to remove IE 8, surely a re-install would solve the problem.  I followed the advice on Microsoft&#8217;s support site ( http://support.microsoft.com/kb/957700 ) for removing IE and neither the standard or alternative instructions worked for me.</p>
<p>After days without a resolution I finally figured out how to re-install IE 8 ( of course, you will only need to perform this hack if the Microsoft&#8217;s recommendations don&#8217;t work for you ).  Here is how to do it:</p>
<ol>
<li>Download IE 8.</li>
<li>Run the installer and wait for the &#8220;Setup cannot continue because a more recent version of Internet Explorer has been detected on this computer.&#8221; prompt to appear.  DO NOT CLOSE THE PROMPT &#8211; if you close the prompt this will not work as the temporary directory mentioned in the next step will be removed.</li>
<li>The installer is extracted to one of your drives ( in my case it was not my C drive, so make sure you look at all of your available drives ) in a directory named with a random key ( in my case the key was 5c5c0d193eca399daddb3768b3 ).  Find the directory, open it, and run ie8.msu.  This will allow the installer to run and you will be up and running.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/misc/2009/10/setup-cannot-continue-because-a-more-recent-version-of-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Testing web interfaces in multiple versions of IE</title>
		<link>http://www.butterdev.com/web-dev/2009/10/testing-web-interfaces-in-multiple-versions-of-ie/</link>
		<comments>http://www.butterdev.com/web-dev/2009/10/testing-web-interfaces-in-multiple-versions-of-ie/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 00:03:48 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[Web Dev.]]></category>

		<guid isPermaLink="false">http://www.butterdev.com/?p=76</guid>
		<description><![CDATA[Any developer that has worked on web interfaces knows the pains involved in dealing with different browsers and browser versions.  Microsoft  has notoriously made this difficult by not permitting more than one version of IE to run on a machine.  The solution &#8211; install a VM for each version of IE you want to run.  [...]]]></description>
			<content:encoded><![CDATA[<p>Any developer that has worked on web interfaces knows the pains involved in dealing with different browsers and browser versions.  Microsoft  has notoriously made this difficult by not permitting more than one version of IE to run on a machine.  The solution &#8211; install a VM for each version of IE you want to run.  Does that sound crazy to you?  It does to me.</p>
<p>I recommend using one of the following tools to accomplish the same thing:</p>
<ol>
<li><a rel="nofollow" href="http://www.xenocode.com/browsers/">http://spoon.net/browsers/</a><span><a rel="nofollow" href="http://www.xenocode.com/browsers/"><sup><img src="https://confluence.issinc.com/confluence/images/icons/linkext7.gif" border="0" alt="" width="7" height="7" align="absmiddle" /></sup></a></span> &#8211;  My first recommendation.</li>
<li><span><a rel="nofollow" href="http://www.my-debugbar.com/wiki/IETester/HomePage">http://www.my-debugbar.com/wiki/IETester/HomePage<sup><img src="https://confluence.issinc.com/confluence/images/icons/linkext7.gif" border="0" alt="" width="7" height="7" align="absmiddle" /></sup></a></span> &#8211; Seems to work pretty well.</li>
</ol>
<p>I have to test things on different browser versions regularly due to my work on DWR and both of these tools have been a tremendous help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/web-dev/2009/10/testing-web-interfaces-in-multiple-versions-of-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DWR and Hibernate 3.x</title>
		<link>http://www.butterdev.com/dwr/2008/12/dwr-and-hibernate-3x/</link>
		<comments>http://www.butterdev.com/dwr/2008/12/dwr-and-hibernate-3x/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 08:49:15 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[Hibernate]]></category>

		<guid isPermaLink="false">http://www.butterdev.com/dwr/2008/12/dwr-and-hibernate-3x/</guid>
		<description><![CDATA[Recently there have been some questions on DWR&#8217;s user mailing list about integration with Hibernate.&#160; Most of the questions stem from a misunderstanding of how DWR works and I thought it would be helpful to write a post to give new users some information on what to expect from DWR. DWR provides two main integration [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there have been some questions on DWR&#8217;s user mailing list about integration with Hibernate.&nbsp; Most of the questions stem from a misunderstanding of how DWR works and I thought it would be helpful to write a post to give new users some information on what to expect from DWR.</p>
<p>DWR provides two main integration points with Hibernate:</p>
<ol>
<li>A converter (hibernate3) that attempts to avoid reading from un-initialized (lazy) properties.
<li>A filter (H3SessionAjaxFilter) which provides a Hibernate Session to the hibernate3 converter if un-initialized properties need to be read.</li>
</ol>
<h3>What converter should I use and how do I configure it?</h3>
<p>You should use the hibernate3 converter if:</p>
<ol>
<li>The returned object has lazy properties which have not been excluded in your DWR configuration and you do not want DWR to attempt to serialize these properties.
<ol>
<li>Add a converter to your dwr.xml:
<pre>&lt;allow&gt;
  ....
  &lt;convert converter="hibernate3" match="yourpackage.yourClass" /&gt;
  ....
&lt;/allow&gt;
</pre>
</li>
</ol>
<li>The returned object has lazy properties and you want DWR to attempt to serialize these properties.&nbsp;
<ol>
<li>Add a converter to your dwr.xml with the assumeSession parameter set to true.&nbsp; This will tell DWR it should attempt to access the Hibernate session to read un-initialized properties:
<pre>&lt;allow&gt;
  ....
  &lt;convert converter="hibernate3" match="yourpackage.yourClass"&gt;
    &lt;param name="assumeSession" value="true"/&gt;
  &lt;/convert&gt;
  ....
&lt;/allow&gt;
</pre>
<li>Add the H3SessionAjaxFilter filter to your dwr.xml, this filter provides the Hibernate session needed by the hibernate3 converter to read the un-initialized properties.
<pre>&lt;allow&gt;
  ....
  &lt;filter class=" org.directwebremoting.hibernate.H3SessionAjaxFilter"/&gt;
  ....
&lt;/allow&gt;
</pre>
</li>
</ol>
</li>
</ol>
<p>You should use the standard bean converter if:</p>
<ol>
<li>The returned object does not have lazy properties and you want DWR to blindly serialize all properties on the object (or properties based on the exclusions, inclusions set in your DWR configuration).</li>
</ol>
<h3>Where the confusion lies:</h3>
<p>So what was the problem that the users on the list were having?&nbsp; Both users thought it was possible for DWR to make a call to the server to retrieve a lazy property when an attempt was made to access that property in JavaScript.&nbsp; Here is a code sample to illustrate this point:</p>
<pre>  function dwrCallBack(beanFromServer) {
    alert(beanFromServer.lazyProperty);
  }
</pre>
<p>DWR does a lot of magical things but it DOES NOT access the server when reading JavaScript properties.&nbsp; All serialization of the object DWR will return to the browser is performed one-time &#8211; in the converter.&nbsp; The converters job is to serialize the bean into a complete JavaScript object.&nbsp; </p>
<p>In short the conversion of Hibernate beans is an all or nothing process.&nbsp; The developer needs to understand what properties he needs to display in the view and prepare his converter configuration with this in mind.&nbsp; Please note that the hibernate converter is very similar to the bean converter and thus you may specify include and exclude parameters (to exclude or include properties in serialization).&nbsp; For more information on the bean and hibernate converters please see the DWR docs:</p>
<ol>
<li><a title="http://directwebremoting.org/dwr/server/hibernate" href="http://directwebremoting.org/dwr/server/hibernate" target="_blank">http://directwebremoting.org/dwr/server/hibernate</a></li>
<li><a title="http://directwebremoting.org/dwr/server/dwrxml/converters/bean" href="http://directwebremoting.org/dwr/server/dwrxml/converters/bean" target="_blank">http://directwebremoting.org/dwr/server/dwrxml/converters/bean</a></li>
</ol>
<p>If you have any questions feel free to post them in the comments area.&nbsp; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/dwr/2008/12/dwr-and-hibernate-3x/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JAWR &#8211; A tool all Java web apps should be using</title>
		<link>http://www.butterdev.com/dwr/2008/08/jawr-a-tool-all-web-apps-should-be-using/</link>
		<comments>http://www.butterdev.com/dwr/2008/08/jawr-a-tool-all-web-apps-should-be-using/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 12:11:39 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[Web Dev.]]></category>

		<guid isPermaLink="false">http://www.butterdev.com/dwr/2008/08/jawr-a-tool-all-web-apps-should-be-using/</guid>
		<description><![CDATA[JAWR is an open source tool written in Java that compresses and organizes an applications JavaScript/CSS source.  I found out about JAWR through the DWR mailing list.  It took me awhile to check it out, but I finally got around to it.  I have been working on a DWR application with an ExtJS front-end and I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://jawr.dev.java.net/" target="_blank">JAWR</a> is an open source tool written in Java that compresses and organizes an applications JavaScript/CSS source.  I found out about JAWR through the DWR mailing list.  It took me awhile to check it out, but I finally got around to it.  I have been working on a DWR application with an ExtJS front-end and I thought this would be a perfect place to try JAWR. </p>
<h4>First Impressions:</h4>
<p>Setting up JAWR is simple!  The project is well documented and by following the <a href="https://jawr.dev.java.net/tutorials/quickstart.html" target="_blank">quick start</a> I was able to get up and running in no time.  JAWR does a lot more than JavaScript/CSS compression &#8212; here are some of the features:</p>
<ul>
<li>Allows you to componentize and organize your JavaScript sources.  Not only does this improve your code it also makes maintenance a lot easier.</li>
<li>Debug mode allows you to debug your JS source with the modification of one property &#8211; Great for development.</li>
<li>DWR 3.x plugin that compresses interface files generated by DWR as well as static DWR scripts.</li>
<li>Gzips the response.</li>
</ul>
<p>JAWR does a lot more.  All developers working on Java web apps should check it out &#8212; sooner rather than later!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/dwr/2008/08/jawr-a-tool-all-web-apps-should-be-using/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Ratproxy &#8211; Part 2 (Running and Using Ratproxy)</title>
		<link>http://www.butterdev.com/web-security/2008/07/google-ratproxy-part-2-running-and-using-ratproxy/</link>
		<comments>http://www.butterdev.com/web-security/2008/07/google-ratproxy-part-2-running-and-using-ratproxy/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 08:29:11 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[Web Security]]></category>
		<category><![CDATA[google ratproxy]]></category>
		<category><![CDATA[ratproxy]]></category>

		<guid isPermaLink="false">http://butterdev.com/?p=21</guid>
		<description><![CDATA[In my first Ratproxy post I provided instructions on building Ratproxy in a Windows/Cygwin environment.  In this post I will discuss running and using Ratproxy in a Windows/Cygwin environment.  Run the Ratproxy executable (ratproxy.exe): Open a windows command prompt in the directory where ratproxy.exe lives. Enter: ratproxy.exe -v C:\cygwin -w ratproxy.log -p 8282 -d yourdomain.com -lfscm.  [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://butterdev.com/web-security/2008/07/google-ratproxy-web-application-security-audit-tool/" target="_self">my first Ratproxy post </a>I provided instructions on building Ratproxy in a Windows/Cygwin environment.  In this post I will discuss running and using Ratproxy in a Windows/Cygwin environment. </p>
<h3>Run the Ratproxy executable (ratproxy.exe):</h3>
<ol>
<li>Open a windows command prompt in the directory where ratproxy.exe lives.</li>
<li>Enter: ratproxy.exe -v C:\cygwin -w ratproxy.log -p 8282 -d yourdomain.com -lfscm.  The -p parameter specifies the port that Ratproxy will use  (by default Ratproxy will use 8080) and the -d specifies the domain we will be testing (obviously enter your own domain here).  The rest of the parameters are straightforward and can be reviewed in the <a href="http://code.google.com/p/ratproxy/wiki/RatproxyDoc" target="_blank">official documentation</a>. </li>
</ol>
<h3>Configure your browser to use Ratproxy:</h3>
<p>Now that Ratproxy is running you need to configure your browser to use the proxy.</p>
<h4>Internet Explorer 7</h4>
<ol>
<li>Tools &gt; Internet Options</li>
<li>Connections  &gt; LAN Settings</li>
<li>Select &#8216;Use a proxy server for your LAN&#8217;</li>
<li>Address: The location where Ratproxy is running (localhost or 127.0.0.1 should work).</li>
<li>Port: The port you chose to bind Ratproxy to (in this example 8282). </li>
<li>Now close and open a fresh browser window. </li>
</ol>
<h4>Firefox 3.0</h4>
<ol>
<li>Tools &gt; Options</li>
<li>Network &gt; Settings</li>
<li>Select &#8216;Manual proxy configuration&#8217;</li>
<li>HTTP Proxy: The location where Ratproxy is running (localhost or 127.0.0.1 should work).</li>
<li>Port: The port you chose to bind Ratproxy to (in this example 8282). </li>
<li>Now close and open a fresh browser window. </li>
</ol>
<p>If you don&#8217;t have this configured correctly or if Ratproxy is not running your browser will display an error indicating that the proxy server refused connection.</p>
<h3>Do Stuff &#8211; and let Ratproxy do the hard work!:</h3>
<p>That&#8217;s it.  Now all you need to do is step through your website highlighting the main errors that you think may be vulnerable.  Ratproxy will be tracking your session behind the scenes. </p>
<h3>Generate a formatted HTML report of Ratproxy findings:</h3>
<ol>
<li>Open the Cygwin bash shell.</li>
<li>cd to the ratproxy directory</li>
<li>Enter: sh ratproxy-report.sh ratproxy.log &gt; report.html</li>
</ol>
<p>Ratproxy will generate a nicely formatted HTML report.  That is all for this post, I hope it was helpful.</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/web-security/2008/07/google-ratproxy-part-2-running-and-using-ratproxy/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Google Ratproxy &#8211; Part 1 (Building Ratproxy in Windows)</title>
		<link>http://www.butterdev.com/web-security/2008/07/google-ratproxy-web-application-security-audit-tool/</link>
		<comments>http://www.butterdev.com/web-security/2008/07/google-ratproxy-web-application-security-audit-tool/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 15:59:09 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[Web Security]]></category>
		<category><![CDATA[google ratproxy]]></category>
		<category><![CDATA[ratproxy]]></category>

		<guid isPermaLink="false">http://butterdev.com/?p=20</guid>
		<description><![CDATA[Recently, I have been studying web application security and some of my research led me to Ratproxy.  Ratproxy is a web application security audit tool recently released by Google.  In this post I will show you how to install Ratproxy in a Windows environment. What you will need: In order to run ratproxy in a windows [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I have been studying web application security and some of my research led me to <a href="http://code.google.com/p/ratproxy/" target="_blank">Ratproxy</a>.  <a href="http://code.google.com/p/ratproxy/" target="_blank">Ratproxy</a> is a web application security audit tool recently released by Google.  In this post I will show you how to install Ratproxy in a Windows environment.</p>
<p>What you will need:</p>
<ol>
<li>In order to run ratproxy in a windows environment you will need Cygwin (<a href="http://www.cygwin.com/" target="_blank">http://www.cygwin.com/</a>).</li>
<li>The current Ratproxy release &#8212; <a href="http://code.google.com/p/ratproxy/">http://code.google.com/p/ratproxy/</a>.</li>
</ol>
<h3>Installing Cygwin:</h3>
<p>From the Cygwin home page (<a href="http://www.cygwin.com/" target="_blank">http://www.cygwin.com/</a>).:</p>
<ol>
<li>Select the &#8220;Install or update now!&#8221; link to download the Cygwin setup.</li>
<li>When the download is complete run setup.exe.</li>
<li>Select &#8220;Install from Internet&#8221; &gt; Next.</li>
<li>The next few screens are self explanatory.  You will choose your installation directory (the default is fine) and a few other options (all of the default options should be fine).</li>
<li>After you choose a mirror the download will begin.  After the download is complete you will be presented with a screen prompting you to select the packages you would like to install.  <strong>VERY IMPORTANT</strong>- There are a few utilities required to build Ratproxy that are not installed by default by the Cygwin installer.
<ol>
<li><strong>make</strong> - Located in &#8216;Devel&#8217;.</li>
<li><strong>gcc-core</strong> &#8211; Also located in &#8216;Devel&#8217;.</li>
<li><strong>openssl-devel</strong> - Also located in &#8216;Devel&#8217;.</li>
<li><strong>openssl (The OpenSSL runtime environment)</strong> &#8211; Located in &#8216;Libs&#8217; or &#8216;Net&#8217;.</li>
</ol>
</li>
</ol>
<p style="padding-left: 60px;">The preceding four packages must be installed or you will not be able to build or run Ratproxy.  Make sure they are not being skipped (there should be an X in the box next to each item).</p>
<h3>Building Ratproxy:</h3>
<p>Once Cygwin is installed with all of the required packages you are ready to build Ratproxy.</p>
<ol>
<li>Unzip Ratproxy into your Cygwin directory (c:\cygwin).</li>
<li>Modify the make file packaged with Ratproxy &#8211; The Ratproxy Makefile contains a flag that is not compatible with the compiler installed with Cygwin.  This can be fixed by making a small modifcation to Makefile.
<ol>
<li>Open Makefile (located at the root of your Ratproxy install).</li>
<li>Look for this line &#8212; CFLAGS  = -Wall -O3 -Wno-pointer-sign -D_GNU_SOURCE</li>
<li>Remove -Wno-pointer-sign</li>
</ol>
</li>
<p style="padding-left: 30px;">The affected portions of the Makefile should now look like this:</p>
<pre>PROGNAME = ratproxy
CFLAGS	 = -Wall -O3 -D_GNU_SOURCE
LDFLAGS  = -lcrypto -lssl</pre>
<li>Flare-dist &#8211; Now you need to download the Flare action script decompiler for Windows. From the Ratproxy root open the flare-dist directory. Directions for downloading the Flare action script decompiler are in the README file. Download the distribution at http://www.nowrap.de/download/flare06doswin.zip. Then unzip the file into Ratproxy/flare-dist. You should now have a file called flare.exe (remove the file that was distributed with Ratproxy &#8212; flare with no extension).</li>
<li>Make Ratproxy &#8211; Now we are ready to make Ratproxy.
<ol>
<li>Open your Cygwin bash shell (by selecting your Cygwin shortcut or by running Cygwin.bat).</li>
<li>Navigate into the Ratproxy directory &#8211; At the command prompt enter &#8216;cd /ratproxy&#8217; (remember we saved Ratproxy at our Cygwin root).</li>
<li>Run make &#8211; At the command prompt enter &#8216;make&#8217;</li>
</ol>
</li>
</ol>
<p>The &#8216;make&#8217; command should run and complete successfully. You will be left with a compiled ratproxy.exe in your Ratproxy directory. <strong>Important:</strong> In order to run Ratproxy you will need to make sure the Cygwin/bin directory is in your Windows path (else the exe will blow up when you run it).</p>
<p>To add the Cygwin libraries to your Windows path (in Vista).</p>
<ol>
<li>Right-click the &#8216;My Computer Icon&#8217; and select &#8216;Properties&#8217;.</li>
<li>Select &#8216;Advanced system settings&#8217; and then select the &#8216;Environmental Variables&#8217; button.</li>
<li>Find the &#8216;Path&#8217; variable under &#8217;System variables&#8217; and select the &#8216;Edit&#8217; button.</li>
<li>Append ;C:\Cygwin\bin to the &#8217;Variable value&#8217;.</li>
</ol>
<p>You can now use that executable to run Ratproxy according to the <a href="http://code.google.com/p/ratproxy/wiki/RatproxyDoc" target="_blank">documentation on the Ratproxy site</a>.  That is all for this post in <a href="http://butterdev.com/dwr/2008/07/google-ratproxy-part-2-running-and-using-ratproxy/" target="_blank">part two</a> I discuss running Ratproxy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/web-security/2008/07/google-ratproxy-web-application-security-audit-tool/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>DWR and Spring &#8211; A configuration for everyone</title>
		<link>http://www.butterdev.com/dwr/2008/02/dwr-and-spring-a-configuration-for-everyone/</link>
		<comments>http://www.butterdev.com/dwr/2008/02/dwr-and-spring-a-configuration-for-everyone/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 21:21:11 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[DWR and Spring]]></category>
		<category><![CDATA[DWR/Spring]]></category>

		<guid isPermaLink="false">http://butterdev.com/?p=12</guid>
		<description><![CDATA[DWR and Spring is a great combination. The Spring integration in DWR can support many configurations but many times this can lead to confusion. The goal of this article is to provide developers with a working skeleton for several common enironments (using Spring MVC, not using Spring MVC, using the DWR Namespace, etc.). References Before [...]]]></description>
			<content:encoded><![CDATA[<p>DWR and Spring is a great combination. The Spring integration in DWR can support many configurations but many times this can lead to confusion. The goal of this article is to provide developers with a working skeleton for several common enironments (using Spring MVC, not using Spring MVC, using the DWR Namespace, etc.).</p>
<h4>References</h4>
<p>Before we get started here are some additional references on DWR/Spring.</p>
<ul>
<li><a href="http://getahead.org/dwr/server/spring" target="new">Official DWR Documentation</a></li>
<li><a href="http://bram.jteam.nl/index.php/2007/01/31/spring-dwr-ajax-made-easy/" target="new">Bram Smeets</a> and <a href="http://internna.blogspot.com/2008/01/little-bit-more-dwr-and-spring-mvc.html" target="new">Jose Noheda</a> have blogged about the integration between DWR and Spring.</li>
</ul>
<h4>The DWR Namespace Handler:</h4>
<p>Spring 2.x includes a new &#8220;XML Namespace Handlers&#8221; feature. DWR 2.x allows you to leverage this feature through a custom namespace &#8212; eliminating the need for the DWR configuration file (dwr.xml). If you are using DWR 2.0.x and Spring 2.x this is the recommended approach if you want seamless integration (almost) between DWR and Spring.</p>
<p>There are two configurations to consider, please select a link for a detailed description and to download a fully functioning basic example:</p>
<ol>
<li><a href="http://www.butterdev.com/dwr/2008/02/dwr-20x-spring-2x-with-spring-mvc/">I am using DWR 2.0.x, Spring 2.x, and Spring MVC</a></li>
<li><a href="http://www.butterdev.com/dwr/2008/02/dwr-20x-spring-2x-without-spring-mvc/">I am using DWR 2.0.x, Spring 2.x, but I am not using Spring MVC</a></li>
<li><a href="http://www.butterdev.com/dwr/2009/12/dwr-3-x-and-spring/">I am using DWR 3.x &#8230;</a></li>
</ol>
<h4>dwr.xml:</h4>
<p>If you are using an older version (pre 2.x) of DWR or Spring, DWR still provides integration with Spring through the Spring Creator. This configuration requires a dwr.xml configuration.  Information on this set-up is covered in the DWR manual.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/dwr/2008/02/dwr-and-spring-a-configuration-for-everyone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DWR 2.0.x, Spring 2.x, without Spring MVC</title>
		<link>http://www.butterdev.com/dwr/2008/02/dwr-20x-spring-2x-without-spring-mvc/</link>
		<comments>http://www.butterdev.com/dwr/2008/02/dwr-20x-spring-2x-without-spring-mvc/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 10:30:57 +0000</pubDate>
		<dc:creator>davidmarginian</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://www.butterdev.com/?p=38</guid>
		<description><![CDATA[If you are using DWR 2.0.x, Spring 2.x dwr.xml is not required. You can use the new DWR namespace feature in your Spring xml even if you are not using Spring MVC. You can download the files from this article here. This includes all the source, configuration, and a ready to run web-app. Step 1: [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using DWR 2.0.x, Spring 2.x dwr.xml is not required.  You can use the new DWR namespace feature in your Spring xml even if you are not using Spring MVC.</p>
<p>You can download the files from this article <a href="http://butterdev.com/uploads/dwrSampleApp2.zip">here</a>.  This includes all the source, configuration, and a ready to run web-app.</p>
<h4>Step 1: Web.xml</h4>
<pre>
<code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"&gt; 

   &lt;listener&gt;
     &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
   &lt;/listener&gt;

   &lt;context-param&gt;
     &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
     &lt;param-value&gt;
       classpath:dwrSampleApp2.xml
     &lt;/param-value&gt;
   &lt;/context-param&gt;

   &lt;servlet&gt;
     &lt;servlet-name&gt;dwr&lt;/servlet-name&gt;
     &lt;servlet-class&gt;org.directwebremoting.spring.DwrSpringServlet&lt;/servlet-class&gt;
     &lt;init-param&gt;
       &lt;param-name&gt;debug&lt;/param-name&gt;
       &lt;param-value&gt;true&lt;/param-value&gt;
     &lt;/init-param&gt;
   &lt;/servlet&gt;

   &lt;servlet-mapping&gt;
     &lt;servlet-name&gt;dwr&lt;/servlet-name&gt;
     &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt; 

&lt;/web-app&gt;</code>
</pre>
<p>Since we are not using Spring MVC there are two things that we need to take care of in the web.xml:</p>
<ol>
<li>We need a way for our application to find and load our Spring configuration.  There is more than one way to do this but I recommend using a <a href="http://static.springframework.org/spring/docs/2.5.x/reference/webintegration.html" target="new">Spring ContextLoadListener</a>.</li>
<li>The DwrSpringServlet needs to be specified and all DWR requests need to be mapped to it.</li>
</ol>
<h4>Step 2: Spring xml/Application Context (for this example, dwrSampleApp2.xml)</h4>
<ol>
<li>
Add the DWR namespace declarations to dwrSampleApp2.xml:</p>
<pre>
<code>&lt;beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
  xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

http://www.directwebremoting.org/schema/spring-dwr

    http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"&gt;</code>
</pre>
</li>
<li>
   Configure DWR with the configuration tag.  </p>
<p>For this example we are returning an Address POJO from our DWR service.  We need to tell DWR to convert the Address POJO with DWR&#8217;s &#8220;bean&#8221; converter.  The configuration tag&#8217;s children elements mimic the behavior of dwr.xml elements.  If you are familiar with the options available in dwr.xml &#8212; setting up this tag should be second nature.</p>
<p>Add the dwr:configuration tag to dwrSampleApp2.xml:</p>
<pre>
<code>  &lt;dwr:configuration&gt;
    &lt;dwr:convert type="bean" class="org.uk.ltd.dwr.dev.model.Address" /&gt;
  &lt;/dwr:configuration&gt;</code>
</pre>
</li>
<li>Expose your Beans to DWR with the remote tag.
<p>Add the following bean to dwrSampleApp2.xml:</p>
<pre>
<code>  &lt;bean id="dwrService" class="org.uk.ltd.dwr.dev.service.DWRService"&gt;
    &lt;dwr:remote javascript="dwrService"&gt;
      &lt;dwr:include method="getAddress" /&gt;
    &lt;/dwr:remote&gt;
  &lt;/bean&gt;
  </code>
</pre>
</li>
</ol>
<p>You can download the files from this article <a href="http://butterdev.com/uploads/dwrSampleApp2.zip">here</a>.  This includes all the source, configuration, and a ready to run web-app.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.butterdev.com/dwr/2008/02/dwr-20x-spring-2x-without-spring-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)

Served from: www.butterdev.com @ 2010-09-04 01:17:51 -->