测试连接数据库为MS Sql Server 2008

步骤一:去微软下载sqljdbc_4.0

步骤二:无需安装,解压出来,把sqljdbc4.jar包copy to Tomcat的lib目录下

步骤三:将auth目录下的sqljdbc_auth.dll文件copy to c:\windows\system32下。

Servlet代码:

package com.my;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.List;
import java.util.ArrayList; public class Hello extends HttpServlet {
public Hello() {} public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;DatabaseName=DBNAME;integratedSecurity=True;");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery("SELECT TOP 10 * FROM Project");
List<String> list = new ArrayList<String>();
while(rs.next()) {
list.add(rs.getString("name"));
}
rs.close();
stm.close(); PreparedStatement stmPrepare = conn.prepareStatement("SELECT TOP 10 * FROM Project WHERE id=?");
stmPrepare.setInt(1, 1);
ResultSet rsPrepare = stmPrepare.executeQuery();
List<String> listPrepare = new ArrayList<String>();
while(rsPrepare.next()) {
listPrepare.add(rsPrepare.getString("name"));
}
rsPrepare.close();
stmPrepare.close();
conn.close(); resp.setContentType("text/html;charset=\"UTF-8\"");
PrintWriter pw = resp.getWriter();
pw.print("<html>");
pw.print("<header>");
pw.print("</header>");
pw.print("<body>");
pw.print("<form action=\"\" method=\"\">");
for(int i=0; i<list.size(); i++) {
pw.print("<h2>" + list.get(i) + "</h2>");
}
for(int i=0; i<listPrepare.size(); i++) {
pw.print("<h3>" + listPrepare.get(i) + "</h3>");
}
pw.print("</form>");
pw.print("</body>");
pw.print("</html>");
}
catch(IOException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
catch(Exception e) {
e.printStackTrace();
}
} public void doPost(HttpServletRequest req, HttpServletResponse resp) {
//
}
}

web.xml:

    <servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.my.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>

Servlet连接数据库的更多相关文章

  1. 关于servlet连接数据库会出现空指针异常情况

    一.servlet在连接数据库时,如果没有事先配置,当用Tomcat运行时会出现NullPointer的情况,是因为Tomcat在运行你的应用程序时没有连接mysql的jar包, 正确做法是将你的my ...

  2. Servlet连接数据库及日期格式转换

    package oracleFactory; import java.io.IOException; import java.io.PrintWriter; import java.sql.Conne ...

  3. python&&Java&&jsp+servlet连接数据库报错收藏(sql server,mysql)

    写在最前面:sql server和mysql 是不同的东西... 我在完成java连接数据库的时候把这俩当成一个东西,结果下的mysql的jar包. 但自己的sql是server.. 然后尝试用 py ...

  4. JSP 基础概念归纳 5分钟看完

    1. 符合 j2ee 标准的 web-app 的目录结构 WEB-INF classes web.xml lib servlet 开发过程 从 httpservlet 继承, 重写 doget / d ...

  5. [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

    环境:  操作系统:64位WIN7   数据库:SQL Server 2000 SP1  开发语言:J2EE 在Servlet连接数据库时出错提示:  [Microsoft][ODBC 驱动程序管理器 ...

  6. ServletConfig

    ServletConfig Servlet配置 比如web程序中的某一个Servlet需要配置一些初始化信息,需要在web.xml中进行配置 <servlet> <servlet-n ...

  7. JDBC 数据库连接池

    http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html JDBC 数据库连接池 小结   当对数据库的访问不是很频繁时,可以在每次 ...

  8. JAVA课程之简易课程登记

    实现技术JSP+Servlet+MySQL 思想:首先前台用jsp获取数据,然后用Form表单传值给Servlet,Servlet操作MySQL,获取数据再通过jsp显示 1.jsp功能选择界面 &l ...

  9. servlet中Java连接数据库后的基本操作

    servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...

随机推荐

  1. js取配置文件内容

    使用 jQuery.i18n.properties 实现 Web 前端的国际化 http://www.ibm.com/developerworks/cn/web/1305_hezj_jqueryi18 ...

  2. 《深入浅出Node.js》第3章 异步I/O

    @by Ruth92(转载请注明出处) 第3章 异步I/O Node 的基调:异步 I/O.事件驱动.单线程. Node 不再是一个服务器,而是一个可以基于它构建各种高速.可伸缩网络应用的平台. No ...

  3. dedecms内容页调用缩略图 缩略图多种用法(借鉴)

    文章内容页调用缩略图方法如下两种.第一种没有大小设置.原图显示.第二种.可以设大小, (1) {dede:field.image/} (2)<img src="{dede:field. ...

  4. Neutron Metering as a Service

    1, /etc/neutron/neutron.conf   service_plugins = router,metering    notification_driver=neutron.open ...

  5. ehcache memcache redis -- java中的三大缓存

      三个缓存在java代码中用的是较多的,但是它们都有自己的应用场合,和优缺点.  Ehcache 1.初衷:减少数据库操作的高延时而设计.(缓存的目的,好像都是这个吧) 2.Apache Licen ...

  6. JS中onpropertychange和onchange事件区别小结

    当一个HTML元素的属性用js改变的时候,都能通过onpropertychange来捕获.例如一个文本text对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onproper ...

  7. python with as用法

    with as用途:取代原来的try...finally,主要是用于处理异常 基本语法:with EXPRESSION [ as VARIABLE] WITH-BLOCK 基本要求:with所求值的对 ...

  8. Matlab 矩阵卷积理解(转载)

    转载自:http://blog.csdn.net/andrewseu/article/details/51783181 在图像处理的过程中,经常会看到矩阵卷积的概念,比如说用一个模板去和一张图片进行卷 ...

  9. 383. Ransom Note

    
Given
 an 
arbitrary
 ransom
 note
 string 
and 
another 
string 
containing 
letters from
 all 
th ...

  10. activiti 任务节点 处理人设置【转】

    转自http://blog.csdn.net/qq_30739519/article/details/51225067 1.1.1. 前言 分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自 ...