Servlet连接数据库
测试连接数据库为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连接数据库的更多相关文章
- 关于servlet连接数据库会出现空指针异常情况
一.servlet在连接数据库时,如果没有事先配置,当用Tomcat运行时会出现NullPointer的情况,是因为Tomcat在运行你的应用程序时没有连接mysql的jar包, 正确做法是将你的my ...
- Servlet连接数据库及日期格式转换
package oracleFactory; import java.io.IOException; import java.io.PrintWriter; import java.sql.Conne ...
- python&&Java&&jsp+servlet连接数据库报错收藏(sql server,mysql)
写在最前面:sql server和mysql 是不同的东西... 我在完成java连接数据库的时候把这俩当成一个东西,结果下的mysql的jar包. 但自己的sql是server.. 然后尝试用 py ...
- JSP 基础概念归纳 5分钟看完
1. 符合 j2ee 标准的 web-app 的目录结构 WEB-INF classes web.xml lib servlet 开发过程 从 httpservlet 继承, 重写 doget / d ...
- [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
环境: 操作系统:64位WIN7 数据库:SQL Server 2000 SP1 开发语言:J2EE 在Servlet连接数据库时出错提示: [Microsoft][ODBC 驱动程序管理器 ...
- ServletConfig
ServletConfig Servlet配置 比如web程序中的某一个Servlet需要配置一些初始化信息,需要在web.xml中进行配置 <servlet> <servlet-n ...
- JDBC 数据库连接池
http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html JDBC 数据库连接池 小结 当对数据库的访问不是很频繁时,可以在每次 ...
- JAVA课程之简易课程登记
实现技术JSP+Servlet+MySQL 思想:首先前台用jsp获取数据,然后用Form表单传值给Servlet,Servlet操作MySQL,获取数据再通过jsp显示 1.jsp功能选择界面 &l ...
- servlet中Java连接数据库后的基本操作
servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...
随机推荐
- js取配置文件内容
使用 jQuery.i18n.properties 实现 Web 前端的国际化 http://www.ibm.com/developerworks/cn/web/1305_hezj_jqueryi18 ...
- 《深入浅出Node.js》第3章 异步I/O
@by Ruth92(转载请注明出处) 第3章 异步I/O Node 的基调:异步 I/O.事件驱动.单线程. Node 不再是一个服务器,而是一个可以基于它构建各种高速.可伸缩网络应用的平台. No ...
- dedecms内容页调用缩略图 缩略图多种用法(借鉴)
文章内容页调用缩略图方法如下两种.第一种没有大小设置.原图显示.第二种.可以设大小, (1) {dede:field.image/} (2)<img src="{dede:field. ...
- Neutron Metering as a Service
1, /etc/neutron/neutron.conf service_plugins = router,metering notification_driver=neutron.open ...
- ehcache memcache redis -- java中的三大缓存
三个缓存在java代码中用的是较多的,但是它们都有自己的应用场合,和优缺点. Ehcache 1.初衷:减少数据库操作的高延时而设计.(缓存的目的,好像都是这个吧) 2.Apache Licen ...
- JS中onpropertychange和onchange事件区别小结
当一个HTML元素的属性用js改变的时候,都能通过onpropertychange来捕获.例如一个文本text对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onproper ...
- python with as用法
with as用途:取代原来的try...finally,主要是用于处理异常 基本语法:with EXPRESSION [ as VARIABLE] WITH-BLOCK 基本要求:with所求值的对 ...
- Matlab 矩阵卷积理解(转载)
转载自:http://blog.csdn.net/andrewseu/article/details/51783181 在图像处理的过程中,经常会看到矩阵卷积的概念,比如说用一个模板去和一张图片进行卷 ...
- 383. Ransom Note
Given an arbitrary ransom note string and another string containing letters from all th ...
- activiti 任务节点 处理人设置【转】
转自http://blog.csdn.net/qq_30739519/article/details/51225067 1.1.1. 前言 分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自 ...