Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Launch Eclipse. Select File->New->Project.





  2. Select Web->Dynamic Web Project. Select Next.





  3. Name the project as WebMDB. Select Next.





  4. Next window displays the various project facets. Keep the default values and select Next.





  5. Keep the default values for the next window. Select Next->Finish.








  6. Right click on WebMDB project and create a new servlet.





  7. Name the servlet as UserServlet and package as webmdb. This is the producer in the application.





  8. Select Next and later Finish.





  9. Add the following code to UserServlet.java
    Code Block
    titleUserServlet.java
    borderStylesolid
    package webjmswebmdb;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Enumeration;
    
    import javax.annotation.Resource;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.JMSException;
    import javax.jms.MessageProducer;
    import javax.jms.Queue;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class for Servlet: UserServlet
     *
     */
     public class UserServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    	 @Resource(name="jms/TestConnectionFactory")
    	 private ConnectionFactory connectionFactory;
    	 @Resource(name="jms/TestQueue")
    	 private Queue queue;
    	 static final long serialVersionUID = 1L;
       
       
        /* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#HttpServlet()
    	 */
    	public UserServlet() {
    		super();
    	}   	
    	
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		PrintWriter out = response.getWriter();
    		if(connectionFactory == null) {
    			out.println("Connection Factory lookup has failed");
    			return;
    		}
    		
    		if(queue == null) {
    			out.println("Queue lookup has failed");
    			return;
    		}
    		
    		
    		
    		Connection connection = null;
    		try {
    			connection = connectionFactory.createConnection();
    			connection.start();
    			Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    			MessageProducer producer = session.createProducer(queue);
    			TextMessage message = session.createTextMessage();
    			Enumeration arr=request.getParameterNames();
    			while(arr.hasMoreElements())
    			{
    				String fields= (String)arr.nextElement();
    				String paramname[]=request.getParameterValues(fields);
    				for (int i=0; i<paramname.length;i++)
    				{	
    				String s=null;
    				s=fields+":" + paramname[i];
    				message.setText(s);
    				producer.send(message);
    				}
    				
    			}
    			out.println("Your request has been sent to administrator.");
                //Send a non-text control message indicating end of messages.
                producer.send(session.createMessage());
    		} catch (JMSException e) {
    			e.printStackTrace();
    		} finally {
    			if(connection != null) {
    				try {
    					connection.close();
    				} catch (JMSException e1) { }
    			}
    		}
    	}
    	
    	/* (non-Java-doc)
    	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}   	  	    
    }
    

...