Java Web实战详细教程(八)JSP+MySQL开发实战

        本篇文章,我们将在MySQL中建库建表(student表),在JSP中书写JDBC代码,实现将数据库的数据查询出来,并以网页的形式展示出来。
        需要特别注意的是,在JSP中书写业务逻辑代码,是在行业规范中不被允许的,我们在下一篇文章中,会介绍Java Web历史发展中出现的几种模式,以及当前行业中使用的模式。
        所以本篇文章的学习,主要是为了学习JSP原始开发、积累JSP原始开发模式的经验,并感受到这种方式的弊端。

数据库开发

        使用Navicat创建一个school数据库。
在这里插入图片描述
        并在里面建一张表student,字段有id(主键、自增长),name,gender,age。
在这里插入图片描述
        建表SQL为:

CREATE TABLE `NewTable` (
`id`  int(11) NOT NULL AUTO_INCREMENT ,
`name`  varchar(255) ,
`gender`  varchar(255) ,
`age`  int(11) ,
PRIMARY KEY (`id`)
)

        在表中任意添加几条学生数据。

Java Web开发

        新建testWeb03项目,在WebContent/WEB-INF/lib文件夹下添加mysql的jar包。在Java Web项目下,将jar包放到该lib文件夹下,会自动添加到Java Bulid Path下。
在这里插入图片描述
        在项目下新建一个show.jsp文件,在里面书写JDBC代码,访问数据库,查询student表中的数据,并整理成HTML表格形式输出。代码如下所示:

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
	<%
		//利用反射,生成MySQL驱动类对象
		Class.forName("com.mysql.jdbc.Driver");
		//建立与数据库的连接:url、user、pwd
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school", "root", "123456");
		//创建SQL语句执行器
		Statement stat = conn.createStatement();
		//执行SQL语句,得到结果集(select语句会得到结果集)
		ResultSet rs = stat.executeQuery("select * from student");
		//处理结果
		//注意,这里要灵活运用JSP脚本片段特点,与HTML灵活构建出一个表格
	%>
	<!-- 注意,此处使用了HTML的修饰属性,而没有使用CSS修饰,这是不符合规范的,后续在对页面进行修饰时会改正 -->
	<table border=1>
		<tr>
			<th>ID</th>
			<th>姓名</th>
			<th>性别</th>
			<th>年龄</th>
		</tr>
		<%
			//循环构建tr
			while (rs.next()) {
    
    
		%>
		<tr>
			<td><%=rs.getInt("id")%></td>
			<td><%=rs.getString("name")%></td>
			<td><%=rs.getString("gender")%></td>
			<td><%=rs.getInt("age")%></td>
		</tr>
		<%
			}
		
		  //关闭连接等资源
			rs.close();
			stat.close();
			conn.close();
		%>
	</table>
</body>
</html>

        页面效果如图所示:
在这里插入图片描述
        这种在JSP中既开发页面又开发业务逻辑的方式,被称之为JSP Model1。已经被淘汰。详见下一篇文章中的介绍。

猜你喜欢

转载自blog.csdn.net/GodBlessYouAndMe/article/details/120763177
今日推荐