SSH网上商城--后台登录
2017-01-24 11:42
429 查看
本篇通过简单的后台登录来讲解SSH的应用,页面主要采用框架来进行布局,通过dtree.js作为树形结构菜单来使用。
主要登录功能的实现有以下步骤组成:
1.后台管理页面。由于资料里已给出,可直接在WebRoot下新建admin文件夹后将后台页面直接引入即可,这里不做详细说明,页面也可自行制作。(注意css和image等的引用是否存在)。启动服务器后,打开浏览页面,如下图所示
![](https://img-blog.csdn.net/20170123211850372)
2.创建表:
并插入一条后台登录用户admin
输入用户名和密码后,点击管理中心后提交,在index.jsp中,点击“进入管理中心”按钮后,提交到后台的adminUser_login登录界面
3.创建包、类及类之间的联系
* cn.itcast.shop.adminuser
* action
* AdminUserAction.java
* service
* AdminUserService.java
* dao
* AdminUserDao.java
* vo
* AdminUser.java
* AdminUser.hbm.xml(映射)
然后加到Spring的配置文件applicationContext中去,加上该映射:
然后就去新建AdminUser.action
在service包中新建AdminUserService类
在dao包中新建AdminUser类
在action中注入service,并提供set方法
在service中加上事务管理并注入dao,提供set方法
在dao中继承HibernateDaoSupport
把上述类交给Spring进行管理,在applicationContext完成相应的配置
上述只是一系列的准备工作,是对前一篇的解释吧,接下来就是后台登录的代码实现过程:
基本操作过程为:* index.jsp----->AdminUserAction----->AdminUserService----->AdminUserDao
在index.jsp中点击“进入管理员页面”按钮,转向到adminUser_login.action,此时就需要在AdminUserAction中编写login方法,这时到这里是需要Struts的,进行Action的配置,让它跳转到某一个页面,稍后进行配置
从index中接收到的用户名和密码都存在模型驱动adminUser中了,通过用户名和密码登录到后台系统,
在Action中调用Service,
去业务层实现该方法
再去dao中完成该方法
此时AdminUserAction中的existAdminUser就有值了,并进行相应的判断
接下来只需要去Struts中补充配置loginFail和loginSuccess就OK了
然后获得session中的用户名进行登录
![](https://img-blog.csdn.net/20170124112125682)
进行测试!
登录成功!
![](https://img-blog.csdn.net/20170124113159260)
上述是通过后台登录的一个小demo来简单介绍SSH的应用,不了解SSH的可参考SSH初探!
主要登录功能的实现有以下步骤组成:
1.后台管理页面。由于资料里已给出,可直接在WebRoot下新建admin文件夹后将后台页面直接引入即可,这里不做详细说明,页面也可自行制作。(注意css和image等的引用是否存在)。启动服务器后,打开浏览页面,如下图所示
2.创建表:
CREATE TABLE `adminuser` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
并插入一条后台登录用户admin
INSERT INTO `adminuser` VALUES (2,'admin','admin');
输入用户名和密码后,点击管理中心后提交,在index.jsp中,点击“进入管理中心”按钮后,提交到后台的adminUser_login登录界面
3.创建包、类及类之间的联系
* cn.itcast.shop.adminuser
* action
* AdminUserAction.java
* service
* AdminUserService.java
* dao
* AdminUserDao.java
* vo
* AdminUser.java
* AdminUser.hbm.xml(映射)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="cn.itcast.shop.adminuser.vo.AdminUser" table="adminuser"> <id name="uid"> <generator class="native"/> </id> <property name="username"/> <property name="password"/> </class> </hibernate-mapping>
然后加到Spring的配置文件applicationContext中去,加上该映射:
<!-- 配置Hibernate的映射文件 --> <property name="mappingResources"> <list> <value>cn/itcast/shop/adminuser/vo/AdminUser.hbm.xml</value> </list> </property> </bean>
然后就去新建AdminUser.action
package cn.itcast.shop.adminuser.action; import cn.itcast.shop.adminuser.vo.AdminUser; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; /** * 后台登录的Action * @author DXJ * */ public class AdminUserAction extends ActionSupport implements ModelDriven<AdminUser>{ //模型驱动使用的对象 private AdminUser adminUser = new AdminUser(); @Override public AdminUser getModel() { return adminUser; } }
在service包中新建AdminUserService类
package cn.itcast.shop.adminuser.service; /** * 后台登录业务层代码类 * @author DXJ * */ public class AdminUserService { }
在dao包中新建AdminUser类
package cn.itcast.shop.adminuser.vo; /** * 后台用户登录实体类 * @author DXJ * */ public class AdminUser { private Integer uid; private String username; private String password; public Integer getUid() { return uid; } public void setUid(Integer uid) { this.uid = uid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
在action中注入service,并提供set方法
//注入service private AdminUserService adminUserService; public void setAdminUserService(AdminUserService adminUserService) { this.adminUserService = adminUserService; }
在service中加上事务管理并注入dao,提供set方法
@Transactional public class AdminUserService { //注入dao private AdminUserDao adminUserDao; public void setAdminUserDao(AdminUserDao adminUserDao) { this.adminUserDao = adminUserDao; } }
在dao中继承HibernateDaoSupport
package cn.itcast.shop.adminuser.dao; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * 后台登录的Dao,类 * @author DXJ * */ public class AdminUserDao extends HibernateDaoSupport{ }
把上述类交给Spring进行管理,在applicationContext完成相应的配置
<!-- 后台登录的Dao --> <bean id="adminUserDao" class="cn.itcast.shop.adminuser.dao.AdminUserDao"> <property name="sessionFactory" ref="sessionFactory"/> </bean>
<!-- 后台登录的Service,并注入Dao --> <bean id="adminUserService" class="cn.itcast.shop.adminuser.service.AdminUserService"> <property name="adminUserDao" ref="adminUserDao" /> </bean>
<!-- 后台登录的Action,并注入Service --> <bean id="adminUserAction" class="cn.itcast.shop.adminuser.action.AdminUserAction" scope="prototype"> <property name="adminUserService" ref="adminUserService"/> </bean>
上述只是一系列的准备工作,是对前一篇的解释吧,接下来就是后台登录的代码实现过程:
基本操作过程为:* index.jsp----->AdminUserAction----->AdminUserService----->AdminUserDao
在index.jsp中点击“进入管理员页面”按钮,转向到adminUser_login.action,此时就需要在AdminUserAction中编写login方法,这时到这里是需要Struts的,进行Action的配置,让它跳转到某一个页面,稍后进行配置
<!-- 配置后台登录的Action,让它跳转到某一个页面--> <action name="adminUser_*" class="adminUserAction" method="{1}"> <result>需要跳转的页面</result> </action>
从index中接收到的用户名和密码都存在模型驱动adminUser中了,通过用户名和密码登录到后台系统,
在Action中调用Service,
/** * 后台登录的方法 */ public String login(){ //调用Service完成登录,传过来adminuser,得到一个新的AdminUser对象existAdminUser, AdminUser existAdminUser = adminUserService.login(adminUser); return NONE; }
去业务层实现该方法
/** * 业务层登录的方法 * @param adminUser * @return */ public AdminUser login(AdminUser adminUser) { return adminUserDao.login(adminUser); }
再去dao中完成该方法
public class AdminUserDao extends HibernateDaoSupport{ /** * Dao中的登录方法 * @param adminUser * @return */ public AdminUser login(AdminUser adminUser) { //编写hql,去查询adminUser这个对象 String hql="from AdminUser where username = ? and password = ?"; //获得模板,并调用find方法,传入相应的参数(可从adminUser中获得),这样可以得到一个对象,在此时list集合形式 List<AdminUser> list = this.getHibernateTemplate().find(hql,adminUser.getUsername(),adminUser.getPassword()); //对集合进行判断 if (list != null && list.size()>0) { return list.get(0); //因为只能查到一个 } return null; } }
此时AdminUserAction中的existAdminUser就有值了,并进行相应的判断
/** * 后台登录的方法 */ public String login(){ //调用Service完成登录,传过来adminuser,得到一个新的AdminUser对象existAdminUser, AdminUser existAdminUser = adminUserService.login(adminUser); if (existAdminUser == null) { //登录失败 this.addActionError("亲,您的用户名或密码错误,请重新输入!"); //返回失败页面 return "loginFail"; } else { //登录成功 //将用户信息存到session中 ServletActionContext.getRequest().getSession().setAttribute("existAdminUser", existAdminUser); return "loginSuccess"; } }
接下来只需要去Struts中补充配置loginFail和loginSuccess就OK了
<!-- 配置后台登录的Action,让它跳转到某一个页面,在这是一个成功页面,一个失败页面--> <action name="adminUser_*" class="adminUserAction" method="{1}"> <result name="loginFail">/admin/index.jsp</result> <result name="loginSuccess">/admin/home.jsp</result> </action>
然后获得session中的用户名进行登录
进行测试!
登录成功!
上述是通过后台登录的一个小demo来简单介绍SSH的应用,不了解SSH的可参考SSH初探!
相关文章推荐
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架
- 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
- 【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架
- 【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
- 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
- 【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
- JSP第八次课:网上商城后台--后台用户登录
- 【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
- 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
- 【SSH网上商城】拦截器实现后台权限校验
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架
- 【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示
- 【SSH网上商城项目实战08】查询和删除商品类别功能的实现
- 【SSH网上商城项目实战13】Struts2实现文件上传功能
- 【SSH网上商城项目实战04】EasyUI菜单的实现
- BaseServlet反射method通用类/ 首页跳转/ 注册功能/ 登录功能/ 退出 (网上商城一)
- 【SSH网上商城项目实战12】添加和更新商品功能的实现
- 【SSH网上商城项目实战26】完成订单支付后的短信发送功能