实验性质:验证性 实验学时: 1学时 实验地点:

一 、实验目的与要求

1、 掌握在JSP中使用数据库的方法。

2、 掌握JSP对数据库的基本操作:增、删、改、查。

二、 实验内容

1、JSP访问数据库的准备工作

(1)创建数据库和数据表

启动Navicat for MySQL,建立和数据库服务器的连接,打开连接,创建一个名为"xsgl"的数据库,在其中建立名为"userinfo"的表,表结构如下图所示:

保存表,输入表名,确定。双击表名,输入表中的记录,如下图所示:

2、在JSP中实现对数据库的增、删、改、查

(1)编写一个JSP页面,显示userinfo表中的所有记录,如下图所示:

请写出相应的代码:

<%@ page import="java.sql.*" %><%--
Created by IntelliJ IDEA.
User: hasee
Date: 2018/6/21
Time: 19:21
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>SQL</title>
</head>
<body>
<%
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
out.println("加载驱动失败"); } String url = "jdbc:mysql://localhost:3306/xxgl";
String user = "root"; String password = "不让你看"; try {
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
// String sql_update = "update userinfo set weight=78 where name='李振';";
// String sql_insert = "INSERT INTO userinfo (id,name,birthday,qq,height,weight)" +
// "VALUES" +
// "(5,'ZNN','19961121','20145468',1.78,50);";
// String sql_update = "update userinfo set weight=78 where name='李振';";
// String sql_insert = "INSERT INTO userinfo ()" +
// "VALUES" +
// "(5,'ZNN','123654','19961121','20145468',1.78,50,'1');";
// String sql_delete = "DELETE FROM userinfo where id=5;";
String sql = "SELECT * FROM userinfo WHERE height>1.66;";
// stmt.executeUpdate(sql_update);
// stmt.executeUpdate(sql_insert);
// stmt.executeUpdate(sql_delete);
ResultSet rs = stmt.executeQuery(sql); out.print("<table border=1><tr>");
out.println("<tr><th width=100>编号</th>" +
"<th width=100>姓名</th>" +
"<th width=100>出生日期</th>" +
"<th width=100>qq</th>" +
"<th width=100>身高</th>" +
"<th width=100>体重</th></tr>");
while (rs.next()) {
out.print("<tr>");
out.println(
"<td width=100>" + rs.getString("id")
+ "<td width=100>" + rs.getString("name") + "</td>"
+ "<td width=100>" + rs.getString("birthday") + "</td>"
+ "<td width=100>" + rs.getString("qq") + "</td>"
+ "<td width=100>" + rs.getString("height") + "</td>"
+ "<td width=100>" + rs.getString("weight") + "</td>"
); out.print("</tr>");
}
out.print("</table>");
rs.close();
conn.close();
stmt.close(); } catch (SQLException e) {
e.printStackTrace();
out.println("MYsql连接失败");
} %> </body>
</html>

三、实验内容中遇到的问题、解决方法和体会

实验九 在JSP中使用数据库的更多相关文章

  1. JSP中访问数据库

    在JSP中访问数据库使用的是JSTL标签,本文不按照http://wiki.jikexueyuan.com/project/jsp/database-access.html此方法进行实践,而是采用之前 ...

  2. 应用DriverManager类创建sqlserver数据库连接实例 JSP中使用数据库

    JSP中使用数据库 1.JDBC介绍 java数据库连接(java Database Connectivity ,JDBC)是一种用于执行SQL语句的JavaAPI ,由一组使用java编程语言编写的 ...

  3. 如何在jsp中显示数据库的内容

    用Eclipse tomcat新建一个JSP页面(一)介绍了如何创建一个web程序和第一个jsp页面,以及Eclipse需要的一些必要配置.今天,我们重点说一下如何从数据库中查询数据,并且在JSP页面 ...

  4. JSP中的数据库操作,MySQL基础操作(一)

    一.JDBC JDBC(java data base concectivity),是一种用于执行SQL语句的java API,可以为多种关系库提供统一访问. 通常使用JDBC完成以下操作: 1)同数据 ...

  5. JSP 中 pageEncoding 和 charset 区别以及中文乱码解决方案

    一.JSP 中 pageEndcodeing 和 charset 的作用 <%@ page contentType="text/html;charset=GB2312"%&g ...

  6. JSP中pageEncoding和charset区别,中文乱码解决方案(转载)

    转载自:JSP中pageEncoding和charset区别,中文乱码解决方案 JSP指令标签中<%@ page contentType="text/html;charset=GB23 ...

  7. jsp中pageEncoding、charset=UTF -8

    jsp中pageEncoding.charset=UTF -8" 在JSP/Servlet  中主要有以下几个地方可以设置编码,pageEncoding="UTF-8". ...

  8. JSP中的九大隐式对象及四个作用域

    在这篇博文中,我们将讨论和学习JSP中的隐式对象及四个作用域. 一.九大隐式对象 这些对象是JSP容器为每个页面中的开发人员提供的Java对象,开发人员可以直接调用它们而不用显式地声明它们再调用. J ...

  9. jsp中的四个作用域,九个内置对象分别是什么?

    九大内置对象: 内置对象(又叫隐含对象),就是在jsp中,不需要创建(由服务器<容器>来创建),可以直接使用的对象. 对象 含义 类 作用域 request 请求对象 类型 javax.s ...

随机推荐

  1. 使用go mod结合docker分层缓存进行自动CI/CD

    本文地址:https://www.cnblogs.com/likeli/p/10521941.html 喜大奔的go mod 官方背书的go mod拯救了我的代码洁癖症! 环境 go v1.12 do ...

  2. OSGI基础环境搭建

    1.安装jdk,步骤自行搜索 2.下载eclipse,用luna版本,下载地址: https://pan.baidu.com/s/1gdfmW5znU4fltsLCAo8tkg 提取码: nrg7 3 ...

  3. xadmin的使用

    01-下载源码 GitHub地址:https://github.com/sshwsfc/xadmin # 安装xadmin 由于使用的是Django2.0的版本,所以需要安装xadmin项目djang ...

  4. 海康威视笔试(C++)

    1. select和epoll的区别 2.服务器并发量之高性能服务器设计 3.SQL关键字 4.TCP乱序和重传的问题 5.c++对象内存分配问题 6.c++多线程 join的用法: Thread类的 ...

  5. mysql处理重复数据

    有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 防止表中出现重复数据 你可以在MySQL数据表中设置指定的字段为 PRIMARY ...

  6. mysql数据库和JDBC学习

    数据库概念: 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. ---------数据库服务器,mysql(管理) 数据库服务器---->N多库-- ...

  7. Echatrs 中PIE饼图中间位置怎么显示总数值?

    title: { text: '总资产', subtext: '2000000.00', x: 'center', y: 'center' }图例:

  8. Python_内置函数之round的幺蛾子

    pycharm运行结果 1 ret = round(0.5) print(ret) >>> 0 ret1 = round(1.5) print(ret1) >>> ...

  9. 牛客OI周赛8-普及组

    https://ac.nowcoder.com/acm/contest/543#question A. 代码: #include <bits/stdc++.h> using namespa ...

  10. IdentityServer4【Topic】之登陆注册

    Sign-in 登陆注册 为了让标识服务器(identity server)代表用户发出令牌,该用户必须登录到标识服务器. Cookie authentication Cookie认证 身份验证是由来 ...