Added: wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_4.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_4.html?rev=1562057&view=auto ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_4.html (added) +++ wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_4.html Tue Jan 28 13:01:18 2014 @@ -0,0 +1,243 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> +<head> + <title>9.4 Session Class 6.x</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> + <link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/> + <link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/> + <script type="text/javascript"> +function addJsClass() { + var classes = document.body.className.split(" "); + classes.push("js"); + document.body.className = classes.join(" "); +} + </script> +</head> + +<body class="body" onload="addJsClass();"> +<div id="navigation"> + <ul> + <li> + <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)"> + <a href="../../guide/index.html" class="button">Table of contents</a> + + <div id="nav-summary-childs" style="display:none;"> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/introduction.html"><strong>1</strong><span>Introduction</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/howToSource.html"><strong>2</strong><span>How to use the example code</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/whyLearn.html"><strong>3</strong><span>Why should I learn Wicket?</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/helloWorld.html"><strong>4</strong><span>Wicket says “Hello world!”</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/layout.html"><strong>5</strong><span>Wicket as page layout manager</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/keepControl.html"><strong>6</strong><span>Keeping control over HTML</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/componentLifecycle.html"><strong>7</strong><span>Components lifecycle</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter10.html"><strong>11</strong><span>Wicket models and forms</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter11.html"><strong>12</strong><span>Wicket forms in detail</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter12.html"><strong>13</strong><span>Displaying multiple items with repeaters</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter13.html"><strong>14</strong><span>Internationalization with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter14.html"><strong>15</strong><span>Resource management with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter15.html"><strong>16</strong><span>An example of integration with JavaScript</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter16.html"><strong>17</strong><span>Wicket advanced topics</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter17.html"><strong>18</strong><span>Working with AJAX</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter18.html"><strong>19</strong><span>Integration with enterprise containers</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter19.html"><strong>20</strong><span>Security with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter20.html"><strong>21</strong><span>Test Driven Development with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter21.html"><strong>22</strong><span>Test Driven Development with Wicket and Spring</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter22.html"><strong>23</strong><span>Wicket Best Practices</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter23.html"><strong>24</strong><span>Working with Maven (Appendix)</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter24.html"><strong>25</strong><span>Project WicketStuff (Appendix)</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter25.html"><strong>26</strong><span>Lost In Redirection With Apache Wicket (Appendix)</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/contributing.html"><strong>27</strong><span>Contributing to this guide (Appendix)</span></a> + </div> + + </div> + </div> + </li> + <li class="separator selected"> + <a id="ref-button" onclick="localToggle(); return false;" href="#">Quick Reference</a> + </li> + </ul> +</div> +<div id="header"> + <div class="images clearfix"> + + <span id="logo"><a href="/" target="_blank"><img height="80px" src="http://wicket.apache.org/guide/img/apache-wicket.png"/></a></span> + + + <span id="sponsor"><a href="http://www.apache.org/" target="_blank"><img height="60px" src="http://wicket.apache.org/guide/img/asf_logo.gif"/></a></span> + + </div> + <p>Free Online Guide for Apache Wicket framework</p> +</div> + + +<table id="colset" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td id="col1"> + <div id="main" class="corner-all"> + + + <div class="toc-item prev-left"><a href="../../guide/versioningCaching.html"><< <strong>8</strong><span>Page versioning and caching</span></a></div> + + + <span id='toggle-col1' class="toggle">(<a href="#" onclick="localToggle(); return false;">Quick Reference</a>)</span> + + + <div class="toc-item next-right"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span> >></a></div> + + + + <div class="project"> + <h1>9.4 Session Class - Reference Documentation</h1> + + <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul BorÈ</p> + + <p><strong>Version:</strong> 6.x</p> + + + </div> + + + + + +<h2 id="requestProcessing_4">9.4 Session Class</h2> +<p class="paragraph"/>In Wicket we use class <code>org.apache.wicket.Session</code> to handle session-relative informations such as client informations, session attributes, session-level cache (seen in paragraph 8.2), etc...<p class="paragraph"/>In addition, we know from paragraph 8.1 that Wicket creates a user session to store versions of stateful pages. Similarly to what happens with RequestCycle, the new Session's instances are generated by the <code>Application</code> class with the <code>newSession(Request request, Response response)</code> method. This method is not declared as final, hence it can be overridden if we need to use a custom implementation of the Session class.<p class="paragraph"/>By default if our custom application class is a subclass of WebApplication, method newSession will return an instance of class <code>org.apache.wicket.protocol.http.WebSession</code>. As we have mentioned talking about <code>RequestCycle</code>, also class Session provides a static <cod e>get()</code> method which returns the session associated to the current thread.<p class="paragraph"/><h3>Session and listeners</h3><p class="paragraph"/>Similar to the <code>RequestCycle</code>, class <code>org.apache.wicket.Session</code> also offers support for listener entities. With Session these entities must implement the callback interface <code>org.apache.wicket.ISessionListener</code> which exposes only the <code>onCreated(Session session)</code> method. As you might guess from its name, this method is called when a new session is created. Session listeners must be added to our application using a typed collection, just like we have done before with request cycle listeners:<p class="paragraph"/><div class="code"><pre>@Override +<span class="java-keyword">public</span> void init(){<p class="paragraph"/> <span class="java-keyword">super</span>.init();<p class="paragraph"/> //listener initialization… + ISessionListener myListener; + //add a custom session listener + getSessionListeners().add(myListener)<p class="paragraph"/>}</pre></div><p class="paragraph"/><h3>Handling session attributes</h3><p class="paragraph"/>The Session class handles session attributes in much the same way as the standard interface javax.servlet.http.HttpSession. The following methods are provided to create, read and remove session attributes: +<ul class="star"> +<li><strong class="bold">setAttribute(String name, Serializable value):</strong> creates an attribute identified by the given name. If the session already contains an attribute with the same name, the new value will replace the existing one. The value must be a serializable object.</li> +<li><strong class="bold">getAttribute(String name):</strong> returns the value of the attribute identified by the given name, or null if the name does not correspond to any attribute.</li> +<li><strong class="bold">removeAttribute(String name):</strong> removes the attribute identified by the given name.</li> +</ul><p class="paragraph"/>By default class WebSession will use the underlying http session to store attributes. Wicket will automatically add a prefix to the name of the attributes. This prefix is returned by the WebApplication's method getSessionAttributePrefix().<p class="paragraph"/><h3>Accessing to the HTTP session</h3><p class="paragraph"/>If for any reason we need to directly access to the underlying HttpSession object, we can retrieve it from the current request with the following code:<p class="paragraph"/><div class="code"><pre>HttpSession session = ((ServletWebRequest)RequestCycle.get() + .getRequest()).getContainerRequest().getSession();</pre></div><p class="paragraph"/>Using the raw session object might be necessary if we have to set a session attribute with a particular name without the prefix added by Wicket. Let's say for example that we are working with Tomcat as web server. One of the administrative tools provided by Tomcat is a page listing all the active user sessions of a given web application:<p class="paragraph"/><img border="0" class="center" src="../img/tomcat-admin-sessions.png"></img><p class="paragraph"/>Tomcat allows us to set the values that will be displayed in columns âGuessed localeâ and âGuessed User nameâ. One possible way to do this is to use session attributes named âLocaleâ and âuserNameâ but we can't create them via Wicket's Session class because they would not have exactly the name required by Tomcat. Instead, we must use the raw HttpSession and set our attributes on it:<p class="paragraph"/><div class="code"><pre>HttpSession session = ((ServletWebRequest)RequestCycle.get(). + getRequest()).getContainerRequest().getSession();<p class="paragraph"/>session.setAttribute(<span class="java-quote">"Locale"</span>, <span class="java-quote">"ENGLISH"</span>); +session.setAttribute(<span class="java-quote">"userName"</span>, <span class="java-quote">"Mr BadGuy"</span>);</pre></div><p class="paragraph"/><h3>Temporary and permanent sessions</h3><p class="paragraph"/>Wicket doesn't need to store data into user session as long as the user visits only stateless pages. Nonetheless, even under these conditions, a temporary session object is created to process each request but it is discarded at the end of the current request. To know if the current session is temporary, we can use the isTemporary() method:<p class="paragraph"/><div class="code"><pre>Session.get().isTemporary();</pre></div><p class="paragraph"/>If a session is not temporary (i.e. it is permanent), it's identified by an unique id which can be read calling the getId() method. This value will be null if the session is temporary.<p class="paragraph"/>Although Wicket is able to automatically recognize when it needs to replace a temporary session with a permanent one, sometimes we may need to manually control this process to make our initially temporary session permanent.<p class="paragraph"/>To illustrate this possible scenario let's consider project BindSessionExample where we have a stateless home page which sets a session attribute inside its constructor and then it redirects the user to another page which displays with a label the session attribute previously created. The code of the two pages is as follows:<p class="paragraph"/>Home page: +<div class="code"><pre><span class="java-keyword">public</span> class HomePage <span class="java-keyword">extends</span> WebPage { + <span class="java-keyword">public</span> HomePage(<span class="java-keyword">final</span> PageParameters parameters) { + Session.get().setAttribute(<span class="java-quote">"username"</span>, <span class="java-quote">"tommy"</span>); + Session.get().bind();<p class="paragraph"/> setResponsePage(DisplaySessionParameter.class); + } +}</pre></div><p class="paragraph"/>Target page:<p class="paragraph"/><div class="code"><pre><span class="java-keyword">public</span> class DisplaySessionParameter <span class="java-keyword">extends</span> WebPage {<p class="paragraph"/> <span class="java-keyword">public</span> DisplaySessionParameter() { + <span class="java-keyword">super</span>(); + add(<span class="java-keyword">new</span> Label(<span class="java-quote">"username"</span>, (<span class="java-object">String</span>) Session.get().getAttribute(<span class="java-quote">"username"</span>))); + } +}</pre></div><p class="paragraph"/>Again, we kept page logic very simple to not over-bloat the example with unnecessary code. In the snippet above we have also bolded Session's bind() method which converts temporary session into a permanent one. If the home page has not invoked this method, the session with its attribute would have been discarded at the end of the request and the page DisplaySessionParameter would have displayed an empty value in its label.<p class="paragraph"/><h3>Discarding session data</h3><p class="paragraph"/>Once a user has finished using our web application, she must be able to log out and clean any session data. To be sure that a permanent session will be discarded at the end of the current request, class Session provides the invalidate() method. If we want to immediately invalidate a given session without waiting for the current request to complete, we can invoke the invalidateNow() method.<p class="paragraph"/><blockquote class="warning"> +Remember that invalidateNow() will immediately remove any instance of components (and pages) from the session, meaning that once we have called this method we won't be able to work with them for the rest of the request process. +</blockquote><p class="paragraph"/><h3>Storing arbitrary objects with metadata</h3><p class="paragraph"/>JavaServer Pages Specification1 defines 4 scopes in which a page can create and access a variable. These scopes are: +<ul class="star"> +<li><strong class="bold">request:</strong> variables declared in this scope can be seen only by pages processing the same request. The lifespan of these variables is (at most) equal to the one of the related request. They are discarded when the full response has been generated or when the request is forwarded somewhere else.</li> +<li><strong class="bold">page:</strong> variables declared in this scope can be seen only by the page that has created them.</li> +<li><strong class="bold">session:</strong> variables in session scope can be created and accessed by every page used in the same session where they are defined.</li> +<li><strong class="bold">application:</strong> this is the widest scope. Variables declared in this scope can be used by any page of a given web application.</li> +</ul><p class="paragraph"/>Although Wicket doesn't implement the JSP Specification (it is rather an alternative to it), it offers a feature called metadata which resembles scoped variables but is much more powerful. Metadata is quite similar to a Java Map in that it stores pairs of key-value objects where the key must be unique. In Wicket each of the following classes has its own metadata store: RequestCycle, Session, Application and Component.<p class="paragraph"/>The key used for metadata is an instance of class <code>org.apache.wicket.MetaDataKey<T></code>. To put an arbitrary object into metadata we must use the setMetaData method which takes two parameters as input: the key used to store the value and the value itself. If we are using metadata with classes Session or Component, data object must be serializable because Wicket serializes both session and component instances. This constraint is not applied to metadata of classes Application and RequestCycle which can conta in a generic object. In any case, the type of data object must be compatible with the type parameter T specified by the key.<p class="paragraph"/>To retrieve a previously inserted object we must use the <code>getMetaData(MetaDataKey<T> key)</code> method. In the following example we set a <code>java.sql.Connection</code> object in the application's metadata so it can be used by any page of the application:<p class="paragraph"/>Application class code: +<div class="code"><pre><span class="java-keyword">public</span> <span class="java-keyword">static</span> MetaDataApp <span class="java-keyword">extends</span> WebApplication{ + //Do some stuff… + /** + * Metadata key definition + */ + <span class="java-keyword">public</span> <span class="java-keyword">static</span> MetaDataKey<Connection> connectionKey = <span class="java-keyword">new</span> MetaDataKey<Connection> (){};<p class="paragraph"/> /** + * Application's initialization + */ + @Override + <span class="java-keyword">public</span> void init(){<p class="paragraph"/> <span class="java-keyword">super</span>.init(); + Connection connection; + //connection initialization… + setMetaData(connectionKey, connection); + //Do some other stuff..<p class="paragraph"/> } +}</pre></div><p class="paragraph"/>Code to get the object from the metadata:<p class="paragraph"/><div class="code"><pre>Connection connection = Application.get().getMetaData(MetaDataApp.connectionKey);</pre></div><p class="paragraph"/>Since MetaDataKey<T> class is declared as abstract, we must implement it with a subclass or with an anonymous class (like we did in the example above). + + + + <div style="clear:both;margin-top:15px;"></div> + + <div class="toc-item prev-left"><a href="../../guide/versioningCaching.html"><< <strong>8</strong><span>Page versioning and caching</span></a></div> + + <div class="toc-item next-right"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span> >></a></div> + + <div style="clear:both"></div> + </div> + </td> + <td id="col2"> + <div class="local clearfix"> + <div class="local-title"> + <a href="../../guide/index.html" target="mainFrame">Quick Reference</a> + <span class="toggle">(<a href="#" onclick="localToggle(); return false;">hide</a>)</span> + </div> + <div class="menu"> + + </div> + </div> + </td> + </tr> +</table> + +<div id="footer"> + +Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> + + +</div> + +<script type="text/javascript" src="../js/docs.js"></script> + +</body> +</html>
Added: wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_5.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_5.html?rev=1562057&view=auto ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_5.html (added) +++ wicket/common/site/trunk/_site/guide/guide/pages/requestProcessing_5.html Tue Jan 28 13:01:18 2014 @@ -0,0 +1,197 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> +<head> + <title>9.5 Summary 6.x</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> + <link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/> + <link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/> + <script type="text/javascript"> +function addJsClass() { + var classes = document.body.className.split(" "); + classes.push("js"); + document.body.className = classes.join(" "); +} + </script> +</head> + +<body class="body" onload="addJsClass();"> +<div id="navigation"> + <ul> + <li> + <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)"> + <a href="../../guide/index.html" class="button">Table of contents</a> + + <div id="nav-summary-childs" style="display:none;"> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/introduction.html"><strong>1</strong><span>Introduction</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/howToSource.html"><strong>2</strong><span>How to use the example code</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/whyLearn.html"><strong>3</strong><span>Why should I learn Wicket?</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/helloWorld.html"><strong>4</strong><span>Wicket says “Hello world!”</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/layout.html"><strong>5</strong><span>Wicket as page layout manager</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/keepControl.html"><strong>6</strong><span>Keeping control over HTML</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/componentLifecycle.html"><strong>7</strong><span>Components lifecycle</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter10.html"><strong>11</strong><span>Wicket models and forms</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter11.html"><strong>12</strong><span>Wicket forms in detail</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter12.html"><strong>13</strong><span>Displaying multiple items with repeaters</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter13.html"><strong>14</strong><span>Internationalization with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter14.html"><strong>15</strong><span>Resource management with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter15.html"><strong>16</strong><span>An example of integration with JavaScript</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter16.html"><strong>17</strong><span>Wicket advanced topics</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter17.html"><strong>18</strong><span>Working with AJAX</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter18.html"><strong>19</strong><span>Integration with enterprise containers</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter19.html"><strong>20</strong><span>Security with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter20.html"><strong>21</strong><span>Test Driven Development with Wicket</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter21.html"><strong>22</strong><span>Test Driven Development with Wicket and Spring</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter22.html"><strong>23</strong><span>Wicket Best Practices</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter23.html"><strong>24</strong><span>Working with Maven (Appendix)</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter24.html"><strong>25</strong><span>Project WicketStuff (Appendix)</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter25.html"><strong>26</strong><span>Lost In Redirection With Apache Wicket (Appendix)</span></a> + </div> + + <div class="toc-item" style="margin-left:0"><a href="../../guide/contributing.html"><strong>27</strong><span>Contributing to this guide (Appendix)</span></a> + </div> + + </div> + </div> + </li> + <li class="separator selected"> + <a id="ref-button" onclick="localToggle(); return false;" href="#">Quick Reference</a> + </li> + </ul> +</div> +<div id="header"> + <div class="images clearfix"> + + <span id="logo"><a href="/" target="_blank"><img height="80px" src="http://wicket.apache.org/guide/img/apache-wicket.png"/></a></span> + + + <span id="sponsor"><a href="http://www.apache.org/" target="_blank"><img height="60px" src="http://wicket.apache.org/guide/img/asf_logo.gif"/></a></span> + + </div> + <p>Free Online Guide for Apache Wicket framework</p> +</div> + + +<table id="colset" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td id="col1"> + <div id="main" class="corner-all"> + + + <div class="toc-item prev-left"><a href="../../guide/versioningCaching.html"><< <strong>8</strong><span>Page versioning and caching</span></a></div> + + + <span id='toggle-col1' class="toggle">(<a href="#" onclick="localToggle(); return false;">Quick Reference</a>)</span> + + + <div class="toc-item next-right"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span> >></a></div> + + + + <div class="project"> + <h1>9.5 Summary - Reference Documentation</h1> + + <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul BorÈ</p> + + <p><strong>Version:</strong> 6.x</p> + + + </div> + + + + + +<h2 id="requestProcessing_5">9.5 Summary</h2> +<p class="paragraph"/>In this chapter we had a look at how Wicket internally handles a web request. Even if most of the time we won't need to customize this internal process, knowing how it works is essential to use the framework at 100%.<p class="paragraph"/>Entities like Application and Session will come in handy again when we will tackle the topic of security in chapter 20. + + + <div style="clear:both;margin-top:15px;"></div> + + <div class="toc-item prev-left"><a href="../../guide/versioningCaching.html"><< <strong>8</strong><span>Page versioning and caching</span></a></div> + + <div class="toc-item next-right"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span> >></a></div> + + <div style="clear:both"></div> + </div> + </td> + <td id="col2"> + <div class="local clearfix"> + <div class="local-title"> + <a href="../../guide/index.html" target="mainFrame">Quick Reference</a> + <span class="toggle">(<a href="#" onclick="localToggle(); return false;">hide</a>)</span> + </div> + <div class="menu"> + + </div> + </div> + </td> + </tr> +</table> + +<div id="footer"> + +Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> + + +</div> + +<script type="text/javascript" src="../js/docs.js"></script> + +</body> +</html> Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -138,7 +138,7 @@ function addJsClass() { <span id='toggle-col1' class="toggle">(<a href="#" onclick="localToggle(); return false;">Quick Reference</a>)</span> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> @@ -166,7 +166,7 @@ Stateless pages are never versioned and <div class="toc-item prev-left"><a href="../../guide/componentLifecycle.html"><< <strong>7</strong><span>Components lifecycle</span></a></div> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> <div style="clear:both"></div> </div> @@ -188,7 +188,7 @@ Stateless pages are never versioned and <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div> Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -138,7 +138,7 @@ function addJsClass() { <span id='toggle-col1' class="toggle">(<a href="#" onclick="localToggle(); return false;">Quick Reference</a>)</span> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> @@ -208,7 +208,7 @@ For the second level cache we can use th <div class="toc-item prev-left"><a href="../../guide/componentLifecycle.html"><< <strong>7</strong><span>Components lifecycle</span></a></div> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> <div style="clear:both"></div> </div> @@ -230,7 +230,7 @@ For the second level cache we can use th <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div> Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -138,7 +138,7 @@ function addJsClass() { <span id='toggle-col1' class="toggle">(<a href="#" onclick="localToggle(); return false;">Quick Reference</a>)</span> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> @@ -187,7 +187,7 @@ Page '<page class>' is not state <div class="toc-item prev-left"><a href="../../guide/componentLifecycle.html"><< <strong>7</strong><span>Components lifecycle</span></a></div> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> <div style="clear:both"></div> </div> @@ -209,7 +209,7 @@ Page '<page class>' is not state <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div> Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -138,7 +138,7 @@ function addJsClass() { <span id='toggle-col1' class="toggle">(<a href="#" onclick="localToggle(); return false;">Quick Reference</a>)</span> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> @@ -164,7 +164,7 @@ function addJsClass() { <div class="toc-item prev-left"><a href="../../guide/componentLifecycle.html"><< <strong>7</strong><span>Components lifecycle</span></a></div> - <div class="toc-item next-right"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> + <div class="toc-item next-right"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span> >></a></div> <div style="clear:both"></div> </div> @@ -186,7 +186,7 @@ function addJsClass() { <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div> Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -187,7 +187,7 @@ However, none of these frameworks offers <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div> Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -193,7 +193,7 @@ This approach is very similar to what GU <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div> Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -192,7 +192,7 @@ Let's quickly review the main advantages <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div> Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html?rev=1562057&r1=1562056&r2=1562057&view=diff ============================================================================== --- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html (original) +++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html Tue Jan 28 13:01:18 2014 @@ -48,7 +48,7 @@ function addJsClass() { <div class="toc-item" style="margin-left:0"><a href="../../guide/versioningCaching.html"><strong>8</strong><span>Page versioning and caching</span></a> </div> - <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter8.html"><strong>9</strong><span>Under the hood of the request processing</span></a> + <div class="toc-item" style="margin-left:0"><a href="../../guide/requestProcessing.html"><strong>9</strong><span>Under the hood of the request processing</span></a> </div> <div class="toc-item" style="margin-left:0"><a href="../../guide/chapter9.html"><strong>10</strong><span>Wicket Links and URL generation</span></a> @@ -193,7 +193,7 @@ Wicket is not the only component oriente <div id="footer"> Copyright © 2013-2014 â <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a> - â <b style="color:#E8590A !important;">(Generated on: 2014-01-27)</b> + â <b style="color:#E8590A !important;">(Generated on: 2014-01-28)</b> </div>
