1. 程式人生 > >明日科技有限公司後臺管理

明日科技有限公司後臺管理

在這裡插入圖片描述

news.jsp

head部分

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.mingrisoft.*"%>
<%@ include file="Session.jsp"%>

<!doctype html>
<html class="no-js">
	<head>
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<title>明日科技有限公司</title>
		<meta name="viewport"
			content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
		<meta name="renderer" content="webkit">
		<meta http-equiv="Cache-Control" content="no-siteapp">
		<link rel="stylesheet"
			href="css/amazeui.min.css">
		<link rel="stylesheet" href="css/admin.css">
	</head>
	
<body>

對登入者進行session操作
正常顯示登入資訊
點選管理者資訊,方可進行session操作
瀏覽器縮小,方可顯示

<header class="am-topbar admin-header">

		<div class="am-topbar-brand">
			<strong>明日科技</strong>
			<small>後臺管理</small>
		</div>

		<button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-success am-show-sm-only"
			data-am-collapse="{target: '#topbar-collapse'}">
			<span class="am-sr-only">導航切換</span>
			<span class="am-icon-bars"><!-- 當瀏覽器縮小後,切換為導航條 --></span>
		</button>

		<div class="am-collapse am-topbar-collapse" id="topbar-collapse">
			<ul class="am-nav am-nav-pills am-topbar-nav am-topbar-right admin-header-list">
				<li class="am-dropdown" data-am-dropdown>
					<a class="am-dropdown-toggle" data-am-dropdown-toggle
						href="javascript:;"> 
						<span class="am-icon-users"></span>
						<%=session.getAttribute("AdminName")%>,歡迎您 
						<span class="am-icon-caret-down"></span>
					</a>
					<ul class="am-dropdown-content">
						<li>
							<a href="logout.jsp">
							<span class="am-icon-power-off"></span>
								退出
							</a>
						</li>
					</ul>
				</li>
			</ul>
		</div>
</header>

Session.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.mingrisoft.*"%>
<%
	Function Function1 = new Function(); 
	/*
	login.jsp檔案中session.setAttribute("Login","Yes");
	*/
	boolean isLogin = Function1.StringToBoolean((String)session.getAttribute("Login"));
	if(!isLogin) 
	{
		out.print("<script>alert('請重新登入!');location.href='login.jsp';</script>");
	}
%>

logout.jsp

<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%
	session.setAttribute("Login","");
	session.setAttribute("AdminName","");
	out.println("<SCRIPT LANGUAGE='JavaScript'>alert('成功退出系統!');location.href='login.jsp';</SCRIPT>");
	//response.sendRedirect("index.jsp");
%>

工具條
在這裡插入圖片描述

<div class="am-cf admin-main">

			<!-- sidebar(工具條) start -->
			<div class="admin-sidebar am-offcanvas" id="admin-offcanvas">
				<div class="am-offcanvas-bar admin-offcanvas-bar">
					<ul class="am-list admin-sidebar-list">
						<li>
							<a href="news.jsp" title="新聞管理">
							<span class="am-icon-pencil-square-o"></span> 
							新聞管理
							</a>
						</li>

						<li>
							<a href="adminUser.jsp" title="管理員管理">
							<span class="am-icon-bookmark"></span> 
							管理員管理
							</a>
						</li>
					</ul>

					<div class="am-panel am-panel-default admin-sidebar-panel">
						<div class="am-panel-bd">
							<p>
								 公告
							</p>
							<p>
								技術支援:明日科技
							</p>
						</div>
					</div>
				</div>
			</div>
			<!-- sidebar(工具條) end -->

在這裡插入圖片描述
資料操作

	<div class="am-g">
		<div class="am-u-sm-12 am-u-md-6">
			<div class="am-btn-toolbar">
				<div class="am-btn-group am-btn-group-xs">
					<button type="button" class="am-btn am-btn-success"
						data-am-modal="{target: '#new-popup'}">
						<span class="am-icon-plus"></span> 新增新聞
					</button>
				</div>
			</div>
		</div>
	</div>

	<div class="am-g" style="height: 300px">
		<div class="am-u-sm-12">
			<form class="am-form">
				<table class="am-table am-table-striped am-table-hover table-main">
					<thead>
						<tr>
							<th class="table-id">
								序號
							</th>
							<th class="table-title">
								新聞標題
							</th>
							<th class="table-title">
								建立人
							</th>
							<th class="table-author ">
								建立時間
							</th>
							<th class="table-author ">
								操作
							</th>
						</tr>
					</thead>
					<tbody>
						<%
							request.setCharacterEncoding("UTF-8"); 
							News news = new News();
							Function Fun = new Function();
							String strPage = request.getParameter("intPage");	//當前頁數
							// /mhwz   /front/news.jsp? 
							String sPage = request.getContextPath() + request.getServletPath()+ "?";
							String sOK = news.ListNews(sPage, strPage);
							if (sOK.equals("No")) {
								out.println("資料伺服器出現錯誤!");
							} else {
								out.println(sOK);
							}
						%>
						</tbody>
					</table>
				</form>
			</div>
		</div>
	</div>
<!-- content end -->

</div>

adminUser.jsp

<tbody>
									<%
										request.setCharacterEncoding("UTF-8"); 
									    User user = new User();
										Function Fun = new Function();
										String strPage = request.getParameter("intPage");
										String sPage = request.getContextPath() + request.getServletPath()+ "?";
										String sOK = user.ListUser(sPage, strPage);
										if (sOK.equals("No")) {
											out.println("資料伺服器出現錯誤!");
										} else {
											out.println(sOK);
										}
									%>
								</tbody>

頁尾

<footer>
	<hr>
	<p class="am-padding-left">
		© 2016 明日科技
	</p>
</footer>

新增新聞
在這裡插入圖片描述

<!-- 當以上點選新增新聞時顯示 -->
<div class="am-popup" id="new-popup">
	<div class="am-popup-inner">
		<div class="am-popup-hd">
			<h4 class="am-popup-title">
				新增新聞
			</h4>
			<span data-am-modal-close class="am-close">&times;</span>
		</div>

		<div class="am-popup-bd">
			<form action="newsAdd.jsp" method="post"
				class="am-form" id="new-msg">
				<fieldset>
				<!-- fieldset自動生成邊框 -->
					<div class="am-form-group">
						<label for="doc-vld-ta-2-1">
							新聞標題:
						</label>
						<input name="NewsTitle" type="text" maxlength="32"
							placeholder="請輸入新聞標題" data-validation-message="不能為空" required />
							<!-- data-validation-message="不能為空" -->
					</div>
					<div class="am-form-group">
						<label for="doc-vld-ta-2-1">
							新聞內容:
						</label>
						<textarea name="NewsContent" cols="30" rows="10"
							placeholder="請輸入新聞內容。段落間請用#分隔。" data-validation-message="不能為空" required></textarea>
					</div>
					
					<input name="Action" type="hidden" value="Add">
					
					<button class="am-btn am-btn-secondary" type="submit">
						提交
					</button>
					<button onclick='javascript:$("#new-popup").modal("close");'
						class="am-btn am-btn-secondary" type="button">
						關閉
					</button>
				</fieldset>
			</form>
		</div>
	</div>
</div>

newsAdd.jsp

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ page import="com.mingrisoft.*"%>

<%
	request.setCharacterEncoding("UTF-8");//設定編碼方式為utf-8	 			
	News News1 = new News();//引入新聞方法類
	Function Fun = new Function();//引入功能方法類
	
	String AdminName = (String)session.getAttribute("AdminName");//從頁面快取中提取當前使用者 
	String Action = request.getParameter("Action");//從頁面請求中獲取命令
	
	if (Action!=null && Action.equals("Add"))//判斷是否存在
	{
		String IP = request.getRemoteAddr();//得到客戶端Ip地址
		String [] s = new String[2];//定義陣列
		s[0] = request.getParameter("NewsTitle");//填寫陣列第一位
		s[1] = request.getParameter("NewsContent");//填寫陣列第二位
		String sNews = News1.AddNews(s,AdminName,IP);//獲取方法返回值
		if (sNews.equals("Yes"))//判斷返回值
		{
			out.print("<script>alert('新增新聞成功!');location.href='news.jsp';</script>");//頁面輸出
			return;//結束
		}
		else //或者
		{
			out.print("<script>alert('新增新聞失敗!');location.href='news.jsp';</script>");//頁面輸出
			return;//結束
		}
	}
%>

修改新聞
在這裡插入圖片描述

<div class="am-popup" id="edit-popup">
	<div class="am-popup-inner">
		<div class="am-popup-hd">
			<h4 class="am-popup-title">
				修改新聞
			</h4>
			<span data-am-modal-close class="am-close">&times;</span>
		</div>

		<div class="am-popup-bd">
			<form action="newsEdit.jsp" method="post"
				class="am-form" id="edit-msg">
				<fieldset>
					<div class="am-form-group">
						<label for="doc-vld-ta-2-1">
							新聞標題:
						</label>
						<input id="upd_NewsTitle" name="upd_NewsTitle" type="text" maxlength="32"
							placeholder="請輸入新聞標題" data-validation-message="不能為空" required />
					</div>
					<div class="am-form-group">
						<label for="doc-vld-ta-2-1">
							新聞內容:
						</label>
						<textarea id="upd_NewsContent" name="upd_NewsContent"  cols="30" rows="10"
							placeholder="請輸入新聞內容" data-validation-message="不能為空" required></textarea>
					</div>
					
					<input name="Action" type="hidden" value="Edit">
					<input id="newsId" name="newsId" type="hidden" value="">
					
					<button class="am-btn am-btn-secondary" type="submit">
						提交
					</button>
					<button onclick='javascript:$("#edit-popup").modal("close");'
						class="am-btn am-btn-secondary" type="button">
						關閉
					</button>
				</fieldset>
			</form>
		</div>
	</div>
</div>

<a class="am-icon-btn am-icon-th-list am-show-sm-only admin-menu" data-am-offcanvas="{target: '#admin-offcanvas'}"></a>

newsEdit.jsp

<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ page import="com.mingrisoft.*"%>
<%@ include file="Session.jsp"%>
<%
	request.setCharacterEncoding("utf-8");//設定編碼方式為utf-8

	News News1 = new News();//引入新聞方法類
	Function Fun = new Function();//引入功能方法類
	String [] sa = null;//定義陣列
	String NewsID = request.getParameter("newsId");//從頁面請求中獲取編號
	String Action = request.getParameter("Action");//從頁面請求中獲取命令
	if (Action!=null && Action.equals("Edit"))//判斷是否存在
	{
		String IP = request.getRemoteAddr();//得到客戶端Ip地址
		String AdminName = (String)session.getAttribute("AdminName"); //從頁面快取中提取當前使用者
		String [] s = new String[2];//定義陣列
		s[0] = request.getParameter("upd_NewsTitle");//填寫陣列第一位
		s[1] = request.getParameter("upd_NewsContent");//填寫陣列二位
		
		String sOK = News1.EditNews(s,NewsID,AdminName,IP);//獲取方法返回值
		if (sOK.equals("Yes"))//判斷返回值
		{
			out.println("<script>alert('修改新聞成功!');location.href='news.jsp';</script>");//頁面輸出
			return;//結束
		}
		else //否則
		{
			out.println("<script>alert('修改新聞失敗!');location.href='news.jsp';</script>");//頁面輸出
			return;//結束
		}
	}

%>

刪除新聞
在這裡插入圖片描述

<div class="am-modal am-modal-confirm" tabindex="-1" id="my-confirm">
	<div class="am-modal-dialog">
		<div class="am-modal-bd">
			確定要刪除當前主題嗎?
		</div>
		<div class="am-modal-footer">
			<span class="am-modal-btn" data-am-modal-cancel>取消</span>
			<span class="am-modal-btn" data-am-modal-confirm>確定</span>
		</div>
	</div>
</div>

newsDel.jsp

<%@ page contentType="text/html; charset=UTF-8" language="java" buffer="32kb"%>
<%@ page import="com.mingrisoft.*"%>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%
	News News1 = new News();//引入新聞方法類
	Function Fun = new Function();//引入功能方法類
	String IP = request.getRemoteAddr(); //得到客戶端Ip地址
	String AdminName = (String) session.getAttribute("AdminName");//從頁面快取中提取當前使用者
	String NewsID = request.getParameter("NewsID");//從頁面請求中獲取編號

	if (News1.DelNews(NewsID, AdminName, IP))//判斷返回值
		out.print("<script>alert('刪除新聞成功!');location.href='news.jsp';</script>");//頁面輸出
	else {//否則
		out.print("<script>alert('刪除新聞失敗!');location.href='news.jsp';</script>");//頁面輸出
	}
%>

script

<script src="js/jquery.min.js"></script>
<script src="js/amazeui.min.js"></script>
<script>
	function jumpMenu(s1,s2,s3){
		var pageURL =$('#ipage option:selected').val();
		window.location.href=pageURL; 
	} 
</script>
<script>
$(function() {
	$('#new-msg').validator({
			onValid : function(validity) {
					$(validity.field).closest('.am-form-group').find('.am-alert').hide();
				},
			onInValid : function(validity) {
				var $field = $(validity.field);
				var $group = $field.closest('.am-form-group');
				var $alert = $group.find('.am-alert');
				var msg = $field.data('validationMessage') || this.getValidationMessage(validity);
				if (!$alert.length) {
					$alert = $('<div class="am-alert am-alert-danger"></div>').hide().appendTo($group);
				}
				$alert.html(msg).show();
			}
		});


	$('#edit-msg').validator(
			{
				onValid : function(validity) {
					$(validity.field).closest('.am-form-group').find('.am-alert').hide();
				},

				onInValid : function(validity) {
					var $field = $(validity.field);
					var $group = $field.closest('.am-form-group');
					var $alert = $group.find('.am-alert');
					
				var msg = $field.data('validationMessage') || this.getValidationMessage(validity);

				if (!$alert.length) {
					$alert = $('<div class="am-alert am-alert-danger"></div>').hide().appendTo($group);
				}
				$alert.html(msg).show();
			}
		});
	});

function del(obj) {
	$('#my-confirm').modal( {
		relatedTarget : this,
		onConfirm : function(options) {
			var delId = $(obj).attr("rel");
			window.location.href = "newsDel.jsp?NewsID=" + delId;
		},
		onCancel : function() {
		}
	});
}

function edit(obj) {
	var _obj=$(obj);
	var newsTitle = _obj.prev().val();
	var NewsContent=_obj.prev().prev().val();
	var NewsId=_obj.prev().prev().prev().val();
	$('#upd_NewsTitle').val(newsTitle);
	$('#upd_NewsContent').val(NewsContent);
	$('#newsId').val(NewsId);
	$('#edit-popup').modal();
}
</script>

新聞管理與分頁 News.java

package com.mingrisoft;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;

public class News {

	DBConnection DBConn = new DBConnection();// 引入連線資料庫方法類
	Function Fun = new Function();// 引入資料處理方法類

	//新聞列表查詢方法
	public String ListNewsFront(String sPage, String strPage) {
		try {// 用於獲取系統執行異常資訊

			Connection Conn = DBConn.getConnection();// 建立資料庫連線
			Statement stmt = Conn.createStatement();// 建立資料查詢
			ResultSet rs = null;// 定義結果集
			
			// 定義本方法返回字串資料
			StringBuffer sb = new StringBuffer();

			int i;// 定義數字型變數
			int intPage = 1;// 定義數字型變數並賦值1
			int intPageSize = 5;// 定義數字型變數並賦值5

			// 建立sql語句查詢News表全部資訊
			String sSql = "select * from News order by NewsID desc";
			// 通過執行sql語句得到查詢結果
			rs = stmt.executeQuery(sSql);
			
			if (!rs.next()) {// 判定當查詢結果為空
				// 返回屬性新增字串資料用於頁面顯示
				sb.append("<tr height=\"25\" bgcolor=\"#d6dff7\"  class=\"info1\"><td colspan=\"5\">\r\n");
				// 返回屬性新增字串資料用於頁面顯示
				sb.append("<div align=\"center\"><b>沒有記錄!</b></div></td></tr>\r\n");
			} else {// 判定當查詢結果為不為空
				// 將傳入引數strPage進行資料格式轉換
				intPage = Fun.StrToInt(strPage);
				// 將傳入引數sPage進行資料處理
				sPage = Fun.CheckReplace(sPage);
				if (intPage == 0) {// 判定intPage為0
					intPage = 1;// 引數intPage賦值為1
				}
				// 計算當前頁面顯示新聞條數
				rs.absolute((intPage - 1) * intPageSize + 1);
				i = 0;// 引數i賦值為0
				// i屬性小於頁面顯示條數並且查詢結果集不為空,進行迴圈方法
				while (i < intPageSize && !rs.isAfterLast()) {
					// 定義數字型變數並賦值News表裡的NewsID屬性
					int NewsID = rs.getInt("NewsID");
					// 定義數字型變數並賦值News表裡的NewsTitle屬性
					String NewsTitle = rs.getString("NewsTitle");
					// 定義數字型變數並賦值News表裡的NewsTime屬性
					String NewsTime = rs.getString("NewsTime");
					// 定義數字型變數並賦值News表裡的AdminName屬性
					String AdminName = rs.getString("AdminName");
					// 返回屬性新增字串資料用於頁面顯示<tr>表示換行
					sb.append("<tr>");
					// 返回屬性新增字串資料用於頁面顯示新聞標題
					sb.append("<td>" + NewsTitle + "</td>");
					// 返回屬性新增字串資料用於頁面顯示使用者名稱
					sb.append("<td >" + AdminName + "</td>");
					// 返回屬性新增字串資料用於頁面顯示新聞時間
					sb.append("<td >" + NewsTime + "</td>");
					// 返回屬性新增字串資料用於頁面顯示詳情按鈕
					sb.append("<td ><a style=\"color:#3F862E\" target=\"_blank\" href=\"newsFrontDetail.jsp?newsId="
							+ NewsID + "\">詳情</a></td></tr>");

					rs.next();// 判定是否存在下一條資訊
					i++;// i屬性數值自增1
				}
				// 拼寫字串資料用於列表最下方的分頁方法
				sb.append(Fun.PageFront(sPage, rs, intPage, intPageSize));
			}
			rs.close();// 關閉結果集
			stmt.close();// 關閉查詢
			Conn.close();// 關閉資料連線
			return sb.toString();// 返回字串資料
		} catch (Exception e) {// 得到系統執行異常
			return "No";// 如果系統異常方法返回字元“No”
		}
	}
	
	// 新聞內容查詢方法
	public String FrontNewsDetail(String s0) {
		try {// 捕獲系統異常
			Connection Conn = DBConn.getConnection();// 建立資料庫連線
			Statement stmt = Conn.createStatement();// 建立資料查詢
			ResultSet rs = null;// 定義結果集
			int NewsID = Fun.StrToInt(s0);// 將引數s0進行轉換
			if (NewsID == 0) {// s0判定等於0
				return "No";// 返回字元“No”
			} else {// s0判定不等於0
				try {
					// 建立sql語句查詢News表全部資訊
					String sql = "select * from News where NewsID=" + NewsID;
					rs = stmt.executeQuery(sql);// 得到執行sql結果
					// 定義本方法返回字串資料
					StringBuffer sb = new StringBuffer();

					int i = 0;// 定義起始資料
					// i屬性小於頁面顯示條數並且查詢結果集不為空,進行迴圈方法
					while (i < 1 && !rs.isAfterLast()) {
						rs.next();// 判定是否存在
						// 定義數字型變數並賦值News表裡的NewsTitle屬性
						String NewsTitle = rs.getString("NewsTitle");
						// 定義數字型變數並賦值News表裡的NewsContent屬性
						String NewsContent = rs.getString("NewsContent");

						String[] content = NewsContent.split("#");// 以#號進行分割
						// 返回屬性新增字串資料用於頁面顯示新聞標題
						sb.append("<br><h2 style=\"font-size:28px;margin-left:30%\">" + NewsTitle + "</h2>");

						for (int j = 0; j < content.length; j++) {// 迴圈
							// 返回屬性新增字串資料用於頁面顯示內容資訊
							sb.append("<p>" + content[j] + "</p>");
						}
						rs.next();// 判定是否存在
						i++;// 自增
					}

					rs.close();// 關閉結果集
					stmt.close();// 關閉查詢
					Conn.close();// 關閉資料連線
					return sb.toString();// 返回字串資料
				} catch (Exception e) {// 得到系統執行異常
					Conn.rollback(); // JDBC回滾機制
					Conn.close();// 關閉資料庫連線
					return "No";// 返回字串“No”
				}
			}
		} catch (Exception e) {// 得到系統執行異常

			return "No";// 系統異常後返回字元“No”
		}

	}
	
	/*
	 * 當news.jsp檔案執行時,
	 * sPage : /mhwz /front/news.jsp?
	 * strPage : 當前頁數	intPage:當前頁數的賦值
	 * int
	 * */ 
	public String ListNews(String sPage, String strPage) {
		try {

			Connection Conn = DBConn.getConnection();
			Statement stmt = Conn.createStatement();
			ResultSet rs = null;
			StringBuffer sb = new StringBuffer();

			int i;
			
			int intPage = 1;	//當前頁數
			int intPageSize = 5;	//每頁顯示條數

			String sSql = "select * from News order by NewsID desc";
			rs = stmt.executeQuery(sSql);

			if (!rs.next()) {
				sb.append("<tr height=\"25\" bgcolor=\"#d6dff7\"  class=\"info1\"><td colspan=\"4\">\r\n");
				sb.append("<div align=\"center\"><b>沒有記錄!</b></div></td></tr>\r\n");
			} else {

				intPage = Fun.StrToInt(strPage);	
				sPage = Fun.CheckReplace(sPage);	//對提交的地址進行非法字元的html轉換
				if (intPage == 0)
					intPage = 1;

				rs.absolute((intPage - 1) * intPageSize + 1);
				i = 0;
				
				//!rs.isAfterLast()類同於rs.next()
				while (i < intPageSize && !rs.isAfterLast()) {
					int NewsID = rs.getInt("NewsID");
					String NewsTitle = rs.getString("NewsTitle");
					String NewsContent = rs.getString("NewsContent");
					String NewsTime = rs.getString("NewsTime");
					String AdminName = rs.getString("AdminName");

					sb.append("<tr>");
					sb.append("<td class=\"table-id\">" + NewsID + "</td>");

					sb.append("<td>" + NewsTitle + "</td>");
					sb.append("<td class=\"table-title\">" + AdminName + "</td>");
					sb.append("<td class=\"table-title\">" + NewsTime + "</td>");
					sb.append("<td><div class=\"am-btn-toolbar\">");
					sb.append("<div class=\"am-btn-group am-btn-group-xs\">");
					sb.append("<input type=\"hidden\" value=\"" + NewsID + "\">");
					sb.append("<input type=\"hidden\" value=\"" + NewsContent + "\">");
					sb.append("<input type=\"hidden\" value=\"" + NewsTitle + "\">");
					sb.append("<a onclick=\"edit(this);\"");
					sb.append("class=\"am-btn am-btn-primary am-btn-xs \"");
					sb.append("href=\"javascript:void(0);\"> <span></span> 修改 <a> ");
					sb.append("<a rel=\"" + NewsID
							+ "\" onclick=\"del(this);\" class=\"am-btn am-btn-danger am-btn-xs \" href=\"javascript:void(0);\"> "
							+ "<span></span>刪除</a>");
					sb.append("</div></div></td></tr>");

					rs.next();
					i++;
				}
				sb.append(Fun.Page(sPage, rs, intPage, intPageSize));
			}
			rs.close();
			stmt.close();
			Conn.close();
			return sb.toString();
		} catch (Exception e) {
			return "No";
		}
	}

	public String AddNews(String[] s, String s1, String s2) {
		try {
			Connection Conn = DBConn.getConnection();
			Statement stmt = Conn.createStatement();

			ResultSet rs = null;
			String sSql = "select * from News order by NewsID desc";
			rs = stmt.executeQuery(sSql);
			int z = 0;
			int newNum = 0;
			if (!rs.next()) {
				newNum = 1;
			} else {
				while (z < 1 && !rs.isAfterLast()) {
					int NewsID = rs.getInt("NewsID");
					newNum = NewsID + 1;
					break;
				}
			}

			for (int i = 0; i < s.length; i++) {
				if (i != 1)
					s[i] = Fun.getStrCN(Fun.CheckReplace(s[i]));
				else
					s[i] = Fun.getStrCN(s[i]);
			}

			SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
			String newsTime = format1.format(new Date());

			StringBuffer sql = new StringBuffer();
			sql.append("insert into News (NewsID,NewsTitle,NewsContent,NewsTime,AdminName) values (" + " '" + newNum
					+ "'," + " '" + s[0] + "'," + " '" + s[1] + "'," + " '" + newsTime + "'," + " '" + s1 + "')");

			System.out.println(sql);

			try {

				Conn.setAutoCommit(false);
				stmt.execute(sql.toString());
				Conn.commit();
				Conn.setAutoCommit(true);
				stmt.close();
				Conn.close();

				return "Yes";
			} catch (Exception e) {
				Conn.rollback();
				e.printStackTrace();
				Conn.close();
				return "新增成功!";
			}
		} catch (Exception e) {
			e.printStackTrace();
			return "新增失敗";
		}
	}

	public String EditNews(String[] s, String s0, String s1, String s2) {
		try {

			Connection Conn = DBConn.getConnection();
			Statement stmt = Conn.createStatement();

			for (int i = 0; i < s.length; i++) {
				s[i] = Fun.getStrCN(Fun.CheckReplace(s[i]));
			}

			int NewsID = Fun.StrToInt(s0);

			StringBuffer sql = new StringBuffer();
			sql.append("update News set NewsTitle='" + s[0] + "'" + " ,NewsContent='" + s[1] + "'" + " where NewsID='"
					+ NewsID + "'");

			stmt.executeUpdate(sql.toString());
			stmt.close();
			Conn.close();

			return "Yes";

		} catch (Exception e) {
			e.printStackTrace();
			System.out.print(e.getMessage());
			return "編輯錯誤!";
		}
	}

	public boolean DelNews(String s0, String s1, String s2) {

		try {
			Connection Conn = DBConn.getConnection();
			Statement stmt = Conn.createStatement();
			int NewsID = Fun.StrToInt(s0);
			if (NewsID == 0)
				return false;
			else {
				try {
					String sql = "delete from News where NewsID=" + NewsID;

					Conn.setAutoCommit(false);
					stmt.executeUpdate(sql);

					Conn.commit();
					Conn.setAutoCommit(true);

					stmt.close();
					Conn.close();
					return true;
				} catch (Exception e) {
					Conn.rollback();
					// e.printStackTrace();
					Conn.close();
					return false;
				}
			}
		} catch (Exception e) {
			// e.printStackTrace();
			// System.out.print(e.getMessage());
			return false;
		}
	}
}

管理員 User.jsp

package com.mingrisoft;			

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class User
{

    DBConnection DBConn = new DBConnection();
    Function Fun = new Function(); 
   
	public String AdminName,AdminPwd,UserName,UserSex,UserTel;
	public String UserQQ,UserEmail,UserAddress,UserZip,UserInfo;
	public String AddTime,LastLoginTime,LastLoginIP;
	public String sAdminType,UserBirthday;
	public int AdminType,BirthYear,BirthMonth,BirthDay;
	public int NewsNum,LoginNum;
	public String [] sType = new String[4];
	
    
    
    public User()
    {
    	sType[1] = "";
    	sType[2] = "";
    	sType[3] = "";  
    }
    
    
     public String ListUser(String sPage,String strPage)
     {			
 		try
     	{
 			
     		Connection Conn = DBConn.getConnection();
 	    	Statement stmt = Conn.createStatement();
 	    	ResultSet rs = null;
     		StringBuffer sb = new StringBuffer();
     		
 			int i;
 			int intPage = 1; 			
 			int intPageSize = 5;
 			
 	    	String sSql = "select * from Admin order by AdminID desc";
 	    	rs = stmt.executeQuery(sSql);
 	    	
     		
 	    	
 			if (!rs.next())
 			{ 
 				sb.append("<tr height=\"25\" bgcolor=\"#d6dff7\"  class=\"info1\"><td colspan=\"4\">\r\n");
 				sb.append("<div align=\"center\"><b>û���û�!</b></div></td></tr>\r\n");
 			}
 			else 
 			{
 				
 				intPage = Fun.StrToInt(strPage);
 				sPage = Fun.CheckReplace(sPage);
 				if (intPage==0) intPage=1;	
 	
 				rs.absolute((intPage-1) * intPageSize+1);
 				i = 0; 
 				while(i < intPageSize && !rs.isAfterLast())
 				{		
 				    int AdminID = rs.getInt("AdminID");	
 					String AdminName = rs.getString("AdminName");
 					String AdminPwd = rs.getString("AdminPwd");
 					String AdminType = rs.getString("AdminType");
 					String LastLoginTime = rs.getString("LastLoginTime");
 					
 					
 					sb.append("<tr>");
 					sb.append("<td class=\"table-id\">"+AdminID+"</td>");
 					
 					sb.append("<td>"+AdminName+"</td>");
 					sb.append("<td class=\"table-title\">"+AdminPwd+"</td>");
 					sb.append("<td class=\"table-title\">"+LastLoginTime+"</td>");		
 					sb.append("</tr>");		
 							
 					rs.next(); 
 					i++;
 				}
 				sb.append(Fun.Page(sPage,rs,intPage,intPageSize));
 			}
 			rs.close();
     		stmt.close();
     		Conn.close();
     		return sb.toString();	
     	}catch(Exception e)
         {
             return "No";
         }
     }
    
}

分頁函式

public String Page(String sPage, ResultSet rs, int intPage, int intPageSize) {
		StringBuffer sb = new StringBuffer();
		String s = null;

		int i = 0;
		try {
			rs.last();

			int intRowCount = rs.getRow();
			int intPageCount;
			if (intRowCount % intPageSize == 0)
				intPageCount = intRowCount / intPageSize;
			else
				intPageCount = (int) Math.floor(intRowCount / intPageSize) + 1;
			if (intPageCount == 0)
				intPageCount = 1;

			if (intPage < 1)
				intPage = 1;
			if (intPage > intPageCount)
				intPage = intPageCount;

			if (intRowCount > intPageSize) {
				s = "<table class=\"am-table am-table-striped\" width=\"90%\"  border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"0\"><tr>";
				s = s + "<td width=\"80%\" height=\"30\" class=\"chinese\"><span class=\"chinese\">";
				s = s + "當前第" + intPage + "頁/共" + intPageCount + "頁,&nbsp;&nbsp;&nbsp;&nbsp;共" + intRowCount
						+ "條記錄,&nbsp;&nbsp;&nbsp;&nbsp;" + intPageSize + "條/頁";

				int showye = intPageCount;
				if (showye > 10)
					showye = 10;
				for (i = 1; i <= showye; i++)
					;
				s = s + "</span></td>";
				s = s + "<td width=\"20%\">";
				s = s + "<table width=\"100%\" border=\"0\">";
				s = s + "<tr><td><div align=\"right\"><span class=\"chinese\">";
				s = s + "<select id=\"ipage\" name=\"ipage\" class=\"chinese\" onChange=\"jumpMenu('self',this,0)\">";
				s = s + "<option value=\"\" selected>請選擇</option>";

				for (i = 1; i <= intPageCount; i++) {
					String sSelect = i == intPage ? "SELECTED" : "";
					s = s + "<option value=\"" + sPage + "intPage=" + i + "\"" + sSelect + ">第" + i + "頁</option>";
				}

				s = s + "</select></span></div>";
				s = s + "</td></tr></table>";
				return s + "</td></tr></table>";
			}

			return "";
		} catch (Exception e) {
		}
		return "分頁出錯!";
	}

	public String PageFront(String sPage, ResultSet rs, int intPage, int intPageSize) {
		StringBuffer sb = new StringBuffer();
		String s = null;

		int i = 0;
		try {
			rs.last();

			int intRowCount = rs.getRow();
			int intPageCount;
			if (intRowCount % intPageSize == 0)
				intPageCount = intRowCount / intPageSize;
			else
				intPageCount = (int) Math.floor(intRowCount / intPageSize) + 1;
			if (intPageCount == 0)
				intPageCount = 1;

			if (intPage < 1)
				intPage = 1;
			if (intPage > intPageCount)
				intPage = intPageCount;

			if (intRowCount > intPageSize) {
				s = "<table  width=\"90%\"  border=\"0\" align=\"left\" cellpadding=\"2\" cellspacing=\"0\"><tr>";
				s = s + "<td style=\"text-align:left\" width=\"80%\" height=\"30\" class=\"chinese\"><span class=\"chinese\">";
				s = s + "當前第" + intPage + "頁/共" + intPageCount + "頁,&nbsp;&nbsp;&nbsp;&nbsp;共" + intRowCount
						+ "條記錄,&nbsp;&nbsp;&nbsp;&nbsp;" + intPageSize
						+ "條/頁&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

				int showye = intPageCount;
				if (showye > 10)
					showye = 10;
				for (i = 1; i <= showye; i++) {
					if (i == intPage)
						s = s + " " + i + " ";
					else {
						s = s + "&nbsp; <a style=\"color:#3F862E\" href=\"" + sPage + "intPage=" + i + "\">" + i
								+ "</a> ";
					}
				}
				s = s + "</span></td>";

				return s + "</tr></table>";
			}

			return "";
		} catch (Exception e) {
		}
		return "分頁出錯!";
	}