index.jsp
<%@ page contentType="text/html;charset=UTF-8" import="java.util.*" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <html> <body> <div class="page-container"> <h1>XXX公司xxx系统</h1> <form action="" method="post"> <input type="text" name="username" id="username"/> <input type="password" name="password" id="password"/> <input type="button" id="login" value="登录"/> <div class="error"><span></span></div> </form> </div> <script type="text/javascript"> $('#login').on('click',function (){ var username = document.getElementById("username").value(); var password = document.getElementById("password").value(); if(username==''){ Layalert('用户名不能为空!'); return; } if(password==''){ Layalert('密码不能为空!') return; } dologin(username,password); }); function dologin(username,password) { $.ajax({ url:"<%=basePath%>login.do", type:'POST', data:{ username:username, password:password }, dataType:'text', success:function (data) { if(data=='true'){ window.location.href="<%=basePath%>index.jsp"; }else { Layalert('账户或密码错误!'); } }, error:function () { alert('网页出错,请刷新重试!'); } }); } function Layalert(msg){ layui.use('layer', function(){ var layer = layui.layer; layer.msg('<span style="color: black;">'+msg+'<span>', { title:"提示", time: 50000, //5s后自动关闭 btn: ['确定'], icon:6, offset:"100px" }); }); } </script> </body> </html>
LoginAction
@Controller public class LoginAction { @Autowired(required=false) private ILoginService loginServiceImpl; @RequestMapping(value="/login.do",produces = "text/html;charset=UTF-8") @ResponseBody public String doLogin(String username,String password,HttpSession session){ User user=null; List<Emp> emp=null; List<Dept> dept=null; List <Resource> list=null; List oneLevelMenu=null; try { user = loginServiceImpl.doLogin(username, password); } catch (Exception e) { e.printStackTrace(); } try { if(user!=null){ emp=loginServiceImpl.findEmpByUserId(user.getUserId()); list=loginServiceImpl.findResourceByUserId(user.getUserId()); oneLevelMenu=loginServiceImpl.findOneLevelResource(); } } catch (Exception e) { e.printStackTrace(); } session.setAttribute("user", user); session.setAttribute("emp", emp); session.setAttribute("Resource", list); session.setAttribute("oneLevelMenu", oneLevelMenu); return user==null?"false":"true"; } }LoginServiceImpl
@Service public class LoginServiceImpl implements ILoginService { @Autowired private BaseDao baseDao; @Override public User doLogin(String username, String pwd) throws Exception { String sql ="select * from user where user_name=? and pwd=?"; List param = new ArrayList(); param.add(username); param.add(pwd); List<User> list= baseDao.findBySQL(sql,User.class,param); return list.size()==0?null:list.get(0); } @Override public List<Resource> findResourceByUserId(String userId) throws Exception { String sql = "SELECT * FROM resource WHERE resource_id in" + " (SELECT resource_id FROM role_resource as rr WHERE rr.role_id " + " in (SELECT role_id from user_role as ur WHERE ur.user_id='" + userId + "'))"; List<Resource> list = baseDao.findBySQL(sql, Resource.class); return list; } @Override public List findOneLevelResource() throws Exception { String sql = "select resource_id as resourceId,resource_name as resourceName from resource where parentid=0 "; List<Resource> list = baseDao.findBySql3(sql, Resource.class); return list; } @Override public List<Emp> findEmpByUserId(String userId) throws Exception { String emp="select * from emp where user_name=(select user_name from user where user_id='" + userId + "')"; List<Emp> List= baseDao.findBySQL(emp, Emp.class); return List; } }