У меня есть некоторая ошибка, когда я пытаюсь запустить сервлет.Отсутствует поставщик сущности для EntityManager с именем connect
код моего сервлета:
package servlets;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/users")
public class usersView extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userzy = "";
EntityManagerFactory emf = Persistence.createEntityManagerFactory("connect");
EntityManager em = emf.createEntityManager();
userzy += "<table>";
userzy += "<td class='main'>id</td>";
userzy += "<td class='main'>login</td>";
userzy += "<td class='main'>hasło</td>";
userzy += "<td class='main'>grupa</td>";
/*for(User c : persons)
{
userzy+="<tr><td>"+c.getIdekey()+"</td><td>"+c.getLogin()+"</td><td>"+c.getPassword()+"</td><td>"+c.getGroup()+"</td></tr>";
}*/
userzy += "</table>";
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\" />");
out.println("<head>");
out.println("<title>Mój projekcik!</title>");
out.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"css/global.css\" />");
out.println("</head>");
out.println("<body>");
out.println("<div class='header'></div>");
out.println("<div class='left_block'>");
out.println("<div class='logo'></div>");
out.println("<ul class='left_menu'>");
out.println("<a href='index.jsp'><li>Strona główna</li></a>");
out.println("<a href='events'><li>Eventy</li></a>");
out.println("<a href='groups'><li>Grupy</li></a>");
out.println("<a href='categories'><li>Kategorie</li></a>");
out.println("</ul>");
out.println("</div>");
out.println("<div class='right_block'>");
/*if(repo.getAll().size() <= 0) {
out.println("<div class='i_error'>");
out.println("There is no users in database!");
out.println("</div>");
}*/
out.println("<div class='i_message'>");
out.println(userzy);
out.println("</div>");
out.println("</div>");
out.println("</body>");
out.println("</html>");
out.close();
em.close();
emf.close();
}
}
код моего persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="connect" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="Pariston"/>
<property name="hibernate.connection.password" value="123321"/>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hbm2ddl.auto" value="create"/>
</properties>
</persistence-unit>
</persistence>
Структура представления моих файлов проекта (пожалуйста, скажите мне, если место неправильно directiores, как это)
Может кто-нибудь сказать мне, как отремонтировать его? Заранее спасибо :)
Это не работает, даже если: 1. I Перемещаться nce.xml под web/WEB-INF 2. Я буду перемещать META-INF с persistence.xml под web/ 3. - || - под web/WEB-INF – elzoy
@Lawliet Переместить только 'persistance.xml'. Не ставьте под 'WEB-INF'' META-INF'! Вы следили за ссылками, которые я упоминал. У него хорошая картина, как должен выглядеть *** веб-проект *** на Intellij. –