Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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
Java @资源注入突然停止工作_Java_Jdbc_Jstl - Fatal编程技术网

Java @资源注入突然停止工作

Java @资源注入突然停止工作,java,jdbc,jstl,Java,Jdbc,Jstl,Hello在我的项目中连接到数据库,我使用contex.xml文件(其中我有所有的数据库数据)和@Resource(name=“xyz”)注释,并使用它在我的Servlet中创建数据源: @WebServlet(name = "BookControllerServlet", urlPatterns = {"/BookControllerServlet"}) public class BookControllerServlet extends HttpServlet { private stat

Hello在我的项目中连接到数据库,我使用contex.xml文件(其中我有所有的数据库数据)和@Resource(name=“xyz”)注释,并使用它在我的Servlet中创建数据源:

@WebServlet(name = "BookControllerServlet", urlPatterns = {"/BookControllerServlet"})
public class BookControllerServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private BookDbUtil bookDbUtil;

@Resource(name = "sql2226123")
private DataSource dataSource;

// init method will be called by the app server when this servlet is loaded or initialized
@Override // we inherit it from GenericServlet
public void init() throws ServletException {
    super.init(); //To change body of generated methods, choose Tools | Templates.

    // create our book db util ... and pass in the connection pool / datasource
    try {
        bookDbUtil = new BookDbUtil(dataSource); // bookDbUtil is a data member that we've defined
    } // dataSource is resource injection item our connection pool and we're passing it right here
    catch (Exception exc) {
        throw new ServletException(exc);
    }
}
然而,每天它都突然停止工作。我的意思是@Resource(name=“sql2226123”)不提供任何数据。数据源==null,myConn==null;怎么搞的?context.xml是100%良好,但此时未更改。如果我没记错的话,我最近有一些jdk更新。也许这与此有关?我当前的java版本是:1.8.0_81-b13。有什么想法吗?有人听说了吗

以下是my context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Context path="jadbc/ParkingSystem">
    <Resource name="sql2226123" 
        auth="Container" type="javax.sql.DataSource"
        maxActive="20" maxIdle="5" maxWait="10000"
        username="sql2226123" password="xxxxxxxx" 
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://sql2.freemysqlhosting.net:3306/sql2226123"/>
</Context>

我还设法得到以下错误:

数据库表是否有任何数据或行?web服务器日志文件中是否有错误(代码引用的是servlet)?不幸的是,根本没有错误。没有信息,只有白色页面,通过调试器,我发现@Resource()注释不起作用。数据源值为null。我在制作项目的过程中做了一些备份构建,在将其保存为备份之前,对每个构建都进行了检查。他们都有同样的问题:(请编辑帖子,并在context.xml中显示内容/配置。我添加了context.xml,还设法得到500个错误,请参见屏幕截图。
NameNotFoundException
是在web服务器中配置JDBC
DataSource
对象时遇到的常见问题。我在谷歌上搜索了一些类似问题的链接。)nd解决方案。我希望您也能尝试同样的方法,并找到一些对您的具体案例有用的方法。我无法通过查看错误消息或配置文件确定问题出在哪里。在下一篇评论中继续。。。