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;  }

相关文章
相关标签/搜索