实验性质:验证性 实验学时: 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. 2019年第一天——使用Visual Studio 2019 Preview创建第一个ASP.Net Core3.0的App

    一.前言: 全文翻译自:https://www.talkingdotnet.com/creating-first-asp-net-core-3-0-app-visual-studio-2019/ Vi ...

  2. 使用模块PIL 生成 随机验证码

    --------------默认自己无能,无疑是给失败制造机会!你认为自己是什么样的人,就将成为什么样的人. 要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创 ...

  3. Vue diff 算法

    一.虚拟 DOM (virtual dom) diff 算法首先要明确一个概念就是 diff 的对象是虚拟DOM(virtual dom),更新真实 DOM 是 diff 算法的结果. 注:virtu ...

  4. 2017湘潭大学邀请赛H题(树的直径)

    链接:https://www.icpc.camp/contests/4mYguiUR8k0GKE H. Highway The input contains zero or more test cas ...

  5. React不同版本之间需要注意的地方

    React Fiber react fiber指的是react16.0机器之后的版本,相对于之前的版本来说,这一个版本的更新做了很多的优化,所以和之前的版本中的用法可能会发生不同,所以,平常开发中,主 ...

  6. jQuery实现Ajax请求时,页面显示等待的效果,超过指定请求时间后,进行其他操作

    背景:有一个按钮,点击之后向后端程序发起Ajax请求,在请求结果没有返回之前,页面显示等待的效果,此时仍旧是异步请求,等待的效果在接收到结果后撤销. 需求:因为网络延迟或者后端程序的问题,在发起Aja ...

  7. SpringMvc的Controller singleton synchronized

    SpringMvc的controller是singleton的(非线程安全的) - lvyuanj的专栏 - CSDN博客 https://blog.csdn.net/lvyuanj/article/ ...

  8. PHP之常用设计模式

    在日常开放中,经常会用到一些设计模式,进行我们代码的优化处理,一个很好的设计思想 1) 工厂模式 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象 ...

  9. RESTful架构详解

    什么是REST REST全称是Representational State Transfer,中文意思是表述性状态转移,它首次出现在2000年Roy Fielding的博士论文中.Roy Fieldi ...

  10. spring MVC请求处理类注解属性详解