<document>
<s1>

With Resin, servlets can use Java Bean-style configuration. A "Java Bean" is just a Java class that follows a simple set of rules. Each configuration parameter foo has a corresponding setter method `setFoo` with a single argument for the value. Resin can look at the class using Java's reflection and find the `setFoo` method. Because Resin can find the bean-style setters from looking at the class, it can configure those setters in a configuration file like the web.xml.

</s1> <deftable>
Configures the Servlet with bean-style init
The servlet implementation.
</deftable>

The following `HelloServlet` servlet is a trivial bean-style servlet. Instead of hardcoding the "Hello, world" string, it lets the web.xml configure the string as greeting. To make that work, `HelloWorld` adds a bean-style `setGreeting(String)` jmethod. package test; import java.io.*; import javax.servlet.http.*; import javax.servlet.*; public class HelloServlet extends HttpServlet { private String _greeting = "Default"; public void setGreeting(String greeting) { _greeting = greeting; } public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { PrintWriter out = res.getWriter(); out.println(_greeting); out.close(); } }

The configuration sets the greeting property inside an tag. After Resin instantiates the servlet object, it looks at the configuration file for any <init> section. Resin then calls a `setXXX` method for each <xxx> tag in <init>. In this case, Resin will call `setGreeting`

Resin will perform any type conversion necessary, so you can use integers and doubles as well as strings. After Resin calls the `setXXX` methods, it will call the `init(ServletConfig)` method.

When Resin initializes the servlet, it will make the following calls:

1. `servlet = new test.HelloServlet();`
2. `servlet.setGreeting("Hello, World!");`
3. `servlet.init(servletConfig);`

<web-app xmlns="http://caucho.com/ns/resin"> <servlet servlet-name="hello" servlet-class="test.HelloServlet"> <init> <greeting>Hello, World!</greeting> </init> </servlet> <servlet-mapping url-pattern="/hello" servlet-name="hello"/> </web-app>
</document>