sql server 2016 连接成功,servlet连接出现问题!

时间:2023-02-13 10:27:33
package util;

import java.sql.*;

import com.microsoft.sqlserver.jdbc.SQLServerDriver;


public class DBConnection {
static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
static String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=bookDB";
static String userName = "sa";
static String userPwd = "123456";

public static Connection getConnection() {
try {
Class.forName(driverName);
Connection conn = DriverManager.getConnection(dbURL,
userName, userPwd);
System.out.println("连接数据库成功");

} catch (Exception e) {
e.printStackTrace();
System.out.print("连接失败");
}
return null;
}

// public static void main(String[] args) {
//
// DBConnection.getConnection();   
// }   
//这里的测试连接成功!!!!
}

package servlet;

import java.io.IOException;


import com.microsoft.sqlserver.jdbc.SQLServerDriver;
import java.io.PrintWriter;
import java.sql.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import util.DBConnection;


public class Insservlet extends HttpServlet {

/**
 * The doGet method of the servlet. <br>
 *
 * This method is called when a form has its tag value method equals to get.
 * 
 * @param request
 *            the request send by the client to the server
 * @param response
 *            the response send by the server to the client
 * @throws ServletException
 *             if an error occurred
 * @throws IOException
 *             if an error occurred
 */

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
String instuser = request.getParameter("instuser");
String instpsw = request.getParameter("instpsw");
String instbook = request.getParameter("instbook");
String inssql = "insert into book values ('" + instuser + "','"
+ instpsw + "','" + instbook + "')";
try {
Connection conn =DBConnection.getConnection();
PreparedStatement ps = conn.prepareStatement(inssql);
ps.execute();

out.println("<html>");
out.println("<body>");
out.println(inssql);
out.println("插入成功");
out.println("</body>");
out.println("</html>");


} catch (SQLException e) {
out.println("<html>");
out.println("<body>");
out.println("插入失败");
out.println("</body>");
out.println("</html>");
// TODO Auto-generated catch block
e.printStackTrace();
}

}

/**
 * The doPost method of the servlet. <br>
 *
 * This method is called when a form has its tag value method equals to
 * post.
 * 
 * @param request
 *            the request send by the client to the server
 * @param response
 *            the response send by the server to the client
 * @throws ServletException
 *             if an error occurred
 * @throws IOException
 *             if an error occurred
 */
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
response.setContentType("text/html");

}

}

--把项目放入Tomcat7.0里运行就错误,下面是错误代码

HTTP Status 500 - 


type Exception report

message 

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

exception 
java.lang.NullPointerException
servlet.Insservlet.doGet(Insservlet.java:49)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
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/7.0.56 logs.


信息: Deployment of web application directory F:\Workspaces\.metadata\.me_tcat7\webapps\book has finished in 308 ms
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at util.DBConnection.getConnection(DBConnection.java:16)
at servlet.Insservlet.doGet(Insservlet.java:48)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
连接失败四月 08, 2017 5:02:36 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [Insservlet] in context with path [/book] threw exception
java.lang.NullPointerException
at servlet.Insservlet.doGet(Insservlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

4 个解决方案

#1


com.microsoft.sqlserver.jdbc.SQLServerDriver类找不到。。。。

#2


sql server 2016 连接成功,servlet连接出现问题!

类已经导入了,为什么找不到?
而且测试的时候可以连接数据库。

#3


sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!
sql server 2016 连接成功,servlet连接出现问题!

#4


引用 1 楼 pany1209 的回复:
com.microsoft.sqlserver.jdbc.SQLServerDriver类找不到。。。。


我全调用了。4楼有贴图。

#1


com.microsoft.sqlserver.jdbc.SQLServerDriver类找不到。。。。

#2


sql server 2016 连接成功,servlet连接出现问题!

类已经导入了,为什么找不到?
而且测试的时候可以连接数据库。

#3


sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!

sql server 2016 连接成功,servlet连接出现问题!
sql server 2016 连接成功,servlet连接出现问题!

#4


引用 1 楼 pany1209 的回复:
com.microsoft.sqlserver.jdbc.SQLServerDriver类找不到。。。。


我全调用了。4楼有贴图。