javax.servlet.ServletException:实例化servlet类org.server.db.test.ServletExample时出错
我刚开始学习Hibernate和servlet。 我有一个表单(姓名、电子邮件),我填写这些字段,请求就会发送到服务器。 然后我从服务器获取数据并打印它们。 这是正确的javax.servlet.ServletException:实例化servlet类org.server.db.test.ServletExample时出错,java,hibernate,servlets,Java,Hibernate,Servlets,我刚开始学习Hibernate和servlet。 我有一个表单(姓名、电子邮件),我填写这些字段,请求就会发送到服务器。 然后我从服务器获取数据并打印它们。 这是正确的 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("userNam
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("userName");
String email = request.getParameter("email");
String ip = request.getRemoteAddr();
response.getWriter().println("<html>");
response.getWriter().println("<head>");
response.getWriter().println("<title>This is a response</title>");
response.getWriter().println("<head>");
response.getWriter().println("<body>");
response.getWriter().println("<br>Your name is: " + name);
response.getWriter().println("<br>Your email is: " + email);
response.getWriter().println("<br>Your IP address is: " + ip);
response.getWriter().println("</body>");
response.getWriter().println("</html>");
}
我还有一个数据类:
@Entity
public class Data {
@Id
@GeneratedValue
private int Id;
private String userName;
private String userEmail;
//getteres, setters...
}
但是如果我把这段代码放到Servlet中,就会得到一个HTTP错误500。我可以确定的错误消息如下:
javax.servlet.ServletException: Error instantiating servlet class org.server.db.test.ServletExample org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) java.lang.Thread.run(Thread.java:722)
如何将我的信息从服务器放入数据库
my web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Example02</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>ServletExample</display-name>
<servlet-name>ServletExample</servlet-name>
<servlet-class>org.server.db.test.ServletExample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletExample</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
</web-app>
例02
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
servlete示例
servlete示例
org.server.db.test.servlete示例
servlete示例
/servlet1
休眠cfg文件:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://localhost:5432/db</property>
<property name="connection.username">postgres</property>
<property name="connection.password">***</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">2</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<!-- Enable Hibernate's current session context -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
<mapping class="org.server.db.test.Data" />
<mapping class="org.server.db.test.ServletExample" />
</session-factory>
</hibernate-configuration>
org.postgresql.Driver
jdbc:postgresql://localhost:5432/db
博士后
***
2.
org.hibernate.dialogue.PostgreSqlDialogue
线
org.hibernate.cache.NoCacheProvider
真的
创造
javax.servlet.ServletException:实例化servlet类org.server.db.test.ServletExample时出错 至此,在服务器的掩护下,以下构造失败,出现异常:
ServletExample servletExample = new ServletExample();
确切原因将在stacktrace中进一步提到。这是最底层的。阅读服务器日志以找到它。这个问题至少与“将数据从UI保存到数据库”无关。看看例外情况:它肯定出现在服务器的标准错误日志文件中。例外情况可能会告诉您一个提示。如果您不能理解,请将其放在这里,我们将尝试.javax.servlet.ServletException:Error实例化servlet类org.server.db.test.ServletExample org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)java.lang.Thread.run(Thread.java:722)……是否没有内部异常?
ServletExample servletExample = new ServletExample();