郁闷了2天了,写了个jsp注册页面,但在页面处理连数据库的时候出现了问题,连接数据库的代码及驱动没有一点问题,但就是
报无驱动的异常,异常如下:
严重: Servlet.service() for servlet [jsp] in context with path [/JspTest2] threw exception [javax.servlet.ServletException: java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;DataBaseName=jspUser] with root cause
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;DataBaseName=jspUser
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at jspjavabean.DBConnection.getConnection(DBConnection.java:27)
at jspjavabean.User.register(User.java:127)
at org.apache.jsp.register_005fdo_jsp._jspService(register_005fdo_jsp.java:81)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
网上查了半天,特么的都说是驱动的问题或是jdbc连接的代码不对,所以我又在Javabean里面写了一个main函数测试那个方法,结果显示代码没有问题,可以连接到数据库并完场数据库操作。那是为什么呢?为什么报无驱动的异常??
原因怎么也想不到,竟然是代码格式的问题!
无意间我改了一段代码如下:
<%
request.setCharacterEncoding("gbk");
%>
改成:
<% request.setCharacterEncoding("gbk"); %>
就可以了
卧槽!这也算错!难道因为我是新手见识不广?这也太坑爹了吧?
特此粘出来, 供碰到同样问题的朋友思路——代码格式。
希望尽快解决的你的问题。