简易权限系统
package dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import entity.Function; import entity.Role; import entity.User; public class UserDao { DbUtil db=new DbUtil(); /** * 根据用户id 查出所有的角色 * @param uid * @return * @throws SQLException */ public List getAllRole(int uid) throws SQLException{ List list=new ArrayList(); String sql="SELECT j.jsid,j.jsname FROM yonghujuese yj INNER JOIN juese j ON yj.jsid=j.jsid WHERE yhid="+uid; ResultSet rs= db.executeQuery(sql, null); while (rs.next()) { int jsid=rs.getInt(1); String jsName=rs.getString(2); List gnlist=this.getFunctionById(jsid); //查出了角色的功能 Role r=new Role(jsid,jsName); r.setFunctions(gnlist); //还有功能 list.add(r); } db.closeAll(); return list; } /** * 根据角色id 查所有功能 * @param jsid * @return * @throws SQLException */ public List getFunctionById(int jsid) throws SQLException{ List list=new ArrayList(); String sql="SELECT g.gnid,gnname,url FROM juesegongneng jg INNER JOIN gongneng g ON jg.gnid=g.gnid WHERE jsid="+jsid; ResultSet rs=db.executeQuery(sql, null); while (rs.next()) { Function f=new Function(); f.setGnid(rs.getInt(1)); f.setGnName(rs.getString(2)); f.setUrl(rs.getString(3)); list.add(f); } db.closeAll(); return list; } /** * 得到所有用户 * @return * @throws SQLException */ public List getAllUsers() throws SQLException{ List list=new ArrayList(); String sql="select * from yonghu"; ResultSet rs= db.executeQuery(sql,null); while (rs.next()) { int uid=rs.getInt(1); String name=rs.getString(2); String pass=rs.getString(3); User a=new User(uid,name,pass); list.add(a); } db.closeAll(); return list; } /** * 取出所有的角色 * @return * @throws SQLException */ public List getAllRoles() throws SQLException{ List list=new ArrayList(); String sql="select * from juese"; ResultSet rs= db.executeQuery(sql,null); while (rs.next()) { int jsid=rs.getInt(1); String jname=rs.getString(2); Role r=new Role(jsid,jname); list.add(r); } db.closeAll(); return list; } public static void main(String[] args) throws SQLException { UserDao dao=new UserDao(); List list=dao.getAllRoles(); System.out.println(list); } }
package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.UserDao; public class CheckNameServlet extends HttpServlet { UserDao dao=new UserDao(); public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name=request.getParameter("stname"); System.out.println("得到你要检查的名字"+name); boolean ok=dao.checkUser(name); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print(ok); //向网页返回数据 一定是string型的 out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // fix 修改过 doGet(request, response); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
package servlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import dao.UserDao; import entity.Role; public class LoginServlet extends HttpServlet { UserDao dao=new UserDao(); public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 得到用户名和密码 String uid=request.getParameter("uid"); int uidint=0; if (uid==null) { uidint=1; }else{ uidint=Integer.parseInt(uid); } HttpSession se=request.getSession(true); //如果成功取出它的权限 try { List<Role> jslist=dao.getAllRole(uidint); se.setAttribute("jslist", jslist); } catch (SQLException e) { e.printStackTrace(); } response.sendRedirect("ui/index.html"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // fix 修改过 doGet(request, response); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
package servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.sun.org.apache.bcel.internal.generic.LLOAD; import dao.UserDao; /** * 取用户和取角色 * @author Administrator * */ public class SetRoleServlet extends HttpServlet { UserDao dao=new UserDao(); public void destroy() { super.destroy(); // Just puts "destroy" string in log } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession se=request.getSession(false); try { List ulist=dao.getAllUsers(); List rlist=dao.getAllRoles(); //所有用户和角色 se.setAttribute("ulist", ulist); se.setAttribute("rlist", rlist); } catch (Exception e) { // TODO: handle exception } response.sendRedirect("ui/setrole.jsp"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // fix 修改过 doGet(request, response); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; import dao.UserDao; public class TestServlet extends HttpServlet { UserDao dao=new UserDao(); public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("gbk"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); System.out.println("----------"); String ok[]= dao.getAllSheng(); Gson gson=new Gson(); String fh= gson.toJson(ok); out.print(fh); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // fix 修改过 doGet(request, response); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }