首页 > 数据库 >数据库连接——网页查询数据(内嵌)

数据库连接——网页查询数据(内嵌)

时间:2022-11-01 20:23:45浏览次数:43  
标签:内嵌 网页 rs 数据库 查询 jsp print out

在前面已经完成了数据库的连接测试,证明我们的系统环境以及eclipse的环境配置没有问题可以实现与数据库的链接,接下来我们就开始进行在网页实现一个界面来完成对数据库的增删改查。

首先我们在写之前要明白大概的一个思路,以及这个程序的流程:

我们要实现在网页上对数据库进行操作,第一肯定要有一个页面,第二页面能获取我们键盘输入的数据,第三页面获取的数据传回来,第四实现数据库的链接,第五数据库返回数据。

这五个方面就是我们要解决的五个问题。

首先新建一个javaweb文件,然后我们需要在webapp目录下面的lib目录下导入我们昨天的下载的MySQLjar包,这点很重要,上一次我们完成测试的时候是仅仅建立了一个Java文件,所以

MySQLjar包建立的位置不太一样,在这次的链接中我们要建立一个jsp文件。我们连接数据库在网页进行查询操作有两种方式,一种是jsp文件内嵌,另一种是jsp文件和Java文件链接
jsp内嵌:
导入之后我们在webapp目录下右键new一个jsp文件


    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>查询界面</title>

</head>

<body>

<form action="" method="get">
	
		<table align="center" border="1" width="500">
		
			<tr>
			
			  <td>课程查询: </td>
			  
			 	 <td>
			  
			 			<input type="text" name="classname"/>  //从网页获取课程查询是查询的课程名称
			  		</td>
			  
			</tr>
			
			<tr>
			
			  <td>教师:</td>
			  
			  <td>
			  
			    <input type="text" name="teacher"/>  //获取教师姓名进行查询
			    
			  </td>
			  
			</tr>
			
				<tr align="center">
			
				<td colspan="2">
				
				 <input type="submit" value="查询"/>
				 <input type="button" onclick="window.location.href='one_1.jsp';" value="返回主页"/>  //这句话是跳转网页的语句
				</td>
		</tr>
		
		
		</table>
		</form>



<%

 request.setCharacterEncoding("UTF-8");


//可以将网页输入的中文字符转化成utf8形式的编码传入数据库,如果在查询过程中发现数据库连接成功却没有输出原因就在这里,穿进去的中文字符不能被识别所以数据库不会返回任何东

西,就像陕西人听不懂温州话那样但如果把温州话翻译成普通话那就全中国的人都能懂,普通话就相当于这个utf8标准的编码。

 String name = request.getParameter("teacher");

//这里是定义两个变量获取网页的输入框的内容

 String name1 = request.getParameter("classname");
 

 if(true){

 Class.forName("com.mysql.jdbc.Driver");

 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1?seUnicode=true&characterEncoding=UTF-8","root","13666871023");

 Statement st = conn.createStatement();


//这块是连接数据库,上面括号里的三部分分别代表着(’地址‘,‘用户名’,’密码‘)

//其中在地址这块不完全是地址  ”jdbc:mysql://localhost:3306/“这部分就是固定的本机地址   ”db1“代表我要链接的数据库的名称



 ResultSet rs = st.executeQuery("select * from classlist where teacher ='" + name + "' or classname='"+name1+"'");//sql语句部分进行查询

 out.print("<table border='1' align='center'>");

 while (rs.next()) {


//rs.next()是返回的一个布尔型的数组,为什说是一个数组呢,因为我们的数据库中数据有很多地方是一样的,比如我们查询的课程名称肯定有相同的但其他地方不同的所以返回数据不只一
//条,用这个rs.next()来村他查询每一条数据时到底符不符合条件符合条件的就执行下面的语句将他打印出来
//还有一点这个rs.next()是一个一次性的东西,他只能被用一次,只要调用一次后他的值就会被改变所以我们在前面没有进行输出,在后面在while使用了一次
  

  out.print("<tr>");

 //这里的打印括号里面的名称要与数据库中的名称一模一样,

  out.print("<td>" + rs.getString("classname") + "</td>");

  out.print("<td>" + rs.getString("teacher") + "</td>");

  out.print("<td>" + rs.getString("day") + "</td>");

  out.print("<td>" + rs.getString("classtime") + "</td>");

  out.print("<td>" + rs.getString("palce") + "</td>");

  
  out.print("</tr>");

 }

 out.print("</table>");

 rs.close();

 st.close();

 conn.close();//我们连接了数据库一定要进行关闭。

 }

 else{

  out.print("<center><h4>请输入查询的姓名!</h4></center>");

 }

%>

</body>

</html>

所有要点以及要注意要修改的地方在代码后进行了标注,在复制时删除才可运行jsp文件的注释跟java文件不同我在这里简写为//,在复制代码时请自行删除。

标签:内嵌,网页,rs,数据库,查询,jsp,print,out
From: https://www.cnblogs.com/222wan/p/16849006.html

相关文章

  • 数据库常用语句
    https://blog.csdn.net/weixin_55972781/article/details/118399532创建表CREATETABLEtable1(materialIdTEXT,resourceTypeTEXT,localPathTEXT,remoteUrlTEX......
  • Abp.Zero 手机号免密登录验证与号码绑定功能的实现(三):网页端开发
    前端代码的框架采用vue.js+elementUI这套较为简单的方式实现,以及typescript语法更方便阅读。首先来编写发送验证码函数,登录,绑定,解绑的业务都需要发送验证码功能,通过cu......
  • 基于maven的SSM项目连接数据库报错
    错误信息:AResourcePoolcouldnotacquirearesourcefromitsprimaryfactoryorsource背景描述:已配置好spring和springmvc,配置mybatis时出现了错误。查......
  • DM数据库安装、登录和创建用户
    DM数据库安装、登录和创建用户子安拉取镜像wget-Odm8_docker.tar-chttps://download.dameng.com/eco/dm8/dm8_20220822_rev166351_x86_rh6_64_ctm.tardockerloa......
  • 数据库连接池DBCP和C3P0
    数据库连接池数据库连接---执行完毕---释放连接---释放十分浪费资源池化技术:准备一些预先的资源,过来就连接预准备好的最小连接数:10最大连接数:15如果超过最大连接数,......
  • 网页设计制作要注意哪些问题
    网页设计制作是UI设计师工作内容的主要组成部分,现在网页设计制作中比较常见的图片一般会有三种类型:logo、照片和插图。不同类型的图片就会有自己的特色,在进行设计的时候......
  • 数据库事务 脏读 幻读 不可重复读
    总结:脏读:读取事务未提交的修改之后的数据。幻读:读取事务未提交的 增删之后的数据。不可重复读:多次读取事务已经提交的数据。一、什么是数据库事务数据库事务(......
  • 怎么查小河流名称--河流数据库
    全国最大的河流名称数据库,没有你找不到的当一条河流自上而下不同河段有不同的名称时,一般以下游的河名作为整个河流的名称。当河流在地形图上没有标注名称时,可采用下列方法......
  • app直播源代码,报错后数据库操作回滚失败解决
    app直播源代码,报错后数据库操作回滚失败解决需抛出RuntimeException错误必须是:thrownewRuntimeException("回滚");​例如: try{  //业务逻辑}catch(Except......
  • mysql数据库表映射实体类
     分享知识传递快乐JDBC连接数据库;通过配置文件连接数据库;反射指定表生成实体类;反射当前数据库下所有表生成实体类;类名、属性名、get/set方法名都采用驼峰命名类名注释、属......