| |
Servlets are Java classes which service HTTP requests. The only
requirement for writing a servlet is that it implements the
Servlet interface.
Servlets are loaded from the classpath like all Java classes.
Normally, users put servlets in WEB-INF/classes so Resin will
automatically reload them when they change.
JSP pages are actually implemented as
Servlet, but tend to be more efficient for pages with lots of text.
The following is a complete working resin.conf to run this example. If
you're using a web server like Apache, you'll need to restart Apache to use
the new configuration. After restarting the web server, the
http://localhost/caucho-status will show /hello as a
dispatching URL.
The servlet-mapping tells Resin and Apache that the URL
/hello should invoke the hello-world servlet.
The servlet tells Resin that hello-world uses the
test.HelloWorld class and that the value of the greeting
init parameter is Hello World.
<caucho.com>
<http-server app-dir='/usr/local/resin/doc'>
<servlet-mapping url-pattern='/hello'
servlet-name='hello-world'/>
<servlet servlet-name='hello-world'
servlet-class='test.HelloWorld'>
<init-param greeting='Hello, World'/>
</servlet>
</http-server>
</caucho.com>
|
As indicated by the app-dir, HelloWorld.java belongs in
/usr/local/resin/doc/WEB-INF/classes/test/HelloWorld.java
|
Or, if you're compiling the servlet yourself, the class file belongs in
/usr/local/resin/doc/WEB-INF/classes/test/HelloWorld.class
|
Following is the actual servlet code. It just prints a trivial
HTML page filled with the greeting specified in the resin.conf.
init() and destroy() are included mostly for
illustration. Resin will call init() when it starts the servlet
and destroy before Resin destroys it.
package test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
private String greeting;
public void init()
throws ServletException
{
greeting = getInitParameter("greeting");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter pw = response.getWriter();
pw.println("<title>" + greeting + "</title>");
pw.println("<h1>" + greeting + "</h1>");
}
public void destroy()
{
// nothing to do
}
}
|
Copyright © 1998-2002 Caucho Technology, Inc. All rights reserved.
Resin® is a registered trademark,
and HardCoretm and Quercustm are trademarks of Caucho Technology, Inc. | |
|