summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/stateless/container/HelloWorldServlet.java
blob: 61c78a63fa556080f72bcbffcbaf65d54e986a19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package examples.stateless.container;

import javax.ejb.EJB;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import examples.stateless.interfaces.HelloWorld;

/**
 * Servlet Class
 *
 * @web.servlet              name="HelloWorld"
 *                           display-name="Name for HelloWorld"
 *                           description="Description for HelloWorld"
 * @web.servlet-mapping      url-pattern="/HelloWorld"
 * @web.servlet-init-param   name="A parameter"
 *                           value="A value"
 */
public class HelloWorldServlet extends HttpServlet {
	@EJB HelloWorld hwInjected;
	
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException,
		IOException {

		doPost(req,resp);
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException,
		IOException {

		try {
			InitialContext ic = new InitialContext();
			HelloWorld hw = (HelloWorld)ic.lookup(HelloWorld.class.getName());
			
			PrintWriter pw = resp.getWriter();
			resp.setContentType("text/html");
			pw.println("<h4>Lookup output: "+hw.hi()+"</h4>");
			pw.println("<h4>Injection output: "+hwInjected.hi()+"</h4>");
		} 
		catch (NamingException e) {
			e.printStackTrace();
		}
	}
}