一个被入侵网站分析报告
2010-08-31 10:48
267 查看
分页处理的bean类PageableResultSet.java的构造函数参数为一个ResultSet对象,即执行查询语句得到的ResultSet。其具体代码如下:
publicclassPageableResultSet... extends ResultSet{
protectedjava.sql.ResultSetrs=null;
protectedintrowsCount;
protectedintpageSize;
protectedintcurPage;
protectedStringcommand="";
publicPageableResultSet(java.sql.ResultSetrs)
throwsjava.sql.SQLException...{
if(rs==null)
thrownewSQLException("givenResultSetisNULL","user");
rs.last();//将指针移动到此ResultSet对象的最后一行
rowsCount=rs.getRow();//检索当前行编号
rs.beforeFirst();//将指针移动到此ResultSet对象的开头,正好位于第一行之前
this.rs=rs;
}
/***//**返回当前页号
*/
publicintgetCurPage()...{
returncurPage;
}
/***//**返回总页数
*/
publicintgetPageCount()...{
if(rowsCount==0)
return0;
if(pageSize==0)
return1;
//calculatePageCount
doubletmpD=(double)rowsCount/pageSize;
inttmpI=(int)tmpD;
if(tmpD>tmpI)
tmpI++;
returntmpI;
}
/***//**返回当前页的记录条数
*/
publicintgetPageRowsCount()...{
if(pageSize==0)
returnrowsCount;
if(getRowsCount()==0)
return0;
if(curPage!=getPageCount())
returnpageSize;
returnrowsCount-(getPageCount()-1)*pageSize;
}
/***//**返回分页大小
*/
publicintgetPageSize()...{
returnpageSize;
}
/***//**返回总记录行数
*/
publicintgetRowsCount()...{
returnrowsCount;
}
/***//**转到指定页
*/
publicvoidgotoPage(intpage)...{
if(rs==null)
return;
if(page<1)
page=1;
if(page>getPageCount())
page=getPageCount();
introw=(page-1)*pageSize+1;
try...{
rs.absolute(row);//将指针移动到此ResultSet对象的给定行编号
curPage=page;
}catch(java.sql.SQLExceptione)...{
}
}
/***//**
*转到当前页的第一条记录
*@exceptionjava.sql.SQLException异常说明。
*/
publicvoidpageFirst()throwsSQLException...{
introw=(curPage-1)*pageSize+1;
rs.absolute(row);
}
/***//**
*转到当前页的最后一条记录
*@exceptionjava.sql.SQLException异常说明。
*/
publicvoidpageLast()throwsSQLException...{
introw=(curPage-1)*pageSize+getPageRowsCount();
rs.absolute(row);
}
/***//**设置分页大小
*/
publicvoidsetPageSize(intpageSize)...{
if(pageSize>=0)...{
this.pageSize=pageSize;
curPage=1;
}
}
public boolean next() throws SQLException {
// TODO Auto-generated method stub
return rs.next();
}
}
分页action类PageAction.java的关键代码如下:
/**//*
*GeneratedbyMyEclipseStruts
*Templatepath:templates/java/JavaClass.vtl
*/
packagecom.lyt.struts.action;
importjavax.servlet.ServletContext;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importjavax.sql.DataSource;
importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importbean.*;
importcommon.*;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.*;
importdao.ApplicationDAO;
/***//**
*MyEclipseStruts
*Creationdate:07-14-2007
*
*XDocletdefinition:
*@struts.actionvalidate="true"
*/
publicclass PageActionextendsAction...{
/**//*
*GeneratedMethods
*/
/***//**
*Methodexecute
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@returnActionForward
*/
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)...{
ServletContextcontext=servlet.getServletContext();
//从配置文件中得到数据源
DataSourcedataSource=(DataSource)context.getAttribute("db");
DBdb=newDB(dataSource);
HttpSessionsession=request.getSession();
try...{
request.setCharacterEncoding("gb2312");
}catch(Exceptione)...{
e.printStackTrace();
}
UserBeanuser=(UserBean)session.getAttribute("usr");
if(user==null)...{
returnmapping.findForward("invalidSession");
}
intstaffId=user.getID();
StringsappType=request.getParameter("appType");
intappType=Integer.valueOf(sappType).intValue();
ResultSetrs=ApplicationDAO.getBjsxRS(db,staffId,appType);
intpageNumber=1;
try...{
pageNumber=Integer.parseInt(request.getParameter("pageNumber"));
}catch(Exceptione)...{
pageNumber=1;
}
PageableResultSetprs=null;
try...{
prs=newPageableResultSet(rs);
}catch(Exceptione)...{
e.printStackTrace();
}
prs.setPageSize(10); http://images.csdn.net/syntaxhighl
publicclassPageableResultSet... extends ResultSet{
protectedjava.sql.ResultSetrs=null;
protectedintrowsCount;
protectedintpageSize;
protectedintcurPage;
protectedStringcommand="";
publicPageableResultSet(java.sql.ResultSetrs)
throwsjava.sql.SQLException...{
if(rs==null)
thrownewSQLException("givenResultSetisNULL","user");
rs.last();//将指针移动到此ResultSet对象的最后一行
rowsCount=rs.getRow();//检索当前行编号
rs.beforeFirst();//将指针移动到此ResultSet对象的开头,正好位于第一行之前
this.rs=rs;
}
/***//**返回当前页号
*/
publicintgetCurPage()...{
returncurPage;
}
/***//**返回总页数
*/
publicintgetPageCount()...{
if(rowsCount==0)
return0;
if(pageSize==0)
return1;
//calculatePageCount
doubletmpD=(double)rowsCount/pageSize;
inttmpI=(int)tmpD;
if(tmpD>tmpI)
tmpI++;
returntmpI;
}
/***//**返回当前页的记录条数
*/
publicintgetPageRowsCount()...{
if(pageSize==0)
returnrowsCount;
if(getRowsCount()==0)
return0;
if(curPage!=getPageCount())
returnpageSize;
returnrowsCount-(getPageCount()-1)*pageSize;
}
/***//**返回分页大小
*/
publicintgetPageSize()...{
returnpageSize;
}
/***//**返回总记录行数
*/
publicintgetRowsCount()...{
returnrowsCount;
}
/***//**转到指定页
*/
publicvoidgotoPage(intpage)...{
if(rs==null)
return;
if(page<1)
page=1;
if(page>getPageCount())
page=getPageCount();
introw=(page-1)*pageSize+1;
try...{
rs.absolute(row);//将指针移动到此ResultSet对象的给定行编号
curPage=page;
}catch(java.sql.SQLExceptione)...{
}
}
/***//**
*转到当前页的第一条记录
*@exceptionjava.sql.SQLException异常说明。
*/
publicvoidpageFirst()throwsSQLException...{
introw=(curPage-1)*pageSize+1;
rs.absolute(row);
}
/***//**
*转到当前页的最后一条记录
*@exceptionjava.sql.SQLException异常说明。
*/
publicvoidpageLast()throwsSQLException...{
introw=(curPage-1)*pageSize+getPageRowsCount();
rs.absolute(row);
}
/***//**设置分页大小
*/
publicvoidsetPageSize(intpageSize)...{
if(pageSize>=0)...{
this.pageSize=pageSize;
curPage=1;
}
}
public boolean next() throws SQLException {
// TODO Auto-generated method stub
return rs.next();
}
}
分页action类PageAction.java的关键代码如下:
/**//*
*GeneratedbyMyEclipseStruts
*Templatepath:templates/java/JavaClass.vtl
*/
packagecom.lyt.struts.action;
importjavax.servlet.ServletContext;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importjavax.sql.DataSource;
importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importbean.*;
importcommon.*;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.*;
importdao.ApplicationDAO;
/***//**
*MyEclipseStruts
*Creationdate:07-14-2007
*
*XDocletdefinition:
*@struts.actionvalidate="true"
*/
publicclass PageActionextendsAction...{
/**//*
*GeneratedMethods
*/
/***//**
*Methodexecute
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@returnActionForward
*/
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)...{
ServletContextcontext=servlet.getServletContext();
//从配置文件中得到数据源
DataSourcedataSource=(DataSource)context.getAttribute("db");
DBdb=newDB(dataSource);
HttpSessionsession=request.getSession();
try...{
request.setCharacterEncoding("gb2312");
}catch(Exceptione)...{
e.printStackTrace();
}
UserBeanuser=(UserBean)session.getAttribute("usr");
if(user==null)...{
returnmapping.findForward("invalidSession");
}
intstaffId=user.getID();
StringsappType=request.getParameter("appType");
intappType=Integer.valueOf(sappType).intValue();
ResultSetrs=ApplicationDAO.getBjsxRS(db,staffId,appType);
intpageNumber=1;
try...{
pageNumber=Integer.parseInt(request.getParameter("pageNumber"));
}catch(Exceptione)...{
pageNumber=1;
}
PageableResultSetprs=null;
try...{
prs=newPageableResultSet(rs);
}catch(Exceptione)...{
e.printStackTrace();
}
prs.setPageSize(10); http://images.csdn.net/syntaxhighl
相关文章推荐
- 一个被入侵网站分析报告
- 一个linux系统下的入侵分析案例
- 网站优化实战:如何撰写优秀的网站分析报告
- 推荐一个不错的开源网站分析系统piwik
- ranknow.cn网站数据评估 分析 SEO报告
- 如何分析一个网站的优化是否合格
- 教你如何生成一个简洁又美观的html报告及其简单分析(三)
- linux服务器的入侵分析报告
- 【原创】如何分析一个网站使用的服务器类型
- 该如何分析一个网站的SEO情况
- 实战:一次linux服务器的入侵分析报告
- 一个lpk.dll病毒的分析报告
- 一个电子商务网站的系统结构及功能实现分析
- 购物网站研究分析报告
- 剖析网站遭遇的入侵 分析黑客入侵方法
- 有一个项目分析工具,网站是the home of alitheia core,下面是安装配置和用法
- 网站开发的需求分析报告
- 网站数据分析报告怎么写?
- 如何分析一个网站?