- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于这个问题似乎有几个主题,但还没有找到答案。我对 JSF 很陌生,想创建一个 postgresql 连接池,使用:
但是 tomcat 总是给我一个 HTTP Status 500 - Error instantiating servlet class 错误(帖子末尾的堆栈跟踪)你能帮帮我吗?
我的文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>Postgresql</display-name>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<resource-ref>
<description>Postgres Test</description>
<res-ref-name>jdbc/einfuehrungsaufgabe</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
<context>
<Resource name="jdbc/einfuehrungsaufgabe" auth="Container"
type="javax.sql.Datasource" maxActive="20" maxIdle="5" maxWait="10000"
username="foo" password="foo" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://foo.de/foo">
</Resource>
</context>
(更改数据库地址、用户名和密码)
package com.postgres;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.annotation.Resource;
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 javax.sql.DataSource;
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -7524281845027879453L;
@Resource(name = "jdbc/einfuehrungsaufgabe")
private DataSource dataSource;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/plain");
Connection myConn = null;
Statement myStmt = null;
ResultSet myRs = null;
//some code
}
}
javax.servlet.ServletException: Error instantiating servlet class com.postgres.TestServlet
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
root cause
javax.naming.NamingException: Cannot create resource instance
org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:96)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
org.apache.naming.NamingContext.lookup(NamingContext.java:841)
org.apache.naming.NamingContext.lookup(NamingContext.java:152)
org.apache.naming.NamingContext.lookup(NamingContext.java:829)
org.apache.naming.NamingContext.lookup(NamingContext.java:166)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
最佳答案
多么愚蠢的错误!这只是 context.xml 文件中的错字:
type="javax.sql.Datasource"
改为:
type="javax.sql.DataSource"
现在它工作正常:)
关于tomcat - javax.命名.NamingException : Cannot create resource instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32946616/
我得到错误: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.Na
我有一个直接使用 Java Transaction API 资源的 hibernate 应用程序。我正在尝试使用 UserTransaction 来完成一些基本的数据库事务 The UserTrans
我尝试向 activemq 发布消息。但是我在 java 应用程序中遇到一个命名异常。这是代码如下 Properties props = new Properties(); props.se
我在 Weblogic 11g 上运行 Java 6。 我正在开发一个使用 EJB 与数据库通信的 Web 服务项目。目前我正在处理错误,因此我尝试在调用 Web 服务之前取消部署 EJB。我的 EJ
我正在使用 maven 跟踪错误 tomcat 7.0.53。我在 server.xml 的 Resource 标签中使用了 factory="org.apache.commons.dbcp.Basi
当我运行以下命令时: package NonServletFiles; import java.sql.Connection; import java.sql.PreparedStatement; i
我新使用 j2ee,当我使用 netbean 6.9 运行这个项目时。我遇到了这个问题 javax.naming.NamingException: Lookup failed for 'java:co
我在 web.xml 中添加了以下内容: ejb/userManagerBean Session gha.ywk.name.entry.ejb.use
我在 machine1 上部署了一个安全的 ejb,当我在同一台机器上运行客户端代码时,它工作正常。但是当我在任何其他机器上运行客户端代码时,它会抛出错误。粘贴在下面。 在错误中可以看出它没有获取所提
我的监听器代码如下 package org.javaimplant.newsfeed.Init; import javax.naming.Context; import javax.naming.In
我有两个项目,第一个是Ejb3项目,名称是SessionBean,另一个是java项目,名称是SessionBeanClient。对于 IDE,我使用 eclipse indigo。我已经完成了代码,
我已经尝试了下面的大量变体来使数据源工作但无济于事。我已经研究/尝试了几天,所以我认输并寻求帮助。不过首先,我很难在这篇文章中格式化我的代码。没有缩进,某些 xml 标记正在消失。可能是愚蠢的 IE
我正在使用 tomcat 和 mysql(ide 是 eclipse)。我正在使用连接池。 在 context.xml 中,我有: 一开始我一直在easyphp中使用mysql(root用户没有p
我有两个实现接口(interface)的无状态 EJB。为了加载实现,我使用了 InitialContext,但它总是失败并出现 NamingException。 界面 package app.ejb
我试图通过一个简单的 jsp 表单来持久化一个实体,但它不起作用。出现的异常是:javax.naming.NamingException: Lookup failed for 'java:global
我是 java EE 的新手。最近我正在开发一个使用 bean stateless 的项目,但出现以下错误 bean : @Stateless(mappedName = "FlightServiceB
我知道这个问题已经被问过很多次了,但即使在遵循所有答案之后我仍然有一个异常(exception)。我的配置是: 上下文.xml web.xml Prod C
我正在使用 wildfly10。这是我的 Java 代码。 private Hashtable mEnv = new Hashtable(); InitialContext e = new Initi
尝试通过 tomcat Context.xml 公开一个 Oracle 连接时,我得到了一个 NamingException。我已经学习了几个教程,但仍然遇到异常。帮助! Java: String e
关于这个问题似乎有几个主题,但还没有找到答案。我对 JSF 很陌生,想创建一个 postgresql 连接池,使用: JSF 2.2.9 Tomcat 8.0.27 但是 tomcat 总是给我一个
我是一名优秀的程序员,十分优秀!