2017-09-26 74 views
0

我有這個錯誤,我不明白爲什麼以及如何解決它。什麼是DataSource?我無法通過啓動jetty9連接到數據庫

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) 在有機apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)

+0

數據源是數據的一些源;-)這可能是一個數據庫或LDAP目錄或某事完全不同。什麼是JSP頁面? – Lothar

+0

問題是在開始的時候,JSP中沒有是正常的。數據庫是未知的。 – Zeroxiden

回答

0

採取你的數據庫連接(名稱,網址,和驅動程序)文件,當你啓動碼頭。

的參數是這些:

<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   --> 
<!-- =============================================================== --> 
1

我認爲你有aquery這樣

<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> 

`

,也許你需要配置的的jetty.xml定義你的context.xml下META-INF文件夾

<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

+0

這些定義我已經設置好了,我仍然得到同樣的錯誤,非常感謝您的幫助,但是必須爲錯誤提供另一個原因。 – Zeroxiden