servlet中的Java持久化API
我正在从数据库创建一个实体类,我想从servlet中创建一个实体。我编写了以下代码:servlet中的Java持久化API,java,api,jsp,servlets,persistence,Java,Api,Jsp,Servlets,Persistence,我正在从数据库创建一个实体类,我想从servlet中创建一个实体。我编写了以下代码: protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWr
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("UniAppPU");
EntityManager em = emFactory.createEntityManager();
Query query = em.createNamedQuery("Uniuser.findByUsername");
query.setParameter("Username","clayd");
List<Uniuser> result = query.getResultList();
out.println("<p>" + result.size() + "</p>");
em.close();
}
}
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
持久性xml文件如下所示:
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
<persistence-unit name="UniversityApplicationPU" transaction-type="JTA">
<jta-data-source>UniversityEntity</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
大学实体
错误的
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
当没有显示错误时,此操作不起作用。你知道怎么回事吗?非常感谢。此代码缺少类似
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
首先,您使用了错误的持久性单元名称。用这个
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
EntityManagerFactory emFactory=Persistence.createEntityManagerFactory(“UniversityApplicationPU”)
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
其次,您需要在任何获取/更新之前启动事务。您的实际代码如下所示
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("UniversityApplicationPU");
EntityManager em = emFactory.createEntityManager();
em.getTransaction.begin();
Query query = em.createNamedQuery("Uniuser.findByUsername");
query.setParameter("Username","clayd");
List<Uniuser> result = query.getResultList();
out.println("<p>" + result.size() + "</p>");
em.close();
emFactory.close();
EntityManagerFactory emFactory=Persistence.createEntityManagerFactory(“UniversityApplicationPU”);
EntityManager em=emFactory.createEntityManager();
em.getTransaction.begin();
Query Query=em.createNamedQuery(“Uniuser.findByUsername”);
setParameter(“用户名”、“clayd”);
List result=query.getResultList();
out.println(“”+result.size()+“”);
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>
em.close();
emFactory.close();
希望这能奏效。对“不工作”有很多定义。您指的是哪一个?从数据库获取数据的servlet代码。它应该显示表中有多少条记录,但没有显示任何内容。您是否接受了任何异常,可能是或可能是您的视图只是隐藏了部分检查原始htmlNo错误,没有异常只是一个空白页。您提出了什么请求,您的servlet映射到了什么url?
<form method="post" action="processLogin">
<input type="submit" value="Sign in">
</form>