JSP中的数据库操作(2):JSP页面中的数据库查询

来源:互联网 发布:java退格符是什么意思 编辑:程序博客网 时间:2024/06/05 16:09

要在JSP页面中实现数据库的查询主要有连接及查询数据库的java代码部分和html页面代码部分。实现这个页面,我们进行一个三步走

1、写出连接数据库的代码

2、写出用于显示页面的代码

3、将连接数据库的代码插入到页面代码的恰当位置。


1. 连接数据库的代码

1.1 导入sql包

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

1.2 连接、查询、关闭数据库

怎样查看冰箱里面有没有大象?1、打开冰箱门。2、看一下。3、关闭冰箱门。就是这个过程。。。。。

<% Class.forName("com.mysql.jdbc.Driver").newInstance();  String url="jdbc:mysql://localhost:3306/news";  String user="root";  String password="1234";//配置并连接数据库Connection conn = DriverManager.getConnection(url, user, password);  Statement st = conn.createStatement();//查询语句,显示最后10条并且倒序排列  ResultSet rs = st.executeQuery("SELECT * FROM data ORDER BY id DESC LIMIT 10");//输出表头  out.println("<tr><td>标题</td><td>内容</td><td>时间</td></tr>");//依次输出每个查询结果  while(rs.next()){  out.print("<tr><td>"+rs.getString("title")+"</td><td>"+rs.getString("content")+"</td><td>"+rs.getString("date")+"</td></tr><br>");//如果采用列名,要加引号  }  out.print("</table><hr>");//断开数据库conn.close();%>


2. 页面的HTML代码

为了页面漂亮一点,做点点美化~做一个表格来存放数据

 

<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%request.setCharacterEncoding("UTF-8");%> <%response.setCharacterEncoding("UTF-8");%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><style type="text/css">table{ width:800px; margin:auto; padding: 5px; font-size:12px; border:0px; background:#00CCFF;}tr{ background:#fff;}td{ padding: 5px;}#title{ text-align:center;}</style><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>JSP页面中的数据库查询</title></head><body> <form method=post> 标题:<input type="text" name="title"/><br/> 内容:<input type="text" name="content"/><br/> <input type="submit" value="提交" /> </form>   <table >  <tr>    <td width="174" id="title">标题</td>    <td width="449" id="title">内容</td>    <td width="161" id="title">时间</td>  </tr>    <tr>    <td width="174" >  </td>    <td width="449" >  </td>    <td width="161">  </td>  </tr> </table></body></html>

3. 把前面两个代码放在一起

放的时候注意代码的位置安排。

<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%request.setCharacterEncoding("UTF-8");%> <%response.setCharacterEncoding("UTF-8");%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><style type="text/css">table{ width:800px; margin:auto; padding: 5px; font-size:12px; border:0px; background:#00CCFF;}tr{ background:#fff;}td{ padding: 5px;}#title{ text-align:center;}</style><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档11</title></head><body> <% //连接MySQL数据库  Class.forName("com.mysql.jdbc.Driver").newInstance();  String url="jdbc:mysql://localhost:3306/news";  String user="root";  String password="1234";  Connection conn = DriverManager.getConnection(url, user, password);  Statement st = conn.createStatement();   %>  <table >  <tr>    <td width="174" id="title">标题</td>    <td width="449" id="title">内容</td>    <td width="161" id="title">时间</td>  </tr>  <%  //把表格第二行的显示放到while循环中,就可以根据查询结果画出表格了。参数则放在<td>内的相应位置。  ResultSet rs = st.executeQuery("SELECT * FROM data ORDER BY id DESC LIMIT 10");  while(rs.next()){%>  <tr>    <td width="174" ><%=rs.getString("title") %></td>    <td width="449" ><%=rs.getString("content") %></td>    <td width="161"><%=rs.getString("time") %></td>  </tr><%}//注意"}"的位置 %> </table><%rs.close(); conn.close(); %> </body></html>


 


 


原创粉丝点击