jsp连接数据库(oracle,sqlserver,mysql等10多种数据库)大全(您的必备)
### JSP连接数据库详解 #### 引言 随着网络应用的发展,JSP(Java Server Pages)作为一种基于Java的服务器端脚本技术,在Web开发中占据了重要地位。它能够与HTML结合,实现动态网页的创建。在JSP开发过程中,与数据库进行交互是一项基本且重要的技能。本文将详细介绍如何使用JSP连接并操作Oracle、SQL Server、MySQL等多种数据库,并通过具体示例代码进行演示。 #### JSP与数据库连接基础 在JSP中连接数据库通常涉及到以下几个步骤: 1. **加载数据库驱动**:根据所使用的数据库类型,加载相应的JDBC驱动。 2. **建立连接**:使用`DriverManager.getConnection()`方法建立数据库连接。 3. **执行查询或更新操作**:通过`Statement`或`PreparedStatement`对象执行SQL语句。 4. **处理结果集**:如果执行的是查询操作,则需要处理返回的`ResultSet`对象。 5. **关闭资源**:完成所有操作后,关闭`ResultSet`、`Statement`和`Connection`对象,释放资源。 #### 示例代码分析 ##### JSP连接Oracle数据库 ```jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.sql.*"%> <html> <body> <% try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; // orcl为数据库SID String user = "scott"; String password = "tiger"; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql = "SELECT * FROM test"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { out.println("第一列为: " + rs.getString(1)); out.println("第二列为: " + rs.getString(2)); } out.println("数据库连接成功!"); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { out.println("连接失败:" + e.getMessage()); } %> </body> </html> ``` - **说明**:此示例展示了如何使用JSP连接Oracle数据库。注意,为了确保示例的兼容性和可读性,已对原代码进行了格式化和注释的添加。此外,使用了异常处理机制来捕获并处理可能出现的错误。 ##### JSP连接SQL Server数据库 ```jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.sql.*"%> <html> <body> <% try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:1433;databaseName=pubs"; // pubs为数据库名 String user = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql = "SELECT * FROM test"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { out.println("第一列为: " + rs.getString(1)); out.println("第二列为: " + rs.getString(2)); } out.println("数据库连接成功!"); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { out.println("连接失败:" + e.getMessage()); } %> </body> </html> ``` - **说明**:这段代码演示了如何使用JSP连接SQL Server数据库。同样地,为了增强代码的可读性和维护性,进行了适当的格式化调整,并添加了必要的异常处理。 ##### JSP连接DB2数据库 ```jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.sql.*"%> <html> <body> <% try { Class.forName("com.ibm.db2.jcc.DB2Driver"); String url = "jdbc:db2://localhost:5000/sample"; // sample为数据库名 String user = "admin"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql = "SELECT * FROM test"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { out.println("第一列为: " + rs.getString(1)); out.println("第二列为: " + rs.getString(2)); } out.println("数据库连接成功!"); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { out.println("连接失败:" + e.getMessage()); } %> </body> </html> ``` - **说明**:这段代码示例展示了如何使用JSP连接DB2数据库。同样地,为了增强代码的可读性,进行了格式化调整,并添加了异常处理。 #### 总结 本文通过具体的示例代码,介绍了如何使用JSP连接并操作Oracle、SQL Server、DB2等多种数据库。对于初学者来说,这种方式有助于快速掌握数据库连接的基本流程。然而,随着项目复杂度的增加,建议采用更高级的设计模式,如MVC(Model-View-Controller),以及ORM(Object-Relational Mapping)框架,如Hibernate等,以提高代码的可维护性和扩展性。此外,还应关注安全性问题,例如防止SQL注入攻击等。
create table test(test1 varchar(20),test2 varchar(20)
然后向这个表写入一条测试纪录
那么现在开始我们的jsp和数据库之旅吧。
一、jsp连接Oracle8/8i/9i数据库(用thin模式)
testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
三、jsp连接DB2数据库
testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 15
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助