JSP第九次课:网上商城后台--后台相关页面设计

一、后台head页设计

1、head.jsp主要代码:

%@ page language="java" import="java.util.*,mybean.*" pageEncoding="utf-8"%>
<%
Admin admin=(Admin)session.getAttribute("admin");
if(admin!=null)
{
%>

当前用户:<%=admin.getName()%> 

<A style="COLOR: #fff"
      href="admin_update.jsp"
      target=blank>修改口令</A>

<A style="COLOR: #fff"
      href="exit1.jsp" target=_blank>退出系统</A>

<%}%>



2、更改口令设计

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

2、注销用户exit1.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
session.invalidate();
response.sendRedirect("login.htm");
%>

二、左侧菜单页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>

三、右侧默认页设计

1、数据库添加注册时间(add_time 默认值getdate()),访问次数(count  默认值0)字段

2、JavaBean--Admin添加 String add_time,int count 及相关方法

3、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>

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

四、实现管理前台用户功能



本文出自 “学而不思则罔” 博客,请务必保留此出处http://dyzyxy.blog.51cto.com/944775/1625824

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。