Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
servlet中的Java持久化API_Java_Api_Jsp_Servlets_Persistence - Fatal编程技术网

servlet中的Java持久化API

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

我正在从数据库创建一个实体类,我想从servlet中创建一个实体。我编写了以下代码:

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>