Click here to Skip to main content
Click here to Skip to main content
Go to top

How to inject Spring beans into Servlets

, 2 Oct 2011
Rate this:
Please Sign up or sign in to vote.
This can be achieved in 3 simple steps:

1. Implement HttpRequestHandler

First of all, your servlet class must implement the org.springframework.web.HttpRequestHandler interface and provide an implementation for the handleRequest() method just like you would override doPost().

2. Declare the servlet as a Spring Bean

You can do this by either adding the @Component("myServlet") annotation to the class, or declaring a bean with a name myServlet in applicationContext.xml.
@Component("myServlet")
public class MyServlet implements HttpRequestHandler {
...

3. Declare in web.xml a servlet named exactly as the Spring Bean

The last step is to declare a new servlet in web.xml that will have the same name as the previously declared Spring bean, in our case myServlet. The servlet class must be org.springframework.web.context.support.HttpRequestHandlerServlet.
<servlet>
    <display-name>MyServlet</display-name>
    <servlet-name>myServlet</servlet-name>
    <servlet-class>
        org.springframework.web.context.support.HttpRequestHandlerServlet
    </servlet-class>
</servlet>
 
<servlet-mapping>
    <servlet-name>myServlet</servlet-name>
    <url-pattern>/myurl</url-pattern>
</servlet-mapping>
Now you are ready to inject any spring bean in your servlet class.
@Component("myServlet")
public class MyServlet implements HttpRequestHandler {
        
        @Autowired
        private MyService myService;

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

ludovicianul
Technical Lead Endava Ltd.
Romania Romania
My name is Madalin Ilie. Currently I'm a Development Lead at Endava Romania (www.endava.com).
Follow on   Twitter

Comments and Discussions

 
GeneralReason for my vote of 5 ITS SPECIFIC Pinmembermohitjilit3-Oct-11 18:49 
GeneralReason for my vote of 5 maybe add component-scan ? Pinmemberunludo16-Sep-11 2:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web03 | 2.8.140926.1 | Last Updated 2 Oct 2011
Article Copyright 2011 by ludovicianul
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid