我正在尝试显示 SQLSERVER 中的表 (test_dept) 的内容 我也创建了一个连接配置文件。 我写了一个像下面这样的 Servlet...但是我收到了这个错误。
import java.io.IOException;
import java.io.PrintWriter;
import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceUnit;
import javax.servlet.ServletException;
//import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
@WebServlet(urlPatterns = "/ServletClient")
public class ServletClient extends HttpServlet
{
@PersistenceUnit
EntityManagerFactory factory;
@SuppressWarnings("rawtypes")
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
//ServletOutputStream out = resp.getOutputStream();
PrintWriter pw = resp.getWriter();
java.util.List list = factory.createEntityManager().createQuery("select f from test_dept f;").getResultList();
pw.println("<html><body bgcolor=silver text=green><table>");
for (Object tdp : list)
{
pw.println("In The Loop");
pw.println("<tr><td>" + ((TestDept) tdp).getDptnam() + "</td></tr>");
}
pw.println("</table>");
pw.println("<font size=35><b>List created AdapChain</b></font>");
pw.println("</body></html>");
}
}
最佳答案
我认为 Apache Tomcat 的任何版本都不支持开箱即用的 EntityManager 或 EntityManagerFactory 对象注入(inject)。
您需要选择一个支持更多JavaEE规范的服务器平台。
关于java - 使用 JPA 的 Apache Server Servlet 上出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25175289/