servlet连接数据库问题 报错问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet连接数据库问题 报错问题相关的知识,希望对你有一定的参考价值。

package webbook.guestbook;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddExampleServlet 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
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println("diao");
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=guest";
String username = "sa";
String password = "123456";
Connection conn=null;
try
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
if(conn==null)
out.println("diaodiaodiao");

catch(Exception e)
e.printStackTrace();
finally
try
conn.close(); //这里显示为空 connection未被赋值
catch (SQLException e)
e.printStackTrace();


out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();


怎么解决

你可以从这几个方面来看:
1.是否正确添加了sqldriver的jar包
2.检查连接参数是否写正确了
驱动程序名称:com.microsoft.jdbc.sqlserver.SQLServerDriver
数据库连接URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname
3.数据库的设置的端口号确定为1433(默认的)
4.检查数据库服务是否启动

注:在finally块中关闭连接时,可以判断是否为空,如果不为空然后在关闭
if(conn !=null ){
conn.close();



最后,最好能附上错误的截图或这错误的堆栈信息
参考技术A 没有包,你发代码处理怎么看啊。
一般连接错误首先想想端口,连接的插件包,用户名密码。
参考技术B 把错误信息截个图看看呗。。。

关于JavaWeb项目中Servlet中无法创建数据库连接池问题

今天写一个servlet项目时,将数据库的操作封装成一个普通java类,在运行时发现执行不到创建连接池的那行代码,但并不报错,用debug调试时发现有一个异常

java.lang.NoClassDefFoundError: org/springframework/jdbc/core/RowMapper

但在测试类中执行是正常的。
最后问题的解决:将项目所需的jar包放在web下WEB-INF下的lib中。

以上是关于servlet连接数据库问题 报错问题的主要内容,如果未能解决你的问题,请参考以下文章

servlet web项目连接数据库报错

servlet web项目连接数据库报错

这是servlet连接数据库的一个报错, Servlet execution threw an exception

关于JavaWeb项目中Servlet中无法创建数据库连接池问题

关于JavaWeb项目中Servlet中无法创建数据库连接池问题

错误描述:单独有运行durid连接池操作数据库,以及单独获取servlet的doPost都正确,但是在doPost中运行写了通过durid操作数据库的方法报错