SSH框架登录:详细介绍

来源:互联网 发布:同城快送用什么软件 编辑:程序博客网 时间:2024/06/05 00:11
DAO接口:package base.dao;import base.vo.Admin;public interface AdminDao {public Admin findAdmin(String userName,String password);}DAO:package base.dao.impl;import javax.annotation.Resource;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.stereotype.Repository;import base.dao.AdminDao;import base.vo.Admin;@Repositorypublic class AdminDaoImpl implements AdminDao {@Resourceprivate SessionFactory sessionFactory;@Overridepublic Admin findAdmin(String userName,String password){// TODO Auto-generated method stubSession session=sessionFactory.getCurrentSession();Query query=session.createQuery("from Admin where userName=:name and password=:password").setParameter("name", userName).setParameter("password", password);//返回值只有一个用uniqueResult 多个用listAdmin ad=(Admin) query.uniqueResult();return ad; }}SERVICE接口:package base.service;import base.vo.Admin;public interface AdminService {public Admin login(String username, String password);}SERVICE:package base.service.impl;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.opensymphony.xwork2.ActionContext;import base.dao.AdminDao;import base.service.AdminService;import base.vo.Admin;@Servicepublic class AdminServiceImpl implements AdminService{@Resourceprivate AdminDao ad;public Admin login(String username, String password){Admin admin=ad.findAdmin(username, password);if(admin!=null){//获取的是session,然后用put存入相应的值,只要在session有效状态下,这个值一直可用 ActionContext.getContext().getSession().put("admin", admin);   }//返回 return admin;}}ACtion:package base.controller;import javax.annotation.Resource;import org.apache.struts2.components.Else;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import base.service.AdminService;import base.vo.Admin;@Controller@Scope("prototype")public class Adminaction {@Resourceprivate AdminService as;private Admin admin;private String msg;public String login(){//调用as方法并且通过类名得到属性Admin admin1=as.login(admin.getUserName(), admin.getPassword());        if(admin1==null){        msg="用户或密码错误";        return "fail";}else{        return "success";        }        }public AdminService getAs() {return as;}public void setAs(AdminService as) {this.as = as;}public Admin getAdmin() {return admin;}public void setAdmin(Admin admin) {this.admin = admin;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}}

原创粉丝点击