jsp访问数据库的过程与问题(通过web访问数据库的过程)

  • 1、在jsp编程中如何连接数据库?
  • 2、jsp连接数据库方法(详细的)
  • 3、阐述JSP页面直接访问数据库的主要步骤以及会使用到那些类和方法(假定使用MySql数据库)
  • 4、简述JSP的工作原理和访问数据库的一般步骤
  • 5、jsp怎么连接数据库
  • 6、【满分急求】JSP数据库操作过程是什么?

用JDBC技术

创建数据库连接,分为以下几步:

1.装载并注册数据库的JDBC驱动程序

2.取得数据库连接

3.建立Statement 对象

4.准备并执行调用SQL语句

5.处理ResultSet中的记录集

6.释放资源

第一步

加载驱动程序

try{ //装载MySQL数据库驱动

Class.forName(“com.mysql.jdbc.Driver”);

}

catch(ClassNotFoundException e)

{

e.printStackTrace();

}

注意:在使用JDBC之前,要在文件前导入有关SQL的类即

import java.sql.*

第二步

取得数据库连接

try{

String url=”jdbc:mysql://localhost:3306/student;

String user=”root”;

String password=”1234″;

con=DriverManager.getConnection(url,user,password);

}

catch(SQLException e)

{

e.printStackTrace();

}

第三步

建立Statement 对象

try{

Statement sql=con.createStatement();

}

catch(SQLException e)

{

e.printStackTrace();

}

第四步

执行各种SQL语句

try{

ResultSet rs=sql.executeQuery(

“select * from student”);

}

catch(SQLException e)

{

e.printStackTrace();

}

第五步

获取查询结果

ResultSet rs=sql.executeQuery(

“select * from student”);

while(rs.next())

{

rs.getString(2)或者是rs.getString(“name”);

rs.getInt(3)或者是rs.getInt(“age”);

}

注意

只有select语句才会有结果集返回;

ResultSet对象一次只能看到一个数据行

使用next()方法走到下一数据行

获得一行数据后,ResultSet对象可以使用getXxx()方法获得字段值,将位置索引或字段名传递给get第六步

关闭创建的各个对象(后打开的先关)

rs.close();

sql.close();

con.close();Xxx方法()即可。

上面的给出了jsp内嵌java的最初模式,现在一般是三层结构了即MVC结构,就这个例子我来给你解释下是怎么做的,java对连接数据库提供了统一的接口,各个数据库厂商根据提供的接口规范开发自己的连接方法顺序如下:1、用Class.forName()方法加载驱动:Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance(); 黑体部分为数据库厂商自己开发的驱动。2、定义好连接数据库的url地址,连接串String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs”;黑体部分为固定写法不用理会。回到你最初的问题,如何创建数据库,这里你可以去baidu下每个数据库创建的方法,一般数据库安装的时候都有默认的数据库名,和对应的系统管理员工号和密码,DatabaseName=pubs这里说明sql serv 2000中建立了一个名字叫pubs的数据库jdbc:microsoft:sqlserver://localhost:1433固定写法唯一不同的是1433端口号,可能你在安装sql serv 2000的时候改变了该端口号为1500那么这里就应该为jdbc:microsoft:sqlserver://localhost:15003、定义好DatabaseName=pubs的登录用户名和密码 String user=”sa”;用户名

String password=””;密码4、创建Connection对象,通过调用DriverManager.getConnection方法获得。 Connection conn= DriverManager.getConnection(url,user,password);黑体部分就是你定义好的连接串,用户名,密码,不可改变顺序。到这里为止数据库就连接上了,但是连接好了数据库还要做点什么,比如打印出来,接下看。5、通过获得的Connection对象conn创建Statement 对象stmtStatement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);黑体部分是定义ResultSet的一些属性的,具体含义可以参考JDK的api。6、定义好你准备取得数据的sql语句,比如下面 select * from test说明想从test表中取得所有的数据,关于sql语句可以去查找相关数据库资料。 String sql=”select * from test”;定义好语句后,就用上一步创建好的Statement 对象stmt来执行这个sql语句,并返回一个ResultSet对象。

  ResultSet rs=stmt.executeQuery(sql);执行完这步后rs中已经取得了test表所有的数据,那么接下来要展现在网页上。7、rs.next()对你取得的记录集做一个循环直到没有值为止,rs.getString(1)代表你test表中的第一个字段rs.getString(2)代表你test中的第二个字段,如果还有更多字段可以继续rs.getString(3)..rs.getString(N) while(rs.next()) {%

您的第一个字段内容为:%=rs.getString(1)%

您的第二个字段内容为:%=rs.getString(2)%

%}%8、当所有数据展现完毕,调用close()方法将所有资源关闭。 rs.close();

stmt.close();

conn.close();回顾下大致过程:加载驱动 Class.forName();定义好相关的数据,调用DriverManager.getConnection(driver,user,password)获得一个数据库连接conn通过conn创建Statement对象stmt,conn.createStatement();通过stmt执行定义好的sql语句获得数据集ResultSet rs=stmt.executeQuery(“select * from test”);通过rs.next()方法循环遍历数据集的数据,通过rs.getString(1)获得第一条数据的第一个字段内容,这里要注意的是getString是对应数据库是字符类型,如果test表的第一个字段不是字符类型则用rs.getInt(1)获得。展现完毕后关闭所有资源conn stmt rs close方法。

%@ page contentType=”text/html;charset=gbk”%

%@ page import=”java.sql.*”%

html

body

%

Class.forName(“com.mysql.jdbc.Driver”);

String url =”jdbc:MySql://localhost/test?user=rootpassword=komoe”;

Connection conn= DriverManager.getConnection(url);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql=”select * from table_01″;

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()) {%br /

%=rs.getString(1)%br /

%=rs.getString(2)%br /

%}%

%out.print(“br /”+”数据库操作成功,恭喜你”);%

%rs.close();

stmt.close();

conn.close();

%

/body

/html

实际开发中以MVC设计模式为主,强制性地使应用程序的输入、处理和输出分开。

现在的JSP页面中的代码已经减少了很多,只是简单地完成了输出,实际上在开发中,JSP中最好只包含一下3中类型的代码:

•接收属性:接收从Servlet传递过来的属性。

•判断语句:判断传递到JSP中的属性是否存在。

•输出内容:使用迭代或者VO进行输出。

在JSP页面中唯一允许导入的包只能是java.util包,值要能把握住这一点,即可开发出一个简洁、清晰的JSP页面。

访问数据库要用到jdbc技术。

首先加载驱动:Class.forName(“驱动包.类名称”);

然后获得连接:Connection conn = DriverManager.getConnection(“连接路径,端口,数据库名”,”数据库用户名”,”密码”);

然后获得PreparedStatement:PreparedStatement pstmt = conn.prepareStatement(“sql语句”);

之后就按照检索和增删改的区别分别执行不同的代码。

1、jsp是java服务端动态网页技术,主要应用于网页构建,理论上讲不应该在页面中直接连数据库。合理的做法是先构建一个java后端,然后在JAVA后端中通过jdbc连接sqlserver。

2、如果一定要在jsp页面中连数据库也是可以的。jsp中有专门的sql标签可以连接数据库进行操作,这是jstl的内容,需要导入相应的数据库驱动包。

3、jsp的内容相对来说技术难度都不算特别高,学习起来还是比较容易的。

4、希望对你有帮助。祝你学有所得。

一般都要四步,

第一步 加载数据库驱动类文件按

第二步 建立连接打开数据库

第三步 执行SQL

第四步 就是接受结果集并关闭数据库

例如: try {

Connection con;

Statement stmt;

Class.forName(“com.mysql.jdbc.Driver”);

DriverManager.registerDriver (new com.mysql.jdbc.Driver());

String dbUrl=

“jdbc:mysql://localhost:3306/database(添加你的数据库名)?UseUnicode=truecharacterEnconding=gbk”;

String dbUser=”root”;//你数据库用户名

String dbPwd=”root”;//你的数据库密码

con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);

stmt=con.createStatement();

stmt.executeUpdate(“Sql语句”);//当然查询语句用的函数executeQuery()

stmt.close();

con.close();

}catch (Exception e)

{

out.println(e.getMessage());

}

原创文章,作者:TYADT,如若转载,请注明出处:https://www.506064.com/n/127158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
TYADT的头像TYADT
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相关推荐

  • Python官网中文版:解决你的编程问题

    Python是一种高级编程语言,它可以用于Web开发、科学计算、人工智能等领域。Python官网中文版提供了全面的资源和教程,可以帮助你入门学习和进一步提高编程技能。 一、Pyth…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • 如何解决WPS保存提示会导致宏不可用的问题

    如果您使用过WPS,可能会碰到在保存的时候提示“文件中含有宏,保存将导致宏不可用”的问题。这个问题是因为WPS在默认情况下不允许保存带有宏的文件,为了解决这个问题,本篇文章将从多个…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • Java Thread.start() 执行几次的相关问题

    Java多线程编程作为Java开发中的重要内容,自然会有很多相关问题。在本篇文章中,我们将以Java Thread.start() 执行几次为中心,为您介绍这方面的问题及其解决方案…

    编程 2025-04-29
  • Python爬虫乱码问题

    在网络爬虫中,经常会遇到中文乱码问题。虽然Python自带了编码转换功能,但有时候会出现一些比较奇怪的情况。本文章将从多个方面对Python爬虫乱码问题进行详细的阐述,并给出对应的…

    编程 2025-04-29
  • NodeJS 建立TCP连接出现粘包问题

    在TCP/IP协议中,由于TCP是面向字节流的协议,发送方把需要传输的数据流按照MSS(Maximum Segment Size,最大报文段长度)来分割成若干个TCP分节,在接收端…

    编程 2025-04-29
  • 如何解决vuejs应用在nginx非根目录下部署时访问404的问题

    当我们使用Vue.js开发应用时,我们会发现将应用部署在nginx的非根目录下时,访问该应用时会出现404错误。这是因为Vue在刷新页面或者直接访问非根目录的路由时,会认为服务器上…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29

发表回复

登录后才能评论