简单CMS项目笔记之七:后台登陆登出模块
2012-12-07 14:27
537 查看
这块儿比较简单,就是action的跳转,sql查询用户名密码的匹配,session写入;登出时action要type="redirectAction"。利用i18n作统一的错误处理值得借鉴。
一:action
还是用*通配,要注意就是登出的时候action要type="redirectAction"
二:登陆jsp
和原来写过比,就是多了fielderror,
用于接受校验出错的提示信息,然后给登录者提示一下
(错误信息是通过i18n的getText完成的)
这里边jsp向action传值,用的是直接传“ 实例.属性 ”的方法,
这种方法只要求action里有同名的实例,再加上对应属性的setter&getter就行了
三:action
没有向info那样单独继承一个superaction,原因是比较简单
仅多写一个bean就行了
登录:dao里查值,登录成功的话把user实例写入session
验证是否登录:看session中有值且是user实例
退出前清掉session(此程序session里没别的东西),之后action要客户端跳转回首页
四:数据校验
还是用action的validate-方法名执行
这个在jsp里加个js验证也行
这的错误信息是通过i18n的getText完成的,所有错误统一放在src/action文件夹下的package.properties文件里
里边都是类似:city.login.no.name=\u8bf7\u8f93\u5165 <b><font color="red">\u7528\u6237\u540d\uff01</font></b> 这样的定义,值得借鉴
登录成功后进入一个比较复杂的页面,用于显示全部后台管理的信息,
这个后边单说,这会儿已经完成了登录和登出的接口
一:action
还是用*通配,要注意就是登出的时候action要type="redirectAction"
<!-- 管理员登录/退出 --> <action name="log_*" class="com.yxq.action.LogInOutAction" method="{1}"> <result name="input">/pages/admin/Login.jsp</result> <result name="login">/pages/admin/view/AdminTemp.jsp</result> <result name="logout" type="redirectAction">goindex</result> </action>
二:登陆jsp
和原来写过比,就是多了fielderror,
用于接受校验出错的提示信息,然后给登录者提示一下
(错误信息是通过i18n的getText完成的)
<s2:form action="log_Login.action" theme="simple">
<table border="0" width="90%" cellspacing="0" cellpadding="0"> <tr height="50"><td colspan="2"><s2:fielderror/></td></tr> <tr height="30"> <td align="right" width="40%">用户名: </td> <td style="text-indent:5"><s2:textfield name="user.userName" size="30"/></td> </tr> <tr height="30"> <td align="right">密 码: </td> <td style="text-indent:5"><s2:password name="user.userPassword" size="30"/></td> </tr> <tr height="60"> <td></td> <td> <s2:submit value="登录"/> <s2:reset value="重置"/> <s2:a href="index.jsp">[返回首页]</s2:a> </td> </tr> </table>
这里边jsp向action传值,用的是直接传“ 实例.属性 ”的方法,
这种方法只要求action里有同名的实例,再加上对应属性的setter&getter就行了
三:action
没有向info那样单独继承一个superaction,原因是比较简单
仅多写一个bean就行了
public class LogInOutAction extends MySuperAction { protected UserSingle user;
登录:dao里查值,登录成功的话把user实例写入session
/** 功能:查询数据表,验证是否存在该用户 */ public String Login(){ String sql="select * from tb_user where user_name=? and user_password=?"; Object[] params={user.getUserName(),user.getUserPassword()}; OpDB myOp=new OpDB(); if(myOp.LogOn(sql, params)){ //dao层判断是否登录成功 session.put("loginUser",user); //写入session return LOGIN; //跳转到管理员管理页面 } else{ //用户名或密码错误 addFieldError("loginE",getText("city.login.wrong.input")); return INPUT; //跳到重新登录页面 } }
验证是否登录:看session中有值且是user实例
/** 功能:判断当前用户是否登录 */ public String isLogin(){ Object ob=session.get("loginUser");//去session里取值 if(ob==null||!(ob instanceof UserSingle))//判断有值 且是User实例,代表登陆成功 return INPUT; else return LOGIN; }
退出前清掉session(此程序session里没别的东西),之后action要客户端跳转回首页
/** 功能:退出登录 */ public String Logout(){ session.clear(); return "logout"; }
四:数据校验
还是用action的validate-方法名执行
这个在jsp里加个js验证也行
这的错误信息是通过i18n的getText完成的,所有错误统一放在src/action文件夹下的package.properties文件里
里边都是类似:city.login.no.name=\u8bf7\u8f93\u5165 <b><font color="red">\u7528\u6237\u540d\uff01</font></b> 这样的定义,值得借鉴
/** 功能:验证是否输入用户名和密码 */ public void validateLogin() { String name=user.getUserName(); String password=user.getUserPassword(); if(name==null||name.equals("")) addFieldError("nameError",getText("city.login.no.name")); if(password==null||password.equals("")) addFieldError("passwordError",getText("city.login.no.password")); }
登录成功后进入一个比较复杂的页面,用于显示全部后台管理的信息,
这个后边单说,这会儿已经完成了登录和登出的接口
相关文章推荐
- 简单CMS项目笔记之八:后台信息分类筛选模块
- 简单CMS项目笔记之六:信息发布模块
- 简单CMS项目笔记之九:后台信息修改、审核、删除
- 简单CMS项目笔记之四:信息显示(列表显示和显示具体单项)
- 网上图书商城项目学习笔记-024后台模块介绍及管理员登录
- 简单CMS项目笔记之二:前台页面处理流程
- 简单CMS项目笔记之五:struts标签前台显示
- maven 学习笔记(六)-创建简单的多模块maven项目)
- 简单Blog项目笔记之三:用户登录模块(验证码、MD5)
- web day26 小项目练习图书商城 后台分类管理模块,图书管理模块,前台登陆过滤
- 简单CMS项目笔记之一:分页类的实现
- 简单CMS项目笔记之三:搜索栏和自定义superAction
- 购物网第一阶段总结笔记5:后台登陆模块(ASP.NET内置票据认证的使用)
- 网上图书商城项目学习笔记-004注册页面前后台的验证、注册功能实现、激活功能实现
- [转译]简单介绍jakarta commons项目中的各模块功能
- struts2 学习笔记(简单的登陆功能实现)
- 小KING教你做android项目(二)---实现登陆页面并跳转和简单的注册页面
- 三维软件开发笔记---项目数据管理升级+坐标轴简单标注
- 小KING教你做android项目(二)---实现登陆页面并跳转和简单的注册页面
- .net MVC 登陆模块后台代码