您的位置:首页 > 其它

SSH框架登录:详细介绍

2017-10-26 17:38 211 查看
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;

@Repository
public class AdminDaoImpl implements AdminDao {
@Resource
private SessionFactory sessionFactory;
@Override
public Admin findAdmin(String userName,String password){
// TODO Auto-generated method stub
Session session=sessionFactory.getCurrentSession();
Query query=session.createQuery("from Admin where userName=:name and password=:password").setParameter("name", userName).setParameter("password", password);
//返回值只有一个用uniqueResult 多个用list
Admin 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;
@Service
public class AdminServiceImpl implements AdminService{
@Resource
private 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 {
@Resource
private 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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: