首先附上JSP代码
<%@ page contentType="text/html; charset=utf-8" %>
<%@page import="java.sql.*" %>
<html><body>
<p>标记点1</p>
<%
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
out.print("没有MySQL驱动");
}
String url="jdbc:mysql://127.0.0.1/warehouse";
String user="root";
String password="";
con=DriverManager.getConnection(url, user, password);
sql=con.createStatement();
rs=sql.executeQuery("select * from product;");
out.print("<table border=2>");
out.print("<tr>");
out.print("<th width=100>产品号</th>");
out.print("<th width=100>名称</th>");
out.print("<th width=100>生产日期</th>");
out.print("<th width=100>价格</th>");
out.print("</tr>");
while(rs.next()){
out.print("<tr>");
out.print("<td width=100>"+rs.getString(1)+"</td>");
out.print("<td width=100>"+rs.getString(2)+"</td>");
out.print("<td width=100>"+rs.getString(3)+"</td>");
out.print("<td width=100>"+rs.getString(4)+"</td>");
out.print("</tr>");
}
rs.close();
out.print("</tale>");
out.print("<p>标记点2</p>");
rs=sql.executeQuery("select * from students;");
out.print("<table border=2>");
out.print("<tr>");
out.print("<th width=100>学号</th>");
out.print("<th width=100>姓名</th>");
out.print("<th width=100>专业代号</th>");
out.print("<th width=100>性别</th>");
out.print("</tr>");
while(rs.next()){
out.print("<tr>");
out.print("<td width=100>"+rs.getString(1)+"</td>");
out.print("<td width=100>"+rs.getString(2)+"</td>");
out.print("<td width=100>"+rs.getString(3)+"</td>");
out.print("<td width=100>"+rs.getString(4)+"</td>");
out.print("</tr>");
}
rs.close();
out.print("</tale>");
%>
<p>标记点3</p>
</body></html>
编译运行后好奇怪啊。页面显示的顺序不对。
本应是标记点2在两个表格**中间**显示,标记点3第二个表格**下方**显示。为什么会显示这样呢?
我的代码有问题吗?有问题的话,哪里错了,如何改正?没问题的话,可以解释下为什么吗?谢谢。
你table的闭合标签错误
</table>你写的是</tale>
你直接把
写在后面试下,JSP肯定打印输出可能不会等前面查询完
P写在table引号后面
out.print(""); 写错了哦
< /tale> 这玩意。 应该是< /table>的。 空格去掉。