简易权限系统

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
    }

}

 

posted @ 2012-10-20 19:22  邹晟  阅读(329)  评论(0编辑  收藏  举报