⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginservice.java

📁 spring+hibernate+struts 范例代码
💻 JAVA
字号:
package com.afuer.hib.dao.orgModel.Dao.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import com.afuer.hib.dao.orgModel.Idao.ILoginDao;
import com.afuer.hib.form.LinkControl;
import com.afuer.hib.form.UserAcl;
import com.afuer.hib.form.UserInfo;
import com.afuer.hib.form.Userrole;
import com.common.login.UserSessionForm;
import com.common.util.StringTool;

public class LoginService implements Controller {
	private static final Log log = LogFactory.getLog(LoginService.class);
	public static HashMap hm = new HashMap();
	private ILoginDao loginDao;

	public ILoginDao getLoginDao() {
		return loginDao;
	}

	public void setLoginDao(ILoginDao loginDao) {
		this.loginDao = loginDao;
	}
    private String menuStr="";
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub

		String username = StringTool.InitStr(request.getParameter("username")).trim();
		String password = StringTool.InitStr(request.getParameter("password")).trim();
		UserInfo user = new UserInfo();
		int login_flag = 0;
		login_flag = loginDao.getUserInfoDao().getAccounts(username, password)
				.intValue();
		log.warn("user:loginname," + username);
		if (login_flag > 0) {

			// 对用户进行授权
			List roles = new ArrayList();
			user = loginDao.getUserInfoDao().getUserInfo(username);
			UserSessionForm usf = new UserSessionForm();

			// 添加用户的基本信息
			usf.setUi(user);

			// 添加用户的角色
			List list = loginDao.getUserroleDao().findRolesByUser(user.getId());
			Iterator it = list.iterator();
			while (it.hasNext()) {
				Userrole ur = (Userrole) it.next();
				
				roles.add(ur.getId());
				
			}
			usf.setRoles(roles);
			   System.out.println("xxxxxxddddxxxxtemp:"+usf.getRoles().size());
            usf.setUrlTree(getHeadMenuString(usf.getRoles()));
			HttpSession sess = request.getSession(true);
			sess.setAttribute("UserInfo", usf);
			

			log.warn("用户" + user.getLoginname() + "登陆系统!");
			return new ModelAndView("/admin/login/index");
		} else {
			log.warn("用户" + StringTool.InitStr(username) + "尝试登陆系统失败!");

			return new ModelAndView("/admin/login/login", "errMsg",
					"您的用户名或密码错误!");
		}

	}
	
	
	
	
	//以下为获得菜单String的函数
	public String getHeadMenuString(List roles) {
		String temp = "";
		List list = new ArrayList();
		
		Iterator it = roles.iterator();
		// 获得linkid
		while (it.hasNext()) {
			final Integer roleId = (Integer) it.next();
			System.out.println("xxxxxxddddxxxxroleId:"+roleId);
			list = loginDao.getLinkControlDao().getLinksByRole(roleId);
			Iterator it1 = list.iterator();
			while (it1.hasNext()) {
				LinkControl lc = loginDao.getLinkControlDao().get(
						((UserAcl) it1.next()).getLinkid());
				System.out.println("xxxxxxddddxxxxroleId:"+lc.getName());
				temp+=searchMenu(lc);
			}

		}

		return temp;
	}
	
	public String searchMenu(LinkControl lc) {
		String temp = "";
		
		if(lc==null||lc.getId()==null||hm.containsKey(lc.getId()))
		{
			return temp;
		}
		 else {
			 log.debug("temp:"+lc.getId());
			hm.put(lc.getId(), lc);
			if (lc.getParentid() =="1") {
				temp += "menu_" + lc.getId() + "=new mMenu('" + lc.getName()
						+ "','" + lc.getLinkurl() + "','" + lc.getTarget()
						+ "','','','','');\n";
			} else {
				temp += "menu_" + lc.getId() + "=new mMenuItem(' "
						+ lc.getName() + "','" + lc.getLinkurl() + "','"
						+ lc.getTarget() + "',false,'','1','','','','');";
//			  String ppId=loginDao.getLinkControlDao().get(
//						StringTool.changeInteger(lc.getParentid()))
//						.getParentid();
				String	ppId="1";
				if (("1").equals(ppId)) {
					temp += "menu_" + lc.getParentid() + ".addItem(menu_"
							+ lc.getId() + ");";
				} else {
					temp += "menu_" + lc.getParentid() + ".addsubItem(menu_"
							+ lc.getId() + ");";

				}
			}
			searchMenu(loginDao.getLinkControlDao().get(
					StringTool.changeInteger(lc.getParentid())));

		}
		  System.out.println("xxxxxxxxxxsearchtemp:"+temp);
		return temp;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -