|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--HttpServlet | +--example.servlet.basic.MappingServlet
Shows how the servlet-mapping in the resin.conf and web.xml works.
The following is a sample configuration for the examples. It uses Resin's short syntax which is more scannable and maintainable.
<web-app> <servlet servlet-name='map-a' servlet-class='example.servlet.basic.MappingServlet'> <init-param init='value-a'/> </servlet> <servlet servlet-name='map-b' servlet-class='example.servlet.basic.MappingServlet'> <init-param init='value-b'/> </servlet> <servlet servlet-name='map-c' servlet-class='example.servlet.basic.MappingServlet'> <init-param init='value-c'/> </servlet> <!-- an exact match. --> <servlet-mapping url-pattern='/exact' servlet-name='map-a'/> <!-- a prefix match. --> <servlet-mapping url-pattern='/prefix/*' servlet-name='map-b'/> <!-- an extension match. --> <servlet-mapping url-pattern='*.map' servlet-name='map-c'/> <!-- using the invoker (a prefix match). --> <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/> </web-app>
The specific servlet instance depends on the URL. In the above example, there are three URLs that will use the InitServlet, but all three will use different servlet instances.
URL | Servlet Path | Path Info | Servlet |
/exact | /exact | null | servlet-a |
/exact/foo | n/a | n/a | 404 Not Found |
/prefix | /prefix | null | servlet-b |
/prefix/foo | /prefix | /foo | servlet-b |
/test.map | /test.map | null | servlet-c |
/exact/test.map | /exact/test.map | null | servlet-c |
/prefix/test.map | /prefix | /test.map | servlet-b |
The example includes a id variable so you can see how the servlet instances are reused. Since Resin only creates a single servlet instance, servlet programmers must be aware of threading issues.
Constructor Summary | |
MappingServlet()
|
Method Summary | |
void |
doGet(HttpServletRequest request,
HttpServletResponse response)
Handles GET requests. |
void |
init()
The init() method is called when the servlet is
initialized. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public MappingServlet()
Method Detail |
public void init() throws ServletException
init()
method is called when the servlet is
initialized. For most servlets, it will be called on the first
request to the servlet. For load-on-startup servlets, it will be
called when the web-app initializes.
Servlets normally use init() to cache initial lookups. A typical example is caching a lookup of a database DataSource or an EJB home.
ServletException
public void doGet(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException
request
- the request object contains the data from
the browser's request.response
- the response object contains methods to send
data back to the browser.
java.io.IOException
ServletException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |