完全基于Servlet的简单用户管理系统

实现用户的增删改查

文件目录


1.1InfoInteract.java

package com.lbf.controller;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.lbf.domain.User;
import com.lbf.services.UserServices;

/**
 * Servlet implementation class InfoInteract
 */
@WebServlet("/InfoInteract")
public class InfoInteract extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
    
		public void destroy() {
			String filePath	= this.getServletContext().getRealPath("record.text");
			FileWriter fw=null;
			BufferedWriter bw=null;
			try {
				fw = new FileWriter(filePath);
				bw = new BufferedWriter(fw);
				String nums = (String) this.getServletContext().getAttribute("nums");
				bw.write(nums);
			} catch (FileNotFoundException e) {
				 
				e.printStackTrace();
			} catch (IOException e) {
				
				e.printStackTrace();
			}finally{
				if(bw!=null){
					try {
						bw.close();
						bw=null;
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
				if(fw!=null){
					try {
						fw.close();
						fw=null;
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
		}
	
		public void init() throws ServletException {
			String filePath	= this.getServletContext().getRealPath("record.text");
			FileReader fr=null;
			BufferedReader br=null;
			try {
				fr = new FileReader(filePath);
				br = new BufferedReader(fr);
				String nums = br.readLine();
				this.getServletContext().setAttribute("nums", nums);
			} catch (FileNotFoundException e) {
			
				e.printStackTrace();
			} catch (IOException e) {
			
				e.printStackTrace();
			}finally{
				if(br!=null){
					try {
						br.close();
						br=null;
					} catch (IOException e) {
				
						e.printStackTrace();
					}
				}
				if(fr!=null){
					try {
						fr.close();
						fr=null;
					} catch (IOException e) {
					
						e.printStackTrace();
					}
				}
			}
		}
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
				
				response.setContentType("text/html;charset=utf-8");
				request.setCharacterEncoding("utf-8");
				HttpSession session = request.getSession();
				String cie = request.getParameter("cie");
				String id = request.getParameter("id");
				String password = request.getParameter("password");
				UserServices  userservices = new UserServices();
				User user = new User(); 
				user.setId(Integer.parseInt(id));
				user.setPwd(password);
				 if(userservices.checkUser(user)){
					 session.setAttribute("user", userservices.getUserById(id));
					 ServletContext sc = this.getServletContext();
					 String nums = (String) sc.getAttribute("nums");
					 sc.setAttribute("nums", (Integer.parseInt(nums)+1)+"");
					 if(cie!=null&&cie.equals("kc")){
							Cookie cookie1 = new Cookie("id",id);
							Cookie cookie2 = new Cookie("pwd",password);
							cookie1.setMaxAge(7*24*3600);
							cookie2.setMaxAge(7*24*3600);
							response.addCookie(cookie1);
							response.addCookie(cookie2);
							//request.getRequestDispatcher("/MainGUI").forward(request, response);
							response.sendRedirect("/UserManager2/MainGUI");
						}else{
							response.sendRedirect("/UserManager2/MainGUI");
							//request.getRequestDispatcher("/MainGUI").forward(request, response);
						}
				 }else{
					 request.setAttribute("err", "输入账户或密码有误!");
					 request.getRequestDispatcher("/LoginGUI").forward(request, response);
				 }
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		doGet(request, response);
	}

}
1.2SearchUserCl.java

package com.lbf.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.lbf.domain.User;

/**
 * Servlet implementation class SerachUserCl
 */
@WebServlet("/SerachUserCl")
public class SerachUserCl extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
   
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
						response.setContentType("text/html;charset=utf-8");
						PrintWriter out = response.getWriter();
						ArrayList<User> al = (ArrayList<User>) request.getAttribute("users");
						 out.println("<table border=1 bordercolor=green>");
						 out.println("<tr><th>ID</th><th>用户名</th><th>邮箱</th><th>级别</th></tr>");
						 //获得每列信息
						 for(User u:al){
							 out.println("<tr><td>"+u.getId()+"</td><td>"
							 +u.getName()+"</td><td>"+u.getEmail()+"</td><td>"+u.getGrade()+"</td></tr>");
			
						 }
						 out.println("</table></br>");
						 out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
1.3UserClServlet.java

package com.lbf.controller;

import java.io.*;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.lbf.domain.User;
import com.lbf.services.UserServices;

/**
 * Servlet implementation class DelClServlet
 */
@WebServlet("/UserClServlet")
public class UserClServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
				 
				response.setContentType("text/html;charset=utf-8");
				request.setCharacterEncoding("utf-8");
				PrintWriter out = response.getWriter();
				UserServices userServices = new UserServices();
				String type = request.getParameter("type");
				if("del".equals(type)){
					String id = request.getParameter("id");
					if(userServices.DelUser(id)){
						request.setAttribute("info", "删除成功");
						request.getRequestDispatcher("/Ok").forward(request, response);	
					}else{
						request.setAttribute("info", "删除失败");
						request.getRequestDispatcher("/Err").forward(request, response);
				     }			
				}else if("gotoUpd".equals(type)){
					String id = request.getParameter("id");
					User user = userServices.getUserById(id);
					request.setAttribute("userinfo", user);
					request.getRequestDispatcher("/UpdUserGUI").forward(request, response);
			  }else if("update".equals(type)){
				    String id = request.getParameter("id");
				    String username = request.getParameter("username");
				    String email = request.getParameter("email");
				    String grade = request.getParameter("grade");
				    String passwd = request.getParameter("passwd");
					User user = new User(Integer.parseInt(id),username,email,Integer.parseInt(grade),passwd);
					if(userServices.updUser(user)){
						request.setAttribute("info", "修改成功");
						request.getRequestDispatcher("/Ok").forward(request, response);
					}else{
						request.setAttribute("info", "修改失败");
						request.getRequestDispatcher("/Err").forward(request, response);
					}
			  }else if("gotoAddUser".equals(type)){
				   request.getRequestDispatcher("/AddUserGUI").forward(request, response);
			  }else if("add".equals(type)){
				    String id = request.getParameter("id");
				    String username = request.getParameter("username");
				    String email = request.getParameter("email");
				    String grade = request.getParameter("grade");
				    String passwd = request.getParameter("passwd");
					//User user = new User(Integer.parseInt(id),username,email,Integer.parseInt(grade),passwd);
				    User user = new User();
				    user.setName(username);
				    user.setEmail(email);
				    user.setGrade(Integer.parseInt(grade));
				    user.setPwd(passwd);
					if(userServices.addUser(user)){
						request.setAttribute("info", "添加成功");
						request.getRequestDispatcher("/Ok").forward(request, response);
					}else{
						request.setAttribute("info", "添加失败");
						request.getRequestDispatcher("/Err").forward(request, response);
					}
			  }else if("gotoSearchUser".equals(type)){
				        request.getRequestDispatcher("/SearchUser").forward(request, response);
			  }else if("search".equals(type)){
				   String name=request.getParameter("search");
				   ArrayList<User> user=userServices.searchUser(name);
				   if(userServices.searchUser1(name)){
					   request.setAttribute("users",user);
					   request.getRequestDispatcher("/SerachUserCl").forward(request, response);
				   }else{
					   request.setAttribute("info", "查找用户不存在");
					   request.getRequestDispatcher("/Err").forward(request, response);
				   }
			  }
				
				
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
2.User.java

package com.lbf.domain;

public class User {
	private int id;
	private String pwd;
	private String name;
	private String email;
	private int grade;
	
	public User() {
		super();
	}
	
	public User(int id, String name, String email, int grade, String pwd) {
		this.id = id;
		this.name = name;
		this.email = email;
		this.grade = grade;
		this.pwd = pwd;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public int getGrade() {
		return grade;
	}
	public void setGrade(int grade) {
		this.grade = grade;
	}
	
	
}

3.CountFilter.java

package com.lbf.filter;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class CountFilter implements Filter {
	private String charset = null; 
	private ServletContext context = null; 
	private String path = ""; 
	@Override
	public void destroy() {
		FileWriter fw = null;
    	BufferedWriter bw = null;
    	String nums = (String) context.getAttribute("nums");
		try {
			/*String path1 = context.getRealPath("");
	    	 path = path1+"record.text";*/
	
    		fw = new FileWriter(path);
			bw = new BufferedWriter(fw);
			bw.write(nums);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(bw!=null){
				try {
					bw.close();
					bw = null;
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(fw!=null){
				try {
					fw.close();
					fw = null;
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
		
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
	    String path = ((HttpServletRequest)request).getServletPath();//获取每次访问的action的相对路径
	    if(path.endsWith("/LoginGUI")){ 
		  context.setAttribute("nums",Integer.parseInt(context.getAttribute("nums").toString())+1+""); 
		  } 
	    request.setCharacterEncoding(charset); 
	    response.setCharacterEncoding(charset); 
	    chain.doFilter(request, response);
		
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		FileWriter ft = null;
    	BufferedWriter bw = null;
    	FileReader fr = null;
    	BufferedReader br = null;
    	String nums = null;
    	System.out.println("filter初始化"); 
    	//获取编码格式 
    	charset = arg0.getInitParameter("encoding"); 
    	//获取servletContext 
    	context = arg0.getServletContext(); 
    	System.out.println(charset); 
    	String path1 = context.getRealPath("");
        path = path1+"record.text";
    	File file = new File(path);
    	
    	if(!file.exists()){
    		file = new File(path);
    	}
    		try {
				ft = new FileWriter(file);
				bw = new BufferedWriter(ft);
				bw.write(1+"");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				if(bw!=null){
					try {
						bw.close();
						bw = null;
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				if(ft!=null){
					try {
						ft.close();
						ft=null;
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
				}
			}
    	try {
    		fr = new FileReader(path);
			br = new BufferedReader(fr);
			nums = br.readLine();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(br!=null){
				try {
					br.close();
					br = null;
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(fr!=null){
				try {
					fr.close();
					fr = null;
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
    	context.setAttribute("nums", nums);
		
	}

}

4.UserServices

package com.lbf.services;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;

import com.lbf.domain.User;
import com.lbf.util.SqlHelper;
public class UserServices {
	     
		public boolean DelUser(String id){
			boolean b = true;
			String sql = "delete from users where id=?";
			String parameters[]={id};
			try {
				SqlHelper.executeUpdate(sql, parameters);
			} catch (Exception e) {
				b = false;
			}
			return b;
			
		}
		public User getUserById(String id){
			User user = new User();
			String sql = "select * from users where id=?";
			String parameters[] = {id};
			ResultSet rs = SqlHelper.executeQuery(sql, parameters);
			
			try {
				if(rs.next()){
					user.setId(rs.getInt(1));
					user.setName(rs.getString(2));
					user.setEmail(rs.getString(3));
					user.setGrade(rs.getInt(4));
					user.setPwd(rs.getString(5));
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getCt());
			}
			return user;
		}
	     //得到页数
		public int getPageSize(int pageCount){
			int pageSum = 0;
			String sql = "select count(*) from users ";
			ResultSet rs = SqlHelper.executeQuery(sql, null);
			try {
				rs.next();
				pageSum = rs.getInt(1);
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return (pageSum-1)/pageCount+1;
		}
		
		public ArrayList getUsersByPage(int pageNow,int pageCount){
			ArrayList<User> al = new ArrayList<User>();
			String sql = "select * from (select t.*, rownum rn from (select * from users order by id) t "
					+ "where rownum<="+pageNow*pageCount+") where rn>="+(pageCount*(pageNow-1)+1)+"";
			ResultSet rs = SqlHelper.executeQuery(sql, null);
			//二次封装
			try {
				while(rs.next()){
					User user = new User();
					user.setId(rs.getInt(1));
					user.setName(rs.getString(2));
					user.setEmail(rs.getString(3));
					user.setGrade(rs.getInt(4));
					al.add(user);
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getCt());
			}
			return al;
		}
		public boolean checkUser(User user){
	        boolean b = false;
	        String sql = "select * from users where id=? and passwd=?";
	        String parameters[]={user.getId()+"",user.getPwd()};
	        ResultSet rs = SqlHelper.executeQuery(sql, parameters);
			 try {
				if(rs.next()){
					b=true;
				 }
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getCt());
			}
		return b;
	}
		public boolean updUser(User user){
			    boolean b = true;
		        String sql = "update users set  username=?,email=?,grade=?,passwd=? where id=?";
		        String parameters[]={user.getName(),user.getEmail(),user.getGrade()+"",user.getPwd(),user.getId()+""};
				 try {
					SqlHelper.executeUpdate(sql, parameters);
				} catch (Exception e) {
					b=false;
				}
			return b;
		}
		public boolean addUser(User user){
			  boolean b = true;
		        //String sql = "insert into users values(?,?,?,?,?)";
			    //设置成自增长模式
		        String sql = "insert into users values(user_sequ.nextval,?,?,?,?)";
		        //String parameters[]={user.getId()+"",user.getName(),user.getEmail(),user.getGrade()+"",user.getPwd()};
		        String parameters[]={user.getName(),user.getEmail(),user.getGrade()+"",user.getPwd()};
				 try {
					SqlHelper.executeUpdate(sql, parameters);
				  }catch (Exception e) {
					b=false;
				}
			return b;
		}
		public ArrayList searchUser(String name){
			User user = new User();
			ArrayList<User> al = new ArrayList<User>();
			String sql ="select * from users where username=?";
			String[] parametres={name};
			ResultSet rs = SqlHelper.executeQuery(sql, parametres);
			try {
				if(rs.next()){
					user.setId(rs.getInt(1));
					user.setName(rs.getString(2));
					user.setEmail(rs.getString(3));
					user.setGrade(rs.getInt(4));
					al.add(user);
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getConnection());
			}
			return al;
			 
		}
		public boolean searchUser1(String name){
			boolean b = false;
			User user = new User();
			ArrayList<User> al = new ArrayList<User>();
			String sql ="select * from users where username=?";
			String[] parametres={name};
			ResultSet rs = SqlHelper.executeQuery(sql, parametres);
			try {
				if(rs.next()){
					b = true;
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return b;
		}
	
}
5.SqlHelper.java

package com.lbf.util;
import java.io.*;

import java.sql.*;

import java.util.Properties;
public class SqlHelper {
		
	private static Connection ct = null;
	private static PreparedStatement ps = null;
	private static ResultSet rs = null;
	private static CallableStatement cs = null;
	//连接数据库参数
	private static String url="";
	private static String username="";
	private static String password="";
	private static String driver="";
	
	private static Properties pp=null;
	private static InputStream fis=null;
	
	public static CallableStatement getCs()
    {
        return cs;
    }
		static{
			try {
				pp=new Properties();
				//fis= new FileInputStream("dbinfo.properties");
				fis=SqlHelper.class.getClassLoader().getResourceAsStream("com/lbf/util/dbinfo.properties");
				pp.load(fis);
				url=pp.getProperty("url");
				username = pp.getProperty("username");
				password = pp.getProperty("password");
				driver = pp.getProperty("driver");
				Class.forName(driver);
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				try {
					if(fis!=null){
					fis.close();
					fis = null;
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		  //得到连接
	    public static Connection getConnection()
	        {
	            try{
	            ct = DriverManager.getConnection(url,username,password);
	            	}
	            catch(Exception e) {e.printStackTrace();}
	            return ct;
	        }
	    
	    
	//*************callPro1存储过程函数1*************    
	    public static CallableStatement callPro1(String sql,String[] parameters)
	    {
	        try{
	            ct = getConnection();
	            cs = ct.prepareCall(sql);
	            if(parameters!=null){
	                for(int i=0;i<parameters.length;i++){
	                 cs.setObject(i+1,parameters[i]);
	                }
	            }    
	            cs.execute();
	        }
	        catch(Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage());}
	        finally
	        { close(rs,cs,ct);}
	        return cs;
	    }
	    
	//*******************callpro2存储过程2************************
	public static CallableStatement callPro2(String sql,String[] inparameters,
	Integer[] outparameters)
	{
	    try
	    {
	        ct = getConnection();
	        cs = ct.prepareCall(sql);
	        if(inparameters!=null)
	        {
	            for(int i=0;i<inparameters.length;i++)
	            {
	                cs.setObject(i+1,inparameters[i]);
	            }
	        }
	    //cs.registerOutparameter(2,oracle.jdbc.OracleTypes.CURSOR);
	        if(outparameters!=null) 
	        {
	            for(int i=0;i<outparameters.length;i++)
	            {
	                cs.registerOutParameter(inparameters.length+1+i,outparameters[i]);
	            }
	        }
	        cs.execute();
	    }
	    catch(Exception e) {
	        e.printStackTrace(); throw new RuntimeException(e.getMessage());
	    }
	    finally
	    {
	        
	    }
	    return cs;
	}
	    public static ResultSet executeQuery(String sql,String[] parameters)
	    {
	        try
	        {
	            ct=getConnection();
	            ps=ct.prepareStatement(sql);
	            if(parameters!=null)
	            {
	                for(int i=0;i<parameters.length;i++)
	                {
	                    ps.setString(i+1,parameters[i]);
	                }
	            }
	            rs = ps.executeQuery();
	        }
	        catch(Exception e)
	        {
	            e.printStackTrace();
	            throw new RuntimeException(e.getMessage());
	        }
	        finally
	        {
	            
	        }
	        return rs;
	    }
	    
	    
	    public static Connection getCt()
	    {
	        return ct;
	    }

	    public static PreparedStatement getPs()
	    {
	        return ps;
	    }

	    public static ResultSet getRs()
	    {
	        return rs;
	    }

	    
	    
	    public static void executeUpdate2(String[] sql,String[][] parameters)
	    {
	        try
	        {
	            ct = getConnection();
	            ct.setAutoCommit(false);
	            
	            for(int i=0;i<sql.length;i++)
	            {
	                
	                if(null!=parameters[i])
	                {
	                    ps = ct.prepareStatement(sql[i]);
	                    for(int j=0;j<parameters[i].length;j++)
	                    {
	                        ps.setString(j+1,parameters[i][j]);
	                    }
	                    ps.executeUpdate();
	                }
	                
	            }
	            
	            
	            ct.commit();
	            
	            
	        }catch (Exception e)
	        { 
	            e.printStackTrace();
	            try
	            {
	                ct.rollback();
	            }
	            catch (SQLException e1)
	            {
	                e1.printStackTrace();
	            }
	            throw  new RuntimeException(e.getMessage());
	        }finally
	        {
	            close(rs,ps,ct);
	        }
	        
	    }
	    
	    //先写一个update、delete、insert
	    //sql格式:update 表名 set 字段名 =?where 字段=?
	    //parameter神应该是(”abc“,23)
	    public static void executeUpdate(String sql,String[] parameters)
	    {
	        try
	        {
	            ct=getConnection();
	            ps = ct.prepareStatement(sql);
	            if(parameters!=null)
	            {
	                for(int i=0;i<parameters.length;i++)
	                {
	                    ps.setString(i+1,parameters[i]);
	                }
	                            
	            }
	            ps.executeUpdate();
	        }
	        catch(Exception e)
	        {
	            e.printStackTrace();//开发阶段
	            //抛出异常
	            //可以处理,也可以不处理
	            throw new RuntimeException(e.getMessage());
	        }
	        finally
	        {
	            close(rs,ps,ct);
	        }
	    }
	    
	    public static void close(ResultSet rs,Statement ps,Connection ct)
	    {
	        //关闭资源(先开后关)
	        if(rs!=null)
	        {
	            try{
	                rs.close();
	            }catch(SQLException e){
	                e.printStackTrace();
	            }
	            rs=null; 
	        }
	        if(ps!=null)
	        {
	            try
	            {
	                ps.close();
	            }
	            catch(SQLException e)
	            {
	                e.printStackTrace();
	            }
	            ps=null;
	        }
	        if(null!=ct)
	        {
	            try{
	                ct.close();
	            }
	            catch(SQLException e) {
	                e.printStackTrace();
	            }
	            ct=null;
	        }
	}
	    
}
6.1AddUserGUI.java

package com.lbf.view;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.lbf.domain.User;

/**
 * Servlet implementation class AddUserGUI
 */
@WebServlet("/AddUserGUI")
public class AddUserGUI extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		 response.setContentType("text/html;charset=utf-8");
			PrintWriter out = response.getWriter();
			User user = (User) request.getAttribute("userinfo");
			out.println("<h1>添加用户</h1>");
			out.println("<form action='/UserManager2/UserClServlet?type=add' method='post'/>");
			out.println("<table border=1 bordercolor=green>");
			//out.println("<tr><td>id</td><td><input type='text' name='id'/></td></tr>");
			out.println("<tr><td>用户名</td><td><input type='text' name='username'/></td></tr>");
			out.println("<tr><td>email</td><td><input type='text' name='email'/></td></tr>");
			out.println("<tr><td>级别</td><td><input type='text' name='grade'/></td></tr>");
			out.println("<tr><td>密码</td><td><input type='password' name='passwd'/></td></tr>");
			//out.println("<tr><td><input type='submit' value='修改'/> </td><td><input type='reset' value='重置'/></td></tr>");
			out.println("</table>");
			out.println("<input type='submit' value='提交'/> <input type='reset' value='重置'/>");
			out.println("</form>");
			
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

6.2Err.java

package com.lbf.view;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Err
 */
@WebServlet("/Err")
public class Err extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		out.println("对不起"+request.getAttribute("info")+"!</br>");
		out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
6.3LoginGUI.java

package com.lbf.view;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class LoginGUI
 */
@WebServlet("/LoginGUI")
public class LoginGUI extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
			            
;					response.setContentType("text/html;charset=utf-8");
					PrintWriter out = response.getWriter();
					String id="";
					String pwd = "";
					Cookie[] cookies =request.getCookies();
					if(cookies!=null){
						for(Cookie cookie:cookies){
							if(cookie.getName().equals("id")){
								id = cookie.getValue();
							}
							else if(cookie.getName().equals("pwd")){
								pwd = cookie.getValue();
							}
						}
					}
					out.println("<body bgcolor='#d0ffdf'>");
					out.println("<img src='images/fly.jpg'  height='128'/><hr/>");
					out.println("<h1>用户登录</h1><br/>");
					out.println("<form action='/UserManager2/InfoInteract' method='post'>");
					out.println("账号:<input type='text' name='id' value='"+id+"' /><br/>");
					out.println("密码:<input type='password' name='password' value='"+pwd+"'/><br/>");
					out.println("是否保存登入信息<input type='checkbox' name='cie' value='kc'/><br/>");
					out.println("<input type='submit' value='登入'/>");
					out.println("<input type='reset' value='重置'/></br>");
					out.println("</form>");
					out.println("</body>");
					
					String errinfo = (String) request.getAttribute("err");
					if(errinfo!=null){
						out.println(errinfo);
						}
					out.println("</br><img src='images/horse.jpg'  height='128'/><hr/>");
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}
6.4MainGUI.java

package com.lbf.view;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.lbf.domain.User;

/**
 * Servlet implementation class MainGUI
 */
@WebServlet("/MainGUI")
public class MainGUI extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
					
						response.setContentType("text/html;charset=utf-8");
						request.setCharacterEncoding("utf-8");
						PrintWriter out = response.getWriter();
						ServletContext sc = this.getServletConfig().getServletContext();
						String nums = (String) sc.getAttribute("nums");
						//out.println("<body background='images/mbg.jpg'/>");
						HttpSession session = request.getSession();
						User user = (User) session.getAttribute("user");
						//String name1 = user.getName();
						//System.out.println(name1);
					   // out.print("<h1>欢迎"+user.getName()+"登入</h1>");
					    Cookie[] cookies = request.getCookies();
						boolean b = false;
						if(cookies!=null){
							for(Cookie cookie:cookies){
								String name = cookie.getName();
								if("logintime".equals(name)){
									out.print("您上次登入的时间:"+cookie.getValue());
									SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
								    String nowtime = sdf.format(new Date());
								    cookie.setValue(nowtime);
								    cookie.setMaxAge(7*24*3600);
								    response.addCookie(cookie);
								    b = true;
								    break;
								}	
							}
						}
						if(!b){
							out.println("您是第一次登录");
							SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
						    String nowtime = sdf.format(new Date());
						    Cookie cookie = new Cookie("logintime",nowtime);
						    cookie.setMaxAge(7*24*3600);
						    response.addCookie(cookie);
						}
					    
					    out.println("<a href='/UserManager2/LoginGUI'>返回登入界面</a><br/>");
					    out.println("<a href='/UserManager2/ManagerUser'>管理用户</a><br/>");
					    out.println("<a href='/UserManager2/UserClServlet?type=gotoAddUser'>添加用户</a><br/>");
					    out.println("<a href='/UserManager2/UserClServlet?type=gotoSearchUser'>查找用户</a><br/>");
					    out.println("<a href='/UserManager2/LoginGUI'>退出系统</a><br/>");
					    out.println("该页面第"+nums+"次被访问");
						
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		doGet(request, response);
	}

}
6.5ManagerUser.java

package com.lbf.view;

import java.io.*;
import java.sql.*;
import java.util.*;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.lbf.domain.User;
import com.lbf.services.UserServices;

/**
 * Servlet implementation class ManagerUser
 */
@WebServlet("/ManagerUser")
public class ManagerUser extends HttpServlet {
	private static final long serialVersionUID = 1L;
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
					Connection cn = null;
			        PreparedStatement  ps = null;
			        ResultSet  rs = null;
			        
			        int pageNow = 1;
			        //得到该页是第几页
			        String spg = request.getParameter("pageNow");
			        //防止登入时为空,做出判断
			        if(spg!=null){
			        pageNow = Integer.parseInt(spg);
			        }
			        
			        int pageCount = 3;//每页显示条数
			        
			       
			     
			  
			        int pageSum = 1; 		
					response.setContentType("text/html;charset=utf-8");
					request.setCharacterEncoding("utf-8");
					PrintWriter out = response.getWriter();
					
					out.println("<script type='text/javascript' lanauage='javascript'> "
							+ "function gotoPage(){"
							+ "var pgn=document.getElementById('pgn');"
							+ "var pageNow=pgn.value;"
							+ "window.open('/UserManager2/ManagerUser?pageNow='+pageNow,'_self');}"
							+ "function checkDel(){"
							+ " return window.confirm('是否删除')}");
					out.println("</script>");
					out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
					out.println("<a href='/UserManager2/LoginGUI'>退出系统</a>");
					try {
						
						 UserServices userservices= new UserServices();
					     int pageSize = userservices.getPageSize(pageCount);
						 ArrayList<User>  al = userservices.getUsersByPage(pageNow, pageCount);
						 out.println("<table border=1 bordercolor=green>");
						 out.println("<tr><th>ID</th><th>用户名</th><th>邮箱</th><th>级别</th><th>删除用户</th><th>修改用户</th></tr>");
						 //获得每列信息
						 for(User u:al){
							 out.println("<tr><td>"+u.getId()+"</td><td>"
							 +u.getName()+"</td><td>"+u.getEmail()+"</td><td>"+u.getGrade()+"</td><td><a onClick='return checkDel()' href='/UserManager2/UserClServlet?type=del&id="+u.getId()+"'>删除用户</a>"
							 		+ "</td><td><a href='/UserManager2/UserClServlet?type=gotoUpd&id="+u.getId()+"'>修改用户</a></td></tr>");
			
						 }
						 out.println("</table></br>");
						 //判断是否是第一页
						 if(pageNow!=1){
						 out.println("<a href='/UserManager2/ManagerUser?pageNow="+(pageNow-1)+"'><上一页></a>");
						 }
						 //按顺序显示页数
						 for(int i=1;i<=pageSize;i++){
							 out.println("<a href='/UserManager2/ManagerUser?pageNow="+i+"'><"+i+"></a>");
						 }
						 //判断是否是最后一页
						 if(pageNow!=pageSize){
						 out.println("<a href='/UserManager2/ManagerUser?pageNow="+(pageNow+1)+"'><下一页></a>");
						 }
						 out.println("   第"+pageNow+"页"+"/共"+pageSize+"页");
						 out.println("<br/>跳转到第<input type='text' id='pgn' name='pageNow'/>页<input type='button' οnclick='gotoPage()' value='跳转'/>");
					}catch(Exception e){
						e.printStackTrace();
					}

	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

6.6Ok.java

package com.lbf.view;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Ok
 */
@WebServlet("/Ok")
public class Ok extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		out.println("恭喜你,"+request.getAttribute("info")+"!</br>");
		out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
6.7SearchUser.java

package com.lbf.view;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Ok
 */
@WebServlet("/Ok")
public class Ok extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		out.println("恭喜你,"+request.getAttribute("info")+"!</br>");
		out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
6.8UpdUserGUI.java

package com.lbf.view;

import java.io.*;


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.lbf.domain.User;
import com.lbf.services.UserServices;

/**
 * Servlet implementation class UpdClServlet
 */
@WebServlet("/UpdUserGUI")
public class UpdUserGUI extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
			
		    response.setContentType("text/html;charset=utf-8");
			PrintWriter out = response.getWriter();
			User user = (User) request.getAttribute("userinfo");
			out.println("<h1>修改用户</h1>");
			out.println("<form action='/UserManager2/UserClServlet?type=update' method='post'/>");
			out.println("<table border=1 bordercolor=green>");
			out.println("<tr><td>id</td><td><input type='text' name='id' readonly value='"+user.getId()+"'/></td></tr>");
			out.println("<tr><td>用户名</td><td><input type='text' name='username' value='"+user.getName()+"'/></td></tr>");
			out.println("<tr><td>email</td><td><input type='text' name='email' value='"+user.getEmail()+"'/></td></tr>");
			out.println("<tr><td>级别</td><td><input type='text' name='grade' value='"+user.getGrade()+"'/></td></tr>");
			out.println("<tr><td>密码</td><td><input type='text' name='passwd' value='"+user.getPwd()+"'/></td></tr>");
			//out.println("<tr><td><input type='submit' value='修改'/> </td><td><input type='reset' value='重置'/></td></tr>");
			out.println("</table>");
			out.println("<input type='submit' value='修改'/> <input type='reset' value='重置'/>");
			out.println("</form>");
			
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

7dbinfo.properties

url = jdbc:oracle:thin:@localhost:1521:orcl
username = scott   
driver = oracle.jdbc.driver.OracleDriver
password = tiger 
8.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>UserManager2</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
     <filter-name>CountFilter</filter-name>
     <filter-class>com.lbf.filter.CountFilter</filter-class>
     <init-param>
         <param-name>encoding</param-name>
         <param-value>UTF-8</param-value>
     </init-param>
  </filter>
  <filter-mapping>
      <filter-name>CountFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>











  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值