实验九 在JSP中使用数据库
实验性质:验证性 实验学时: 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中使用数据库的更多相关文章
- JSP中访问数据库
在JSP中访问数据库使用的是JSTL标签,本文不按照http://wiki.jikexueyuan.com/project/jsp/database-access.html此方法进行实践,而是采用之前 ...
- 应用DriverManager类创建sqlserver数据库连接实例 JSP中使用数据库
JSP中使用数据库 1.JDBC介绍 java数据库连接(java Database Connectivity ,JDBC)是一种用于执行SQL语句的JavaAPI ,由一组使用java编程语言编写的 ...
- 如何在jsp中显示数据库的内容
用Eclipse tomcat新建一个JSP页面(一)介绍了如何创建一个web程序和第一个jsp页面,以及Eclipse需要的一些必要配置.今天,我们重点说一下如何从数据库中查询数据,并且在JSP页面 ...
- JSP中的数据库操作,MySQL基础操作(一)
一.JDBC JDBC(java data base concectivity),是一种用于执行SQL语句的java API,可以为多种关系库提供统一访问. 通常使用JDBC完成以下操作: 1)同数据 ...
- JSP 中 pageEncoding 和 charset 区别以及中文乱码解决方案
一.JSP 中 pageEndcodeing 和 charset 的作用 <%@ page contentType="text/html;charset=GB2312"%&g ...
- JSP中pageEncoding和charset区别,中文乱码解决方案(转载)
转载自:JSP中pageEncoding和charset区别,中文乱码解决方案 JSP指令标签中<%@ page contentType="text/html;charset=GB23 ...
- jsp中pageEncoding、charset=UTF -8
jsp中pageEncoding.charset=UTF -8" 在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding="UTF-8". ...
- JSP中的九大隐式对象及四个作用域
在这篇博文中,我们将讨论和学习JSP中的隐式对象及四个作用域. 一.九大隐式对象 这些对象是JSP容器为每个页面中的开发人员提供的Java对象,开发人员可以直接调用它们而不用显式地声明它们再调用. J ...
- jsp中的四个作用域,九个内置对象分别是什么?
九大内置对象: 内置对象(又叫隐含对象),就是在jsp中,不需要创建(由服务器<容器>来创建),可以直接使用的对象. 对象 含义 类 作用域 request 请求对象 类型 javax.s ...
随机推荐
- 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器. 这个小惊喜, 迅速的在dotnet开发者中间传开了. ...
- H5 40-CSS精灵图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- session与cookie的区别以及HTML5中WebStorage理解
一.session与cookie的区别 二.HTML5中WebStorage理解 WebStorage的目的是克服由cookie所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回 ...
- 让Apache和Nginx支持php-fpm模块
Apache 对于Apache,首先是apache的安装,可以参考下面这篇博客:编译安装Apache 编辑apache配置文件,取消下面这两行的注释(删除前面的#): #LoadModule prox ...
- linux的nohup命令
linux的nohup命令的用法. - runfox545 - 博客园https://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.htm ...
- Git之项目使用
现在最为盛行的版本控制器,非git莫属了, 那就看看在项目中我们是如何使用它的吧 一. 在已经存在秘钥对的情况下,我们需要在本地进行相关配置 git config --global user.name ...
- 转《基于Ionic3实现微信支付和支付宝支付》
在Ionic应用里实现支付并不难,但是有的坑真是不爬不知道. 一:支付宝支付 网上关于支付宝支付cordova插件真是非常多,但是大多会报一些让你很无语的错误.比如sdk早已过时不是最新的,或者没有出 ...
- C程序运行时的内存分布
该篇博客是自己学习的总结,如果有哪里理解的不对的地方,希望大家可以指点. 一.C内存空间分布图 二.各内存区域详解 1.代码区(.text): 该区域主要存放二进制可执行文件. 2.数据区(.data ...
- python数据结构与算法第三天【时间复杂度计算方法】
最优时间复杂度(不可靠) 最坏时间复杂度(保证) 平均时间复杂度(平均状况) 不同语句的时间复杂度: (1)顺序语句:使用加法 (2)循环语句:使用乘法 (3)分支语句:使用坏时间复杂度 例如:如下代 ...
- scss 转为 less
tnpm install less-plugin-sass2less -g && sass2less **/*.scss {dir}/{name}.less && rm ...