专栏首页web前端myEclipse6.5与数据库(SQL Server2008)连接遇到的问题<用SSH框架的时候,用servlet+javabean+jsp的时候>

myEclipse6.5与数据库(SQL Server2008)连接遇到的问题<用SSH框架的时候,用servlet+javabean+jsp的时候>

昨天因为学习SSH框架的搭建,时隔一年又重新遇到了myEclipse连接数据库的问题。废话不多说,上干货

(以下全部按照我遇到的问题的顺序,也就是没有顺序,就是任性)

请注意:这是在myEclipse6.5+SQL Server2008的前提下出现的问题,当用mySQL或者SQL2000以前,或者用oracle云云时,里面用的jar包都不一样的!不可参照下列哦~

1、MyEclipse 数据库连接创建失败,出现 Driver class not found

这是搭建SSH框架,在数据库连接时加载sqljdbc4.jar包的时候出现错误提示。感觉一切都按照资料中的步骤走的,并且确保以下都正确:

(1)Driver template选择空白

(2)Driver name 为sql2008(随便写的名字),

(3)Connection URL是  jdbc:sqlserver://localhost:1433;databasename=master  (确保你的数据库端口号是1433<怎么设置请看下文>,并且电脑中安装的sql2008中有名为master的数据库<一般都有>)

(4)User name 是 sa(这个根据你的数据库登录时候的)

(5)password 是 sql2008(这根据你的数据库登录时候的)

(6)DriverClassName是  com.microsoft.sqlserver.jdbc.SQLServerDriver

Add JARs 的时候明明检查了sqljdbc4.jar包存在,并且资料上说SQL2005及以上要用sqljdbc4.jar(不要sqljdbc.jar包),但是啊但是!就是在头上会出现 Driver class not found  怎么办?查阅无数资料说明,原来用SSH框架搭建的时候不比用servlet+javabean+jsp的时候,只需要sqljdbc4.jar,这时候需要两个jar包,或者说这时候sqljdbc.jar更需要(有时候不需要sqljdbc4.jar,看你的系统),因此,下载数据库的驱动jar包(http://www.microsoft.com/zh-cn/download/details.aspx?id=21599),解压后放在C:\Program Files (x86)\Microsoft SQL Server JDBC Driver

如图:

image.png

记得要配置环境环境变量:计算机->属性->高级系统设置->环境变量->双击系统变量中CLASSPATH,在变量值中加上  ;C:\Program Files (x86)\Microsoft SQL Server JDBC Driver\sqljdbc_3.0\chs\sqljdbc4.jar  (前面的分号;’不要忘!)

前面完成了,jar包也有了,基本上不会出什么大问题,但是!这时候好像还是不行,那就可能是jar包坏了(为什么会坏,我也没干什么啊,但是就是有人会遇到我这种问题,可能拷贝的时候出了错?总之,什么问题都检查不出的时候,你就试试到官网上重新下载个jar包《这里解压后有sqljdbc4.jar和sqljdbc.jar--->http://www.microsoft.com/zh-cn/download/details.aspx?id=21599》)

2、数据库TCP/IP协议没有打开,端口号也没有设置(接收的协议没打开,你让人数据库怎么和你沟通)

很简单,开始菜单->Microsoft SQL Server 2008->配置工具->SQL Server配置管理器->SQL Server网络配置->SQLEXPRESS的协议,将TCP/IP的状态从禁用改为启用,如下图:

image.png

然后右击TCP/IP点属性,将IP1和IPALL中的TCP端口改为1433,如下图(完美)

image.png

3、用MVC模式开发Java Web 连接数据库的方法,我目前知道三种方法(servlet中直接连接;web.xml中初始化共用参数,然后servlet中调用参数连接;建立连接池),但是我今天先只讲第一种,最直接简单的(毕竟今天比较忙~)

当确保你的数据库可以用、TCP/IP协议打开、端口号设置为1433了、准备了sqljdbc4.jar包以后,开始吧:

(1)在项目工程的src文件下创建servlet(这不要讲都会的吧?src-new-servlet  看下图设置,然后next-finish 即可)

image.png

然后在init方法函数下如下键入:

public void init() throws ServletException {
		  try {
			    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
			    String url="jdbc:sqlserver://localhost:1433;databasename=mySales";
			    String user="sa";
			    String password="sql2008";
			    conn=DriverManager.getConnection(url,user,password);
//在浏览器中输入http://localhost/MyWeb/servlet/JDBCServlet1  的时候,在myEclipse的控制台中看到 i am ssh ok 就连成了

			    System.out.println("i am myweb ok");  
/*   stmt=conn.createStatement();
    //这个是输出数据库中的数据代码,不用也无所谓
			    stmt.executeUpdate("use mySales");
			    String sql="select * from orders";
			    rs=stmt.executeQuery(sql);
			    while(rs.next()){
				    System.out.println(rs.getInt("orderid"));
			    }
*/
			    //System.out.println();	//true
		    } catch (ClassNotFoundException e) {
      e.printStackTrace();
			      System.out.println("myweb ClassNotFoundException");
			  //控制台输出这个就说明这里出错了
		    } catch (SQLException e) {
			      e.printStackTrace();
			      System.out.println("myweb SQLException");
		  }
	}

注意消除一些引用方法的时候出现的错误,下图注意添加

image.png

很简单对不?但是你的控制台出现了一大堆错误对不?慢慢检查然后纠正吧少年们~

最后的最后分享个我的一大堆错误中的一个:找不到jar包(不记得当时控制台的错误代码是什么,但是大概翻译是找不到Driver,或者驱动不支持什么的) 

这个时候就要用到sqljdbc4.jar包了(因为我的jdk版本是1.7.0,当jdk版本貌似?高于1.6.0的时候sqljdbc.jar包已经不适用)<怎么看自己安装的jdk版本看下文>

将准备好的jar包复制到WEB INF 下的lib文件夹中即可!(修改了Java文件记得要重启tomcat服务器才能生效哦)

4、怎么查阅jdk版本?

开始->运行->然后输入cmd进入dos界面,输入java -version , 出现以下信息就可以看出你安装的jdk版本

image.png

未完待续

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Servlet 与 Ajax 交互一直报status=parsererror

    原因:servlet 返回的数据不是 Json 格式 1、JS代码为: 1 var jsonStr = {'clusterNum':2,'iterationN...

    IT可乐
  • Servlet字符编码过滤器,实现图书信息的添加功能,避免产生文字乱码现象的产生

    同样的代码,网上可以找到和我一模一样的代码和配置,比我的更加详细,但是我重新写一个博客的原因自是把错误的原因写出来,因为这就是个坑,我弄了一天,希望对你们有所帮...

    别先生
  • SpringBoot中实现拦截器, 并实现对404和500等错误的拦截。

    今天给大家介绍一下SpringBoot中拦截器的用法,相比Struts2中的拦截器,SpringBoot的拦截器就显得更加方便简单了。 只需要写几个实现类就可以...

    用户1149268
  • 如何在工程中使用axis2部署webservice

    有一个最简单的方法就是把axis2.war中的内容作为Web Project的基础, 来进行开发. 不过为了更清楚的了解如何在一个已有的Web Project中...

    王二麻子
  • 《项目架构那点儿事》——工具类,你喜欢你就拿去

    【前言】众所周知,各式各样的Util类为我们提供了便利,也同时减少了我们对底层硬编码的时间,包括对字符串的操作,文件操作,反射的操作,泛型的操作,以及熟知 的分...

    王二麻子
  • 对 Servlet 的改进--------Struts2 引入

      通过上一篇博客:Servlet 的详解 https://cloud.tencent.com/developer/article/1012709,我们大致知道...

    IT可乐
  • jsp+servlet实现文件的上传和下载

    实现文件的上传和下载首先需要理解几个知识,这样才可以很好的完成文件的上传和下载;   (1):上传文件是上传到服务器上,而保存到数据库是文件名   (2):上传...

    别先生
  • Servlet过滤器,Servlet过滤器创建和配置

    第一:Servlet的过滤器的创建和配置,创建一个过滤器对象需要实现javax.servlet.Filter接口,同时实现Filter的3个方法。       ...

    别先生
  • 前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)

    1:由于针对特定的前后台交互用到的知识总结,所以不大量贴代码,主要给出思路,方便自己以后脑补和技术总结,当然也希望可以帮助到别人。 后台Json和其他格式转化,...

    别先生
  • Hibernate之开门见山

    1:SSH框架:   Struts2:基于mvc模式的应用层框架模式(Servlet层)   Hibernate:基于持久层的框架(数据访问层)   Sprin...

    别先生

扫码关注云+社区

领取腾讯云代金券