//articleconn.jsp 数据库连接文件,几乎被每个页面包含,有的页面去掉获得session,修改一下这个代码,很简单
<%@ page contenttype="text/html;charset=big5"%><%@ page import="java.sql.*"%>
<% request.setcharacterencoding("big5"); connection conn=null; statement stmt=null; try{ class.forname("oracle.jdbc.driver.oracledriver").newinstance(); string url="jdbc:oracle:thin:@192.168.56.199:1521:asdb"; string user="system"; string password="oracle01"; conn=drivermanager.getconnection(url, user, password); } catch(exception e1){ e1.printstacktrace();} %>
//************************************manage.jsp管理页面,提供分页,修改,删除,添加的链接
<%/*cookie cookies[]=request.getcookies();if(cookies==null){ response.sendredirect("login.jsp"); }string username=(string)session.getattribute("admin");out.println("welcome, "+username);if(username==null){response.sendredirect("login.jsp");}*/%><%@ include file="articleconn.jsp"%><html>
<head><meta http-equiv="content-type" content="text/html; charset=big5"><title>管理文件</title><meta name="generator" content="microsoft frontpage 4.0"><link rel="stylesheet" href="css/style.css"></head>
<%request.setcharacterencoding("big5");string query=" select * "+ " from learning order by article_id ";string title=null; string querycount=" select count(*)from learning ";string strpage=request.getparameter("strpage");int intpage;if(strpage==null){intpage=1;}else{intpage=integer.parseint(strpage);}
int pagesizes=10;//每頁顯示信息數目int counts=1;//信息總條數int pagecounts=1;//總頁數
try{preparedstatement ps=conn.preparestatement(querycount);resultset rs=ps.executequery();if(rs.next()){counts=integer.parseint(rs.getstring(1));}
%><body bgcolor="#ffffff"> <br> <p align="left"> <a href="add.jsp">添加信息</a> <a href="index.jsp">返回首頁</a> </p> <p> </p> <table width="700" border="1" cellspacing="0" cellpadding="0" align="center" bordercolorlight="#000000" bordercolordark="#ffffff"> <tr bgcolor="#99ccff"> <td height="10" bgcolor="#b5d85e"> <div align="center"> <b>管 理 界 面</b> </div> </td> </tr> <tr> <td height="49"> <%– 分頁 –%> <table border="1" cellspacing="0" width="90%" bgcolor="#f0f8ff" bordercolorlight="#000000" bordercolordark="#ffffff" align="center"> <tr> <td width="12%" align="center"> <strong>id 號</strong> </td> <td width="13%" align="center"> <b>類 型</b> </td> <td width="47%" align="center"> <strong>信 息 名 稱</strong> </td> <td width="14%" align="center"> <strong>修 改</strong> </td> <td width="14%" align="center"> <strong>刪 除</strong> </td> </tr> <%
//計算總頁數if(counts%pagesizes==0){pagecounts=counts/pagesizes;}else{pagecounts=counts/pagesizes+1;}
if(intpage>pagecounts){intpage=pagecounts;}int i=(intpage-1)*pagesizes;
ps=conn.preparestatement(query);resultset rs1=ps.executequery();/*while(rs1.next()){string temp=rs1.getstring("title");out.println(temp);}*/if(counts!=1){for( int j=0; j<i ; j++)rs1.next();}//out.println(rs1+"<br><br><br> ");
i=0;while(rs1.next()&&i<pagesizes){ if(counts==0) {out.println("<font size=4 color=red>沒有您想看的數據!</font>");}%>
<tr> <td width="12%" height="7"> <p align="center"> <%= rs1.getstring("article_id")%> </p> </td> <td width="13%" height="7"> <div align="center"> <%= rs1.getstring("types")%> </div> </td> <td width="47%" height="7"> <%title= rs1.getstring("title"); out.println(title); %> </td> <td width="14%" align="center" height="7"> <a href="edit.jsp?id=<%=rs1.getint("article_id")%>">修 改</a> </td> <td width="14%" align="center" height="7"> <a href="delete.jsp?id=<%=rs1.getint("article_id")%>&title=<%=title%>">刪 除</a> </td> </tr> <% i++;}%> </table> <%
}catch(sqlexception se1){se1.printstacktrace();}finally{}
conn.close(); %> </td> </tr>
</table> <form action="manage.jsp" method="post" >第<%=intpage%>頁,共<%=pagecounts%>頁
<%if(intpage<pagecounts){%><a href="manage.jsp?strpage=<%=intpage+1%>">下一頁</a><%}if(intpage>1){%> <a href="manage.jsp?strpage=<%=intpage-1%>">上一頁</a><%}%><br>到第<input type="text" maxlength="5" name="strpage" value="1"/>頁進行查看<input type="submit" value="確認" class="buttonface"/>
</form>
<br> <p align="left"> <a href="add.jsp">添加信息</a> <a href="index.jsp">返回首頁</a> </p> <p> </p></body>
</html>
//******************************************filterspecial .java过滤用户输入
package moonsoft.test.j2ee.news;
public class filterspecial { public filterspecial() { } public static string filter(string input) { if(!hasspecialchars(input)) { return input; } stringbuffer filtered =new stringbuffer(input.length()); char c; for(int i=0; i<=input.length()-1; i++) { c=input.charat(i); switch(c) { case <:filtered.append("<"); break; case >:filtered.append(">"); break; case ":filtered.append("&uot;"); break; case &:filtered.append("&"); break; default: filtered.append(c); } } return (filtered.tostring()); } public static boolean hasspecialchars(string input) { boolean flag=false; if((input!=null)&&(input.length()>0)) { char c; for(int i=0; i<=input.length()-1; i++) { c=input.charat(i); switch(c) { case >: flag=true; break; case <: flag=true; break; case ": flag=true; break; case &: flag=true; break;
} } } return flag; }}
