小编Bru*_*tus的帖子

Tomcat 8 - java.sql.SQLException:无法为连接URL创建类''的JDBC驱动程序'jdbc:mysql:// xxx/myApp'

我在网上到处寻找我的问题的解决方案,但我没有运气!:(

我正在尝试开发一个能够连接到MySQL数据库(连接池)并将其部署在Tomcat 8服务器上的servlet.

我在META-INF中有一个context.xml文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
   <Context antiJARLocking="true" path="/DBConnectionPoolTest">
       <Resource name="jdbc/testdb"
                 auth="Container"
                 type="javax.sql.DataSource"
                 username="xxx" password="xxx"
                 driverclassname="com.mysql.jdbc.Driver"
                 url="jdbc:mysql://xxx/myApp"
                 maxactive="10"
                 maxidle="4" />
   </Context>
Run Code Online (Sandbox Code Playgroud)

在WEB-INF中,我创建了web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">   
    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/testdb</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
</web-app>
Run Code Online (Sandbox Code Playgroud)

最后,在servlet类中,我使用:

Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
dataSource = (DataSource) envContext.lookup("jdbc/testdb");
...
connection = dataSource.getConnection();
Run Code Online (Sandbox Code Playgroud)

但是在这一行上,当我尝试从数据源获取连接时,我得到以下异常:

java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://xxx/myApp'
t org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2065)
    at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1939)
    at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)
    at DBPoolConnectionServlet.processRequest(DBPoolConnectionServlet.java:73) …
Run Code Online (Sandbox Code Playgroud)

mysql tomcat jdbc

10
推荐指数
1
解决办法
2万
查看次数

Visual Studio代码 - 通过TypeScript调试节点JS

我目前正在尝试从Visual Studio Code调试用TypeScript编写的Node JS应用程序,但我遇到了一些问题.我的情况类似于这个问题所描述的情况

|-- .settings
|----- launch.json
|-- bin
|----- app.js
|----- app.js.map
|--src
|----- app.ts
|-- tsconfig.json
Run Code Online (Sandbox Code Playgroud)

然后我有tsconfig.json文件:

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "outDir": "bin",
        "rootDir": "src",
        "sourceMap": true
    }
}
Run Code Online (Sandbox Code Playgroud)

该应用程序:

console.log("Hello World!");
Run Code Online (Sandbox Code Playgroud)

launch.json:

{
    "version": "0.1.0",
    "configurations": [
        {
            "name": "Launch type",
            "type": "node",
            "program": "src/app.ts",
            "stopOnEntry": false,
            "sourceMaps": true,
            "outDir": "bin"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

然后我从命令行手动编译项目

tsc
Run Code Online (Sandbox Code Playgroud)

所以我在bin目录中得到两个文件.我在app.ts上设置了一个断点,最后用F5运行解决方案,应用程序启动并停在右边但是在JS文件而不是 …

debugging node.js typescript visual-studio-code

4
推荐指数
1
解决办法
3909
查看次数

Nginx - 反向代理具有多个路径的WebSocket服务器

我想我的问题的答案将非常简单,但遗憾的是我自己无法弄明白!

我在服务器A(192.168.1.1)上运行的Nginx充当服务器B(192.168.1.2)上的WebSocket服务器的反向代理.最后一台服务器正在侦听端口1234并有2条路径,因此我们可以连接到以下地址:

ws://192.168.1.2:1234/path1
ws://192.168.1.2:1234/path2
Run Code Online (Sandbox Code Playgroud)

通过添加以下配置,我已经能够通过代理(ws://192.168.1.1/websocket/path1)成功连接到Path1:

location /websocket/path1 {
    proxy_pass http://192.168.1.2:1234/path1;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
Run Code Online (Sandbox Code Playgroud)

现在我想使它足够通用以匹配第二条路径(而不是为path2创建类似的规则),我尝试了类似的东西:

location /websocket {
    proxy_pass http://192.168.1.2:1234;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
Run Code Online (Sandbox Code Playgroud)

但是这样我无法访问WebSocket.

你知道什么是错的吗?

非常感谢您的宝贵时间!

reverse-proxy nginx websocket

2
推荐指数
1
解决办法
4337
查看次数