您的位置:首页 > 运维架构 > 网站架构

一个被入侵网站分析报告

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: