JSP第九次課:網上商城後臺--首頁設計及管理員功能實現

零、準備工做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;  }

相關文章
相關標籤/搜索