K
karl.wettin
<http://wiki.snigel.net/se.snigel.net.servlet.server>
= Abstract =
A tiny but fully featured servlet server, interfaced very similair to
javax.net.servlet. Get, post, upload data, sessions, standard logs,
public file path, et.c. Extended servlet context allows user defined
scopes such as static instance, instance-per-thread or even singleton
servlets if one wish.
= Why? =
* Debugging
* Minimalism
= Download =
BSD open source licence.
* attachment:servlet_20050303.tar.gz >> source, compiled classes, jar
and dependencies.
= To do =
* Refactor file browser to use ["se.snigel.vojne" Vojne].
* Allow multiple public file paths.
* Configurable log? Handle log per servlet context?
= Example implementation =
{{{
package se.snigel.net.servlet;
import java.io.IOException;
public class TestServlet
extends Servlet
{
public static void main(String[] args)
throws Exception
{
Server server = new Server(8080);
server.addContext(new ServletContext()
{
private final TestServlet servlet = new TestServlet();
public boolean accept(String request)
{
return true;
}
public Servlet getServlet()
{
// the same instance for all connections. the code
better be thread safe!
return servlet;
// see diffrence from: return new TestServlet();
}
});
new Thread(server).start();
}
/** since there is only one instance per server, this attributes
pretty much acts as a if it was static. */
private int counter = 0;
public void doGet(ServletRequest request, ServletResponse response)
throws IOException
{
counter++;
response.getWriter().write("You are visitor #" + counter + " to
this TestServlet instance.");
}
}
}}}
= Abstract =
A tiny but fully featured servlet server, interfaced very similair to
javax.net.servlet. Get, post, upload data, sessions, standard logs,
public file path, et.c. Extended servlet context allows user defined
scopes such as static instance, instance-per-thread or even singleton
servlets if one wish.
= Why? =
* Debugging
* Minimalism
= Download =
BSD open source licence.
* attachment:servlet_20050303.tar.gz >> source, compiled classes, jar
and dependencies.
= To do =
* Refactor file browser to use ["se.snigel.vojne" Vojne].
* Allow multiple public file paths.
* Configurable log? Handle log per servlet context?
= Example implementation =
{{{
package se.snigel.net.servlet;
import java.io.IOException;
public class TestServlet
extends Servlet
{
public static void main(String[] args)
throws Exception
{
Server server = new Server(8080);
server.addContext(new ServletContext()
{
private final TestServlet servlet = new TestServlet();
public boolean accept(String request)
{
return true;
}
public Servlet getServlet()
{
// the same instance for all connections. the code
better be thread safe!
return servlet;
// see diffrence from: return new TestServlet();
}
});
new Thread(server).start();
}
/** since there is only one instance per server, this attributes
pretty much acts as a if it was static. */
private int counter = 0;
public void doGet(ServletRequest request, ServletResponse response)
throws IOException
{
counter++;
response.getWriter().write("You are visitor #" + counter + " to
this TestServlet instance.");
}
}
}}}