web.xml文件需要添加如下内容:
<servlet>
<servlet-name>database</servlet-name>
<servlet-class>rain.snow.HandleDatabase</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>database </servlet-name>
<url-pattern>/helpReadRecord</url-pattern>
</servlet-mapping>
ShowRecordByPage.java
package flower.grass;
import com.sun.rowset.*;
public class ShowRecordByPage{
CachedRowSetImpl rowSet=null; //存储表中全部记录的行集对象
int pageSize=10; //每页显示的记录数
int pageAllCount=0; //分页后的总页数
int showPage=1; //当前显示页
StringBuffer presentPageResult; //显示当前页内容
String databaseName=""; //数据库名称
String tableName=""; //表的名字
StringBuffer formTitle=null; //表头
public void setRowSet(CachedRowSetImpl set) {
rowSet=set;
}
public CachedRowSetImpl getRowSet(){
return rowSet;
}
public void setPageSize(int size) {
pageSize=size;
}
public int getPageSize(){
return pageSize;
}
public int getPageAllCount(){
return pageAllCount;
}
public void setPageAllCount(int n) {
pageAllCount=n;
}
public void setShowPage(int n) {
showPage=n;
}
public int getShowPage(){
return showPage;
}
public void setPresentPageResult(StringBuffer p) {
presentPageResult=p;
}
public StringBuffer getPresentPageResult(){
return presentPageResult;
}
public void setDatabaseName(String s) {
databaseName=s.trim();
}
public String getDatabaseName(){
return databaseName;
}
public void setTableName(String s) {
tableName=s.trim();
}
public String getTableName(){
return tableName;
}
public void setFormTitle(StringBuffer s) {
formTitle=s;
}
public StringBuffer getFormTitle(){
return formTitle;
}
}
choiceDatabase.jsp(效果如图9.8所示)
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY><FONT size=3>
<TABLE>
<FORM action="helpReadRecord" method="post" name="form">
SQL2000数据库Student, 表名是:score
<Input type="hidden" value="Student" name="databaseName">
<Br>输入每页显示的记录数:
<Input type="text" value="2" name="pageSize" size=6>
<Input type="hidden" value="score" name="tableName">
<Input type="submit" value="读取" name="submit">
</FORM>
</BODY></HTML>
showRecord.jsp(效果如图9.9所示)
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="flower.grass.ShowRecordByPage" %>
<HTML><BODY ><FONT size=3>
<jsp:useBean id="database" type="flower.grass.ShowRecordByPage" scope="session"/>
您查询的数据库:<jsp:getProperty name="database" property="databaseName"/>,
查询的表:<jsp:getProperty name="database" property="tableName"/>。
<BR>记录分 <jsp:getProperty name="database" property="pageAllCount"/> 页,
每页最多显示 <jsp:getProperty name="database" property="pageSize"/> 条记录,
目前显示第 <jsp:getProperty name="database" property="showPage"/> 页。
<TABLE border=1>
<jsp:getProperty name="database" property="formTitle"/>
<jsp:getProperty name="database" property="presentPageResult"/>
</TABLE>
<TABLE>
<TR><TD>
<FORM action="helpReadRecord" method="post" name="form">
<Input type="hidden" value="previousPage" name="whichPage">
<Input type="submit" value="上一页" name="submit">
</FORM>
</TD>
<TD>
<FORM action="helpReadRecord" method="post" name="form">
<Input type="hidden" value="nextPage" name="whichPage">
<Input type="submit" value="下一页" name="submit">
</FORM>
</TD>
</TR>
</FORM>
</BODY></HTML>
HandleDatabase.java
package rain.snow;
import flower.grass.*;
import com.sun.rowset.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HandleDatabase extends HttpServlet{
int 字段个数;
CachedRowSetImpl rowSet=null;
public void init(ServletConfig config) throws ServletException{
super.init(config);
try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); }
catch(Exception e){ }
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
Connection con;
StringBuffer presentPageResult=new StringBuffer();
ShowRecordByPage databaseBean=null;
HttpSession session=request.getSession(true);
try{ databaseBean=(ShowRecordByPage)session.getAttribute("database");
if(databaseBean==null) {
databaseBean=new ShowRecordByPage(); //创建Javabean对象
session.setAttribute("database",databaseBean);
}
}
catch(Exception exp) {
databaseBean=new ShowRecordByPage();
session.setAttribute("database",databaseBean);
}
String databaseName=request.getParameter("databaseName");
String tableName=request.getParameter("tableName");
String ps= request.getParameter("pageSize");
if(ps!=null) {
try{ int mm=Integer.parseInt(ps);
databaseBean.setPageSize(mm);
}
catch(NumberFormatException exp) { databaseBean.setPageSize(1); }
}
int showPage=databaseBean.getShowPage();
int pageSize=databaseBean.getPageSize();
boolean boo=databaseName!=null&&tableName!=null&&
databaseName.length()>0&&tableName.length()>0;
if(boo) {
databaseBean.setDatabaseName(databaseName); //数据存储在databaseBean中
databaseBean.setTableName(tableName); //数据存储在databaseBean中
String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName="+databaseName;
try{ 字段个数=0;
con=DriverManager.getConnection(uri,"sa","sa");
DatabaseMetaData metadata=con.getMetaData();
ResultSet rs1=metadata.getColumns(null,null,tableName,null);
int k=0;
String 字段[]=new String[100];
while(rs1.next()){
字段个数++;
字段[k]=rs1.getString(4); //获取字段的名字
k++;
}
StringBuffer str=new StringBuffer();
str.append("<tr>");
for(int i=0;i<字段个数;i++) {
str.append("<th>"+字段[i]+"</th>");
}
str.append("</tr>");
databaseBean.setFormTitle(str); //数据存储在databaseBean中
Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs=sql.executeQuery("SELECT * FROM "+tableName);
rowSet=new CachedRowSetImpl(); //创建行集对象
rowSet.populate(rs);
con.close(); //关闭连接
databaseBean.setRowSet(rowSet); //数据存储在databaseBean中
rowSet.last();
int m=rowSet.getRow(); //总行数
int n=pageSize;
int pageAllCount=((m%n)==0)?(m/n):(m/n+1);
databaseBean.setPageAllCount(pageAllCount); //数据存储在databaseBean中
}
catch(SQLException exp) { }
}
String whichPage=request.getParameter("whichPage");
if(whichPage==null||whichPage.length()==0) {
showPage=1;
databaseBean.setShowPage(showPage);
CachedRowSetImpl rowSet=databaseBean.getRowSet();
if(rowSet!=null) {
presentPageResult=show(showPage,pageSize,rowSet);
databaseBean.setPresentPageResult(presentPageResult);
}
}
else if(whichPage.equals("nextPage"))
没有合适的资源?快使用搜索试试~ 我知道了~
[电子教案]JSP大学实用教程.zip
共54个文件
txt:35个
ppt:9个
doc:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 19 浏览量
2022-03-21
20:29:26
上传
评论
收藏 6.79MB ZIP 举报
温馨提示
、内含每章ppt课件和全部的例题源码答案,欢迎下载
资源推荐
资源详情
资源评论
收起资源包目录
[电子教案]JSP大学实用教程(第2版).zip (54个子文件)
第4章 内置对象
第4章 内置对象.ppt 994KB
第4章(内置对象)_代码.doc 120KB
第2章 JSP页面
第2章 JSP页面.ppt 1012KB
第2章(JSP页面)_代码.doc 80KB
image
TKG~T3K5273Z2`1_J0V{CN4.gif 41KB
新图像12.gif 14KB
@}}A$6K67LN03F2C`]25U@N.jpg 41KB
新图像2.GIF 2KB
太好了.GIF 18KB
第6章JSP中的文件操作
第6章代码
例6-1.txt 3KB
例6-7.txt 4KB
例6-5.txt 2KB
例6-8.txt 1KB
例6-2.txt 2KB
例6-4.txt 3KB
例6-6.txt 3KB
例6-3.txt 3KB
第6章 JSP中的文件操作.ppt 454KB
第7章在JSP中使用数据库
第7章 在JSP中使用数据库.ppt 2.75MB
第7章代码
例7_3.txt 7KB
例7_1.txt 1KB
例7_7.txt 3KB
例7_6.txt 3KB
例7_13.txt 1KB
例7_8.txt 10KB
例7_10.txt 3KB
例7_11.txt 6KB
例7_12.txt 1KB
例7_14.txt 3KB
例7_5.txt 5KB
例7_4.txt 5KB
例7_2.txt 2KB
例7_9.txt 3KB
第3章 JSP标记
第3章 JSP标记.ppt 472KB
第3章(JSP标记)_代码.doc 81KB
第9章 基于Servlet的MVC模式
第9章代码
例题9_1.txt 4KB
例题9_4.txt 10KB
例题9_2.txt 5KB
例题9_3.txt 4KB
第9章 基于Servlet的MVC模式.ppt 836KB
第5章 JSP与JavaBean
第5章 JSP与JavaBean.ppt 419KB
第5章(JSP与JavaBean)_代码.doc 187KB
第1章 JSP简介
第1章(JSP简介)_代码.doc 48KB
第1章 JSP简介.ppt 270KB
第8章 Java Servlet基础
第8章代码
例8_5.txt 3KB
例8_3.txt 1KB
例8_6.txt 3KB
例8_4.txt 4KB
page172_Hello.txt 679B
例8_2.txt 1KB
例8_7.txt 3KB
page173_web.txt 348B
例8_1.txt 1KB
第8章 Java Servlet基础.ppt 631KB
共 54 条
- 1
资源评论
等天晴i
- 粉丝: 3356
- 资源: 10万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功