有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用href link,使用Javaservlet和hibernate从数据库中删除一行

我在互联网上寻找答案,但我不了解提供的解决方案,所以这是我最后的选择:基本上我有一个表,我想添加、删除和编辑记录。在jsp中,我的代码是:

 <c:forEach items="${All}" var="p">
             <tr>
                 <td>${p.id}</td>
                 <td>${p.firstName}</td>
                 <td>${p.middleName}</td>
                 <td>${p.lastName}</td>
                 <td>${p.email}</td>
                 <td><a href="edit?id=${p.id}">Edit</a>
                 <a href="delete?id=${p.id}">Delete</a></td>

             </tr>
             </c:forEach>

但当我点击delete时,它会将我重定向到404状态码和一个带有delete的链接?id=1。那么,如何使链接转到我的DeletePost servlet,在那里删除行,然后重定向到显示表的页面

编辑:在我的web应用程序中,我试图删除数据库中的一行,但它似乎不起作用,我试图找出原因,但我不能。下面是我的dao类:

public class userDao  {

private SessionFactory factory, session;

public userDao(SessionFactory factory) {
    this.factory = factory;
}

public void delete(long id){
    Session session1 = factory.openSession();
    Transaction tx = null;
    List<User> u = null;
    try {
        tx = session1.beginTransaction();
        Query query = session1.createQuery("SELECT * FROM user_table WHERE id = :id");
        query.setParameter("id", id);
        System.out.println("aaaaa" + id);
        u = query.list();
        session1.delete(u.get(0));
        tx.commit();
    } catch (HibernateException e) {
        if (tx != null) {
            tx.rollback();
        }

    } finally {
        session1.close();
    }

}
}

在我的servlet中,我有:

public class DeleteServlet extends HttpServlet{
userDao u = new userDao(new Configuration().configure().buildSessionFactory());
User a = new User();
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException{
    System.out.println("asa");
    response.sendRedirect("/A1.2/home.jsp");
}


@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException{
    String s = request.getParameter("id");
    long id = Long.parseLong(s);
    u.delete(id);

    response.sendRedirect("/A1.2/home.jsp");
}
}

我认为问题出在dao中,因为我试图从数据库中获取一个用户,但得到了空指针异常


共 (0) 个答案