在JSP网页中如何引用数据库语句

MJunnnn 2009-08-20 09:08:35
在JSP页面中加入与数据库连接的语句听说这种做法是不现实的,但是如果不写入连接语句,而将与数据库连接的语句单独写在一个JSP文件中,但是如何调用了,请问是在该页面中用<% include file="xx.jsp" %>它来调用吗?前提是不是用javabean,不用写java文件
如:
<!-- 
文件名:download.jsp
-->
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*"
errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>下载文件列表</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<table width="99%" cellpadding=0 cellspacing=0 align=center>
<form name=form method=post action="download.jsp">
关键词:<input type=text size=12 name=key>
<input type=submit name=submit value="查询" >
</td></tr>
</form>
</table>

<p> </p>
<p align="center">下载文件列表</p>
<table width="75%" border="1" align="center">
<FORM METHOD="POST" ACTION="do_upload.jsp"
ENCTYPE="multipart/form-data">
<%
try{
String sqlStr;
String key;
if(request.getParameter("key")==null || request.getParameter("key").trim()=="")
sqlStr="select top 3 * from uploadfileinfo order by uploadtime desc";
else
{
key=request.getParameter("key");
sqlStr="select * from uploadfileinfo where filename like '%"+key
+"%' order by uploadtime desc";
}
Connection con;
ResultSet rs;
Statement stmt;
//数据库登录用户和密码
String user="sa";
String password="sa";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:jspbook";
con=DriverManager.getConnection(url,user,password);
//创建一个jdbc声明
stmt=con.createStatement();
rs=stmt.executeQuery(sqlStr);
while(rs.next())
{
String dfilename=rs.getString("filename");
%>
<tr><td align="center" >
<a href="do_download.jsp?dfilename=<%=dfilename%>"><%=dfilename%></a>
</td></tr>
<%
}
}
catch(Exception e){
out.println(e);
}
%>
</table>
</FORM>
</body>
</html>


如果将其中的SQL语句单独放在一个独立的JSP文件中,那该咋写了?
顺便再问下,就是在显示记录时,每隔一条,它的背景颜色不同,就象我们“提问”的记录一样的用灰色和白色相间显示。这又如何写啊?
...全文
414 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangmeiwei 2012-07-27
  • 打赏
  • 举报
回复
<jsp:useBean id="con" class="netcom.db.DBConnection" scope="session"/>这个方法是比较常用的.
MengXuer 2009-08-20
  • 打赏
  • 举报
回复
学习了
javagxc 2009-08-20
  • 打赏
  • 举报
回复
表格,看看这个效果怎么样

<style type="text/css">
<!--
.row {BACKGROUND-COLOR: expression(rowIndex%2==1?'':'#F5F5F5')}
Body {FONT-SIZE: 12px; FONT-FAMILY: Arial,Verdana,sans-serif;LINE-HEIGHT: 150%;}
Td {FONT-SIZE: 12px; FONT-FAMILY: Arial,Verdana,sans-serif;LINE-HEIGHT: 150%;}
.tb {border-collapse: collapse}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
//复选
function selectAll(chk)
{
var chk = document.form1.chkAll.checked;
for (i=0;i<document.all.length;i++) {
if (document.all[i].name=="id[]") {
document.all[i].checked=chk;
chkRow(document.all[i]);
}}}


//复选后单元格变色
function chkRow(obj){
var r = obj.parentElement.parentElement;
if(obj.checked){ r.style.backgroundColor="#E6E9F2";}
else {if(r.rowIndex%2==1)r.style.backgroundColor="";else r.style.backgroundColor="#F5F5F5";}
}
</script>
<table width="50%" border="1" cellpadding="3" cellspacing="0" bordercolor="#333333" class="tb">
<form name="form1" method="post" action="">
<tr class="row">
<td width="5%"> </td>
<td width="33%" align="center"><strong>论坛名称</strong></td>
<td width="62%" align="center"><strong>网 址</strong></td>
</tr>
<tr class="row">
<td align="center"><input type="checkbox" name="id[]" value="1" onclick="javascript:chkRow(this);"></td>
<td align="center">织梦乱弹</td>
<td align="center"><a href="http://www.it365cn.com/bbs" target="_blank">http://www.it365cn.com/bbs</a></td>
</tr>
<tr class="row">
<td align="center"><input type="checkbox" name="id[]" value="1" onclick="javascript:chkRow(this);"></td>
<td align="center">经典论坛</td>
<td align="center"><a href="http://www.blueidea.com/bbs" target="_blank">http://www.blueidea.com/bbs</a></td>
</tr>
<tr class="row">
<td align="center"><input type="checkbox" name="id[]" value="1" onclick="javascript:chkRow(this);"></td>
<td align="center">点燃灵感</td>
<td align="center"><a href="http://www.fwcn.com/bbs" target="_blank">http://www.fwcn.com/bbs</a></td>
</tr>
<tr class="row">
<td colspan="3"><input type="checkbox" name="chkAll" title="全选/取消" onclick="selectAll()"> <strong>全选/取消</strong></td>
</tr>
</form>
</table>
jhandsome007 2009-08-20
  • 打赏
  • 举报
回复
最好是写在类里,然后你传参调用类里不同的方法啊,~
xiciliu 2009-08-20
  • 打赏
  • 举报
回复
初学的话,可以先用1楼的方法。
等后来,就可慢慢领悟其他方式了。
closewbq 2009-08-20
  • 打赏
  • 举报
回复
首先数据库连接写到一个jsp中完全没有问题,没有必要在写到另一个jsp中。
如果为了复用稍微高点(- -) ,你可以将数据库连接写成一个类文件,使用
<jsp:useBean id="con" class="包.类" scope="page或request或session"/>来往jsp引入
jinchun1234 2009-08-20
  • 打赏
  • 举报
回复
哎,先看看基础吧
javagxc 2009-08-20
  • 打赏
  • 举报
回复
连接数据库,首先要把连接数据库 的JavaBean文件加载进来

<%@ page import="netcom.db.DBConnection" %>
<jsp:useBean id="con" class="netcom.db.DBConnection" scope="session"/>
  • 打赏
  • 举报
回复
第一个问题,写在独立的JSP里没问题,include进来就可以了。不过不推荐这种方式最好还是近按MVC分层来做比较好。这样易于维护。
第二个问题,判断一下奇偶行号就可以了,加不同的CSS样式。

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧