Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/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
使用hibernate从servlet获取值以插入数据库_Hibernate_Servlets - Fatal编程技术网

使用hibernate从servlet获取值以插入数据库

使用hibernate从servlet获取值以插入数据库,hibernate,servlets,Hibernate,Servlets,我有一个登录页面,它是一个JSP和一个servlet,我在其中使用request.getParameter从登录页面获取用户名。现在我想使用hibernate将该用户名插入mysql数据库。在我的hibernate程序中,如何访问用户名 我的servlet是- 公共类登录页扩展了HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, S

我有一个登录页面,它是一个JSP和一个servlet,我在其中使用request.getParameter从登录页面获取用户名。现在我想使用hibernate将该用户名插入mysql数据库。在我的hibernate程序中,如何访问用户名

我的servlet是- 公共类登录页扩展了HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {  
    String username= request.getParameter("username");
    System.out.println("Hi  " + username);

}
}

而Hibernate程序是-

公共类休眠测试{

public static void main(String args[]){
    Login name = new Login();       
    name.setUserName("");//////This line shows error. What should be inside ""
    SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    session.save(name);

    session.getTransaction().commit();
    session.close();

}
}


当我运行时,标记行显示错误。在“”中应该包含什么。如何从servlet中检索用户名???

我看不出您的代码中有任何问题。如果两者都工作正常,则只需将所有内容移动到servlet类:

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {  
    String username= request.getParameter("username");

    Login name = new Login();       
    name.setUserName(username);
    SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    session.save(name);

    session.getTransaction().commit();
    session.close();
}

当然,在一个健壮的应用程序中,我们将添加层并应用一些设计模式

我不想粗鲁,但如果你需要问这样的问题,你还没有准备好使用servlet,甚至还没有准备好使用Hibernate,这是一个需要掌握的复杂的野兽。首先学习基本的编程知识,比如“什么是方法,以及如何调用它?”。嗨,我没有完全理解你想要表达的意思,或者你是否完全理解我的问题。谢谢你,我试过这样做。我只是想知道,如果将servlet和hibernate分开,是否可以实现同样的效果。但这也有帮助。建议将思维分为不同的层次。您可以使用servlet从JSP获取参数。然后,另一个类只处理数据持久性。试着读一些关于“设计模式”的书,它会把你的编码思维提升到一个新的水平。