当前位置: 代码迷 >> J2EE >> jsp中setDataSource要如何搞,小弟我这老是报错
  详细解决方案

jsp中setDataSource要如何搞,小弟我这老是报错

热度:377   发布时间:2016-04-17 23:34:54.0
jsp中setDataSource要怎么搞,我这老是报错

[color=#FF0000]这是报出的错误:
]

//源代码在下面

HTTP Status 500 - An exception occurred processing JSP page /SQL.jsp at line 22


type Exception report

message An exception occurred processing JSP page /SQL.jsp at line 22

description The server encountered an internal error that prevented it from fulfilling this request.

exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /SQL.jsp at line 22

19:   </head>
20:   
21:   <body>
22:    <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.driver"
23:      url="jdbc:mysql://localhost/TEST"
24:      user="user_id"  password="mypassword"/>
25:   </body>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause
javax.servlet.ServletException: javax.servlet.jsp.JspTagException: In &lt;driver&gt;, invalid driver class name: "java.lang.ClassNotFoundException: com.mysql.jdbc.driver"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:901)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:834)
org.apache.jsp.SQL_jsp._jspService(SQL_jsp.java:118)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause
java.lang.ClassNotFoundException: com.mysql.jdbc.driver
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1293)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:270)
org.apache.taglibs.standard.tag.common.sql.DataSourceWrapper.setDriverClassName(DataSourceWrapper.java:55)
org.apache.taglibs.standard.tag.common.sql.SetDataSourceTagSupport.doStartTag(SetDataSourceTagSupport.java:111)
org.apache.jsp.SQL_jsp._jspx_meth_sql_005fsetDataSource_005f0(SQL_jsp.java:144)
org.apache.jsp.SQL_jsp._jspService(SQL_jsp.java:102)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.14 logs.

SQL.jsp源码如下:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'SQL.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
  
  <body>
   <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.driver"
     url="jdbc:mysql://localhost/TEST"
     user="user_id"  password="mypassword"/>
  </body>
</html>
------解决思路----------------------
"java.lang.ClassNotFoundException: com.mysql.jdbc.driver"

有没有把正确的数据库的驱动放到这个目录 WEB-INF/lib 下
------解决思路----------------------
com.mysql.jdbc.driver 没有把MYSQL的JDBC驱动依赖包。

你可以下载mysql-connector-java-5.1.22-bin.jar然后添加至WEB-INF/lib下即可。
------解决思路----------------------
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/TEST"
     user="user_id"  password="mypassword"/>

上面的driver类名大写啊