零、準備工做html
一、下載後臺管理系統模板(框架結構模板)、瞭解相關功能及網站結構、分析需求java
二、分析後臺關於管理員相關功能:管理員登陸,統計登陸次數、註冊時間、修改本身密碼、註銷sql
三、數據庫新建Admin表,Bean設計Admin,AdminDAO.login數據庫
1、後臺head頁設計session
一、head.jsp主要代碼:框架
%@ page language="java" import="java.util.*,mybean.*" pageEncoding="utf-8"%>
<%
Admin admin=(Admin)session.getAttribute("admin");
if(admin!=null)
{
%>jsp
當前用戶:<%=admin.getName()%> ide
<A style="COLOR: #fff"
href="admin_update.jsp"
target=blank>修改口令</A>sqlserver
<A style="COLOR: #fff"
href="exit1.jsp" target=_blank>退出系統</A>post
<%}%>
二、更改口令設計
(1)更改口令頁admin_update.jsp(與login頁基本相同,區別是用戶名不可更改,能夠更改密碼,action到admin_doUpdate.jsp)
主要代碼:
<%@ page language="java" import="mybean.*,java.util.*" pageEncoding="UTF-8"%>
<%
Admin admin=(Admin)session.getAttribute("admin");
if(admin!=null)
{
%>
<FORM name="form1" action="admin_doUpdate.jsp" method="post">
<input type="hidden" name="aid" value="<%=admin.getAid()%>"/>
用戶名:<INPUT type="text" value="<%=admin.getName()%>" name=name readonly="ok">
密碼:<INPUT type=password maxLength=30 size=24 value="" name=pass>
。。。。
(2)處理更改信息admin_doUpdate.jsp
<%@ page language="java" import="mybean.*,java.util.*" pageEncoding="UTF-8"%>
<%
String name = request.getParameter("name");
String pwd = request.getParameter("pass");
String aid=request.getParameter("aid");
AdminDAO dao=new AdminDAO();
//建立admin對象,將值存入其中
Admin admin=new Admin();
admin.setAid(Integer.parseInt(aid));
admin.setName(name);
admin.setPassword(pwd);
if(dao.update(admin))
{
session.setAttribute("admin",admin); //將更改後的admin存入session中
response.sendRedirect("index.jsp");
}
%>
(3)DAO數據庫中更改密碼,Admin.update(Admin)方法實現修改密碼功能
public boolean update(Admin admin){
Connection conn=null;
PreparedStatement ps=null;
boolean flag=false;
String sql="update admin set password=? where aid=?";
String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String user="shopping";
String password="shopping";
String url="jdbc:sqlserver://localhost:1433;database=ebuy";
try {
Class.forName(className);
conn=DriverManager.getConnection(url, user, password);
ps=conn.prepareStatement(sql);
ps.setString(1,admin.getPassword());
ps.setInt(2, admin.getAid());
int n=ps.executeUpdate();
if(n>=1){
flag=true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(ps!=null)
ps.close();
if(conn!=null)
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
二、註銷用戶exit1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
session.invalidate();
response.sendRedirect("login.htm");
%>
2、左側菜單頁menu.html
<A class=menuChild href="good_view.jsp" target=main>商品展現</A>
<A class=menuChild href="good_add.jsp" target=main>添加商品</A>
<A class=menuChild href="admin_update.jsp" target=blank>修改口令</A>
<A class=menuChild
(confirm('肯定要退出嗎?')) return true; else return false;"
href="exit1.jsp"
target=_top>退出系統</A>
3、右側默認頁設計
一、數據庫添加註冊時間(add_time 默認值getdate()),訪問次數(count 默認值0)字段
二、JavaBean--Admin添加 String add_time,int count 及相關方法
三、main.jsp頁
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="mybean.*"%>
<%@page import="mybean.util.*"%>
<%
Admin admin=(Admin)session.getAttribute("admin");
if(admin!=null)
{
Date date=new Date();
String dateStr=(1900+date.getYear())+"年"+(date.getMonth()+1)+"月"+date.getDate()+"日 "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();
%>
<p>本次登陸時間:<%=dateStr%></p>
<p>用戶名:<%=admin.getName() %></p>
<p>註冊時間:<%=admin.getAdd_time() %></p>
<p>登錄次數:<%=admin.getCount() %></p>
四、doLogin.jsp頁,添加功能數據庫「登陸次數+1」,要求在main.jsp顯示出來
(1)doLogin.jsp添加代碼(不一樣顏色部分)
<%@ page language="java" import="mybean.*,java.util.*" pageEncoding="UTF-8"%>
<%
String name = request.getParameter("name");
String pwd = request.getParameter("pass");
AdminDAO dao=new AdminDAO();
Admin admin=dao.login(name, pwd);
if(admin.getName()!=null)
//糾正錯誤,以前用admin!=null,出現個問題不輸入用戶名和密碼能夠登陸
{
dao.count(admin.getAid());
response.setHeader("refresh", "2;url=index.jsp");
admin.setCount(admin.getCount()+1);
session.setAttribute("admin",admin);
}
else {
out.println("登陸失敗");
response.setHeader("refresh", "2;url=login.htm");
}
%>
(2)DAO編寫訪問次數加1方法Admin.count(aid)
public boolean count(int aid){
Connection conn=null;
PreparedStatement ps=null;
boolean flag=false;
String sql="update admin set count=count+1 where aid=?";
String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String user="shopping";
String password="shopping";
String url="jdbc:sqlserver://localhost:1433;database=ebuy";
try {
Class.forName(className);
conn=DriverManager.getConnection(url, user, password);
ps=conn.prepareStatement(sql);
ps.setInt(1, aid); int n=ps.executeUpdate(); if(n>=1){ flag=true; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if(ps!=null) ps.close(); if(conn!=null) conn.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag; }