Code Bye

jsp中setDataSource HTTP Status 500

 

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

从报错看,是没有找到mysql的驱动jar包,是否导入jar包了?同时在tomcat的lib下面也放一个jar包试试

5分
“java.lang.ClassNotFoundException: com.mysql.jdbc.driver”

有没有把正确的数据库的驱动放到这个目录 WEB-INF/lib 下


15分
com.mysql.jdbc.driver 没有把MYSQL的JDBC驱动依赖包。

你可以下载mysql-connector-java-5.1.22-bin.jar然后添加至WEB-INF/lib下即可。

还是不行啊。
也试着在Java Build Path中Add external Jar 包还是不行啊

引用 3 楼 littlebrain4solving 的回复:

com.mysql.jdbc.driver 没有把MYSQL的JDBC驱动依赖包。

你可以下载mysql-connector-java-5.1.22-bin.jar然后添加至WEB-INF/lib下即可。

还是不行啊。
 也试着在Java Build Path中Add external Jar 包还是不行啊

你把驱动包放进去之后和之前报的异常是相同的吗?如果不同把异常信息再次贴出来看看。

还有JSTL的MYSQL方式貌似用的不是很多,建议你用原始的JAVA语句写JDBC连接。

url里不需要写端口号麽
引用 6 楼 littlebrain4solving 的回复:

你把驱动包放进去之后和之前报的异常是相同的吗?如果不同把异常信息再次贴出来看看。

还有JSTL的MYSQL方式貌似用的不是很多,建议你用原始的JAVA语句写JDBC连接。

还是这个错误啊


10分
<sql:setDataSource var=”snapshot” driver=”com.mysql.jdbc.Driver
     url=”jdbc:mysql://localhost/TEST”
     user=”user_id”  password=”mypassword”/>

上面的driver类名大写啊


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明jsp中setDataSource HTTP Status 500