<HTML>
  <HEAD>
    <TITLE>Test Specification WebApp</TITLE>
    <META http-equiv="Pragma" content="no-cache">
    <META http-equiv="Cache-Control" content="no-cache,no-store">
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
  </HEAD>
<BODY >
  <A HREF="http://www.eclipse.org/jetty"><IMG SRC="images/jetty_banner.gif"></A>
  <br/>
  <b><a href="http://localhost:8080/">Demo Home</a></b>
  <hr/>
  <center><span style="color:red; font-variant:small-caps; font-weight:bold">Test Web Application Only - Do NOT Deploy in Production</span> </center>

<h1>Servlet 3.1 Test WebApp</h1>

<p>
This example tests some aspects of the servlet 3.1 specification:<ul>
<li>servlet annotations
<li>web-fragments
<li>servlet container initializers.
<li>multi-part upload support.
</ul>
The source repository for this test is available <a href="https://github.com/eclipse/jetty.project/blob/master/tests/test-webapps/test-servlet-spec">here</a>.
</p>

<h3>Test Servlet 2.5/3.0 Annotations, Fragments and Initializers</h3>
<form action="test" method="post">
  <button type="submit">Test</button>
</form>

<h3>DeclaresRoles</h3>
<p>Login as user <code>admin</code> with password <code>admin</code> when prompted after clicking the button below to test @DeclareRoles annotation</p>
<form action="role" method="post">
  <button type="submit">Test Role Annotations</button>
</form>

<h3>ServletSecurity</h3>
<p>Login as user <code>admin</code> with password <code>admin</code> when prompted after clicking the button below to test @ServletSecurity annotation</p>
<form action="sec/foo" method="post">
  <button type="submit">Test ServletSecurity Annotation</button>
</form>

<h3>Test Servlet 3.0 Multipart Mime</h3>
Test of the annotation:
<pre>
@MultipartConfig(location="foo/bar", maxFileSize=10240, maxRequestSize=-1, fileSizeThreshold=2048)
</pre>
<form ENCTYPE="multipart/form-data" ACTION="multi" METHOD=POST>
    File to upload: <INPUT NAME="userfile1" TYPE="file">
 <input TYPE="submit" VALUE="Test Upload">
</form>

<h3>AsyncListener Resource Injection</h3>
<p>Click the following link to test that javax.servlet.AsyncListeners are injectable</p>
<form action="asy/xx"  method="post">
  <button type="submit">Test AsyncListener</button>
</form>

<center>
  <hr/>
  <a href="http://www.eclipse.org/jetty"><img style="border:0" src="images/small_powered_by.gif"/></a>
</center>

</BODY>
</HTML>
