第一步加上头文件

  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

 

因为是要登陆才能使用,使用用了EL表达式

${empty user}判断是否session空

  1. <c:choose> 
  2.      <c:when test="${empty user}">  
  3. 登陆表单
  4.      </c:when> 
  5.         
  6.      <c:otherwise>
  7. 登陆后显示是信息
  8. 可以修改的资料 
  9.      </c:otherwise> 
  10.    
  11. </c:choose> 
  1. <c:choose> 
  2.    <c:when test="${empty user}">  
  3.      
  4.        
  5.          <div class="form_subtitle">登录你的帐号</div> 
  6.           
  7.        
  8.          <form name="register" action="user/login.do" method="post"> 
  9.            <div class="form_row"> 
  10.              <label class="contact"><strong>用户名:</strong></label> 
  11.              <input type="text" class="contact_input" name="username"/> 
  12.            </div> 
  13.            <div class="form_row"> 
  14.              <label class="contact"><strong>密码:</strong></label> 
  15.              <input type="text" class="contact_input" name="password" /> 
  16.            </div> 
  17.            <div class="form_row"> 
  18.              <div class="terms"> 
  19.               
  20.                </div> 
  21.            </div> 
  22.            <div class="form_row"> 
  23.              <input type="submit" class="register" value="登录" /> 
  24.            </div> 
  25.          </form> 
  26.          </c:when> 
  27.        <c:otherwise> 
  28.          <div class="form_subtitle">用户资料</div> 
  29.            <div class="title"> 
  30.            <label ><strong>您好 ${sessionScope.user.username}&nbsp;&nbsp;  欢迎光临</strong></label> 
  31.           </div> 
  32.              <div class="form_row"> 
  33.            <label ><strong> 您是我们第${sessionScope.user.id}个客户,感谢您一直以来的陪伴! </strong></label> 
  34.          </div> 
  35.             <div class="form_row"><img src="p_w_picpaths/bullet6.gif" alt="" title="" /> 
  36.            <label ><strong>用户类型:&nbsp;&nbsp;&nbsp;&nbsp; ${sessionScope.user.usertype} </strong></label> 
  37.           </div> 
  38.            <div class="form_row"><img src="p_w_picpaths/bullet6.gif" alt="" title="" /> 
  39.            <label ><strong>用户等级:&nbsp;&nbsp;&nbsp;&nbsp; ${sessionScope.user.rank}级 </strong></label> 
  40.           </div> 
  41.            <div class="form_row"><img src="p_w_picpaths/bullet6.gif" alt="" title="" /> 
  42.            <label ><strong>电话号码: ${sessionScope.user.phone} </strong></label> 
  43.           </div> 
  44.          <div class="form_row"><img src="p_w_picpaths/bullet6.gif" alt="" title="" /> 
  45.            <label ><strong>默认送货地址: ${sessionScope.user.send_address} </strong></label> 
  46.           </div> 
  47.         <div class="form_row"><img src="p_w_picpaths/bullet6.gif" alt="" title="" /> 
  48.            <label ><strong>累计消费金额: ${sessionScope.user.money} </strong></label> 
  49.           </div> 
  50.           
  51.          <a href="updateuser.jsp" class="view_cart">修改个人相关资料</a>  
  52.           
  53.            
  54.            <div class="cart"> 
  55.        <div class="title"><span class="title_icon"><img src="p_w_picpaths/cart.gif" alt="" title="" /></span>我的购物车</div> 
  56.        <div class="home_cart_content"> 3 x 件 | <span class="red">总共: 100$</span> </div> 
  57.        <a href="cart.jsp" class="view_cart">查看购物车</a> </div> 
  58.         
  59.         
  60.        </c:otherwise> 
  61.       </c:choose> 

登陆form进入 user/login.do

UserController中的 user/login.do中 session.setAttribute("user", user); 记录下session

  1. @Controller 
  2. @RequestMapping("/user"
  3. public class UserController { 
  4.  
  5.     @Resource(name="userDao"
  6.     UserDao udao; 
  7.      
  8.      
  9.     @RequestMapping(value="/login.do",method=RequestMethod.POST) 
  10.     public String login(String username,String password,HttpSession session,Map map) 
  11.     { 
  12.         System.out.print("--------begin--login.do-------------"); 
  13.         User user=udao.login(username, password); 
  14.         System.out.print("--------end--login.do 1-------------"); 
  15.         if(user!=null
  16.         { 
  17.             session.setAttribute("user", user); 
  18.             System.out.print("--------end--login.do-------------"); 
  19.             map.put("user",user); 
  20.             return "redirect:/myaccount.jsp"
  21.         } 
  22.         map.put("error""密码错误或用户名不存在!"); 
  23.         return "redirect:/myaccount.jsp"
  24.     } 

 

 UserDao中用了hql

  1. @Repository 
  2. public class UserDao extends BaseDao<User>{ 
  3.      
  4.     public User login(String username,String password) 
  5.     { 
  6.         String hql="from User where username=:username and password=:password"
  7.         Query query=getSession().createQuery(hql); 
  8.         query.setParameter("username", username); 
  9.         query.setParameter("password", password); 
  10.         User u=(User) query.uniqueResult(); //用户名不能一样
  11.          
  12.         return u; 
  13.     } 

就这样进入用户管理页面啦!

 

接下来是修改个人信息时也要实时更新显示

    这个在/updateuser.do中加上

 

  1. User user=udao.login(username, pwd1); 
  2.      session.removeAttribute("user");  //remove旧的session 
  3.      session.setAttribute("user", user);//新session 

 

仿login.do写的,先

  1. @RequestMapping(value="/updateuser.do",method=RequestMethod.POST) 
  2. public String updateuser(String username,String password,String pwd1,String pwd2,String phone,String send_address,HttpSession session,Map map) 
  3.     System.out.println("----------------begin--updateUser---------------------------"); 
  4.      
  5.     username=username.trim(); 
  6.     password=password.trim(); 
  7.     pwd1=pwd1.trim(); 
  8.     phone=phone.trim(); 
  9.     send_address=send_address.trim(); 
  10.      
  11.    
  12.      
  13.     boolean result=false
  14.  
  15.     if(pwd1.equals(pwd2)){ 
  16.      result=udao.updateUser(username,password,pwd1,phone,send_address); 
  17.     User user=udao.login(username, pwd1); 
  18.      session.removeAttribute("user");  //remove旧的session 
  19.      session.setAttribute("user", user);//新session 
  20.       return result?"redirect:/myaccount.jsp":"redirect:/updateuser.jsp"
  21.      
  22.     } 
  23.     else 
  24.     { 
  25.         System.out.print("--------end--/updateuser.do 2-------------"); 
  26.        return "redirect:/updateuser.jsp"
  27.     } 

 

这样就行啦!