我无法通过启动jetty9连接到数据库

时间:2017-09-26 08:45:44

标签: java jsp

我有这个错误,我不明白为什么以及如何解决它。什么是DataSource?

  

javax.servlet.ServletException:javax.servlet.jsp.JspTagException:   `JDBC / DB1'是一个未知的数据源   org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:909)     在   org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:838)     在   org.apache.jsp.reservas.general.general.modificarshuttle_jsp._jspService(modificarshuttle_jsp.java:407)     在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:790)at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)

3 个答案:

答案 0 :(得分:1)

我认为你喜欢这样的游戏

<sql:query var="var" dataSource="jdbc/db1">SELECT * FROM table_name

在你的jsp文件中 ,因此您应该在web.xml中定义数据源(数据库的连接) 像这样

<resource-ref>
 <description>My DataSource Reference</description>
 <res-ref-name>jdbc/DSTest</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>

`

并在META-INF文件夹下的context.xml中定义数据库连接(名称,URL和驱动程序)

 <New id="db1" class="org.eclipse.jetty.plus.jndi.Resource">
 <Arg></Arg>
 <Arg>jdbc/db1</Arg>
 <Arg>
    <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
       <Set name="Url">jdbc:mysql://localhost:3306/databasename</Set>
       <Set name="User">user</Set>
       <Set name="Password">pass</Set>
    </New>
 </Arg>
</New>

取自Datesource example

答案 1 :(得分:1)

我不太确定 Jetty 9 服务器。我在 Jetty 10 服务器中遇到了同样的问题,后来通过启用 jetty plus 模块使其工作。

答案 2 :(得分:0)

也许你需要在启动jetty时配置jetty.xml文件。

参数如下:

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <New id="z" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg></Arg>
    <Arg>jdbc/db1</Arg>
    <Arg>
     <New class="org.apache.commons.dbcp.BasicDataSource">
           <Set name="driverClassName">org.postgresql.Driver</Set>
            <Set name="defaultAutoCommit">false</Set>
            <Set name="url">jdbc:postgresql://ipaddress:port/database?loglevel=0</Set>
            <Set name="username">user</Set>
            <Set name="password">password</Set>
     </New>
    </Arg>
   </New>

您可以阅读有关码头的文件:

<!-- =============================================================== -->
<!-- Configure the Jetty Server                                      -->
<!--                                                                 -->
<!-- Documentation of this file format can be found at:              -->
<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax        -->
<!--                                                                 -->
<!-- Additional configuration files are available in $JETTY_HOME/etc -->
<!-- and can be mixed in.  For example:                              -->
<!--   java -jar start.jar etc/jetty-ssl.xml                         -->
<!--                                                                 -->
<!-- See start.ini file for the default configuraton files           -->
<!-- =============================================================== -->