第7章下 在JSP中使用数据库(MySQL版)
- 格式:ppt
- 大小:510.00 KB
- 文档页数:33


JSP的网络数据库连接技术及运用之研究JSP技术已经成为了Web应用程序中最广泛使用的技术之一。
而网络数据库连接则是JSP技术中使用最广泛的技术之一。
本文将会探讨JSP技术中网络数据库连接技术的相关内容,同时也会介绍其如何应用于实际项目中。
一、JSP技术概述JSP,即Java Server Pages,它是Sun Microsystems为了简化网站开发而开发的一套技术方案。
JSP技术通过将Java代码嵌入到HTML页面中来实现页面的动态性,同时通过Java Servlet技术来实现Web应用程序的逻辑控制。
JSP技术具有以下优点:1、易于维护:由于JSP技术将Java代码嵌入到HTML页面中,因此页面开发的工作变得更加容易,并且这种技术也使得页面的维护非常方便。
2、灵活性高:JSP技术可以支持Java的强大功能,不仅可以方便地进行页面的开发和维护,还可以很方便地对程序进行扩展。
3、高性能:与ASP、PHP等页面开发技术相比,JSP技术的性能非常高,这也是其在大型网站中得以广泛使用的原因之一。
二、网络数据库连接技术网络数据库连接技术是JSP技术中使用最为广泛的技术之一。
该技术通常使用Java数据库连接(JDBC)技术来实现。
JDBC是Java语言中用于与关系型数据库进行通信的标准API。
通过JDBC技术,JSP开发人员可以完成对数据库的增删改查等操作。
JDBC技术的核心是数据库驱动程序(driver),驱动程序是一个Java库,使得JDBC 可以与各种数据库进行交互。
驱动程序分为两种类型:JDBC-ODBC桥接器(Bridge)和纯Java驱动程序。
JDBC-ODBC桥接器在JDK 8中已被弃用,因此现在的Java应用程序中通常使用纯Java驱动程序。
常见的数据库驱动程序有以下几种:1、Oracle数据库驱动程序(OracleDriver)。
2、MySQL数据库驱动程序(com.mysql.jdbc.Driver)。
使用JSP对数据库进行增删改查JSP(Java Server Pages)是一种用于开发Web应用程序的Java技术。
它可以直接在HTML页面中嵌入Java代码,实现动态生成页面内容。
在使用JSP进行数据库的增删改查操作时,通常需要借助JDBC(Java Database Connectivity)来进行数据库的连接和操作。
接下来,需要进行数据库的连接。
可以使用JDBC提供的DriverManager类和Connection接口来实现。
首先,需要定义数据库的相关信息,如驱动程序名称、数据库URL、用户名和密码。
然后,使用DriverManager的静态方法getConnection(来获取数据库连接,传入相应的参数。
例如,对于MySQL数据库,可以使用如下代码进行连接:String url = "jdbc:mysql://localhost:3306/database_name"; // 数据库URLString userName = "root"; // 数据库用户名String password = "password"; // 数据库密码try//加载驱动程序Class.forName(driverName);//获取数据库连接Connection connection = DriverManager.getConnection(url, userName, password);//...} catch (ClassNotFoundException e)e.printStackTrace(;} catch (SQLException e)e.printStackTrace(;连接成功后,接下来可以进行数据库的增删改查操作。
通常,可以使用JDBC的Statement或PreparedStatement对象来执行SQL语句。
Statement对象用于静态SQL语句,而PreparedStatement对象用于动态SQL语句。
jsp连接数据库代码大全时间:2009-07-13 15:47来源:网络作者:编辑点击:68 次我要投稿注册IT家园现在初学jsp的网友常问数据库怎么连接啊,怎么老出错啊?这里写了篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。
在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面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为你的数据库的SIDString user="scott";String password="tiger";Connection conn= DriverManager.getConnection(url,user,password);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);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连接Sql Server7.0/2000数据库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);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);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.*"%><html><body><%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();String url="jdbc: db2://localhost:5000/sample";//sample为你的数据库名String user="admin";String password="";Connection conn= DriverManager.getConnection(url,user,password);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);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连接Informix数据库testinformix.jsp如下:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*"%><html><body><%Class.forName("rmix.jdbc.IfxDriver").newInstance();String url ="jdbc:informix- sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;user=testuser;password=testpassword";//testDB为你的数据库名Connection conn= DriverManager.getConnection(url);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);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连接Sybase数据库testmysql.jsp如下:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*"%><html><body><%Class.forName("com.sybase.jdbc.SybDriver").newInstance();String url =" jdbc:sybase:Tds:localhost:5007/tsdata";//tsdata为你的数据库名Properties sysProps = System.getProperties();SysProps.put("user","userid");SysProps.put("password","user_password");Connection conn= DriverManager.getConnection(url, SysProps);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);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连接MySQL数据库testmysql.jsp如下:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*"%><html><body><%Class.forName("org.gjt.mm.mysql.Driver").newInstance();String url ="jdbc: mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncodin g=8859_1"//testDB为你的数据库名Connection conn= DriverManager.getConnection(url);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);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连接PostgreSQL数据库testmysql.jsp如下:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*"%><html><body><%Class.forName("org.postgresql.Driver").newInstance();String url ="jdbc: postgresql://localhost/soft"//soft为你的数据库名String user="myuser";String password="mypassword";Connection conn= DriverManager.getConnection(url,user,password);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);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>文章来自: 中国IT在线() 详文参考:/tech/program/other/1132.html。
JSP课后习题参考答案●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。
●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。
由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。
当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。
2. 简述JSP两种体系结构。
答:JSP规范中分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。
Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。
这里仍然存在显示与内容的分离,因为所有的数据存取都是由JavaBean来完成的。
尽管Model1体系十分适合简单应用的需要,它却不能满足复杂的大型Web应用程序需要。
不加选择地随意运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码。
尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。
从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。
Model2体系结构,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。
它吸取了两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的处理任务。
Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页面需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页面传给请求者。
在JSP页面内没有处理逻辑,它仅负责检索原先由Servlet创建的对象或JavaBean,从Servlet中提取动态内容插入静态模板。
分离了显示和内容,明确了角色的定义以及实现了开发者与网页设计者的分开。
项目越复杂,使用Model 2体系结构的优势就越突出。