27. 2. 2. Inject Resource In Servlet |
|
File: application.xml |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application
1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
<application>
<display-name>Hello Ear File</display-name>
<!-- <module>
<ejb>java2s.jar</ejb>
</module> -->
<module>
<web>
<web-uri>java2s.war</web-uri>
<context-root>/webapp</context-root>
</web>
</module>
</application>
|
|
File: Customer.java |
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "CUSTOMER_TABLE")
public class Customer implements java.io.Serializable {
private int id;
private String lastName;
private String firstName;
private Date timeCreated = new Date();
@Id
@GeneratedValue
@Column(name = "CUST_ID")
public int getId() {
return id;
}
public void setId(int pk) {
id = pk;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Temporal(TemporalType.TIME)
public Date getTimeCreated() {
return timeCreated;
}
public void setTimeCreated(Date time) {
timeCreated = time;
}
}
|
|
File: HelloService.java |
import javax.ejb.Local;
@Local
public interface HelloService {
public void doAction();
}
|
|
File: HelloServiceBean.java |
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Stateless
public class HelloServiceBean implements HelloService {
public void doAction(){
}
}
|
|
File: MyServlet.java |
import java.io.IOException;
import java.io.PrintWriter;
import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.transaction.NotSupportedException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
public class MyServlet extends HttpServlet {
@EJB
HelloService hello;
@Resource
UserTransaction tx;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<body>");
out.println("<html>");
out.println("<head><title>TITLE </title></head><body>");
// try {
// service = (HelloService) new
// InitialContext().lookup("java:comp/env/ejb/HelloService");
// service = (HelloService) new
// InitialContext().lookup("HelloService/Local");
// } catch (Exception e) {
// throw new ServletException(e);
// }
hello = new HelloServiceBean();
try {
tx.begin();
hello.doAction();
tx.commit();
} catch (Exception e) {
}
out.println("saved:");
out.println("</body></html>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
|
|
Download: EJB-InjectResourceInServlet.zip( 509 k) |