zoukankan      html  css  js  c++  java
  • UserManageSys

    JSP部分:

    err.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'login.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body bgcolor="pink"> 
      <center>
       <!-- 引入一张图片 -->
       
       	<h1>操作失败!</h1>
       	<a href="mian.jsp">返回主界面</a>
       	<br>
     
       </center>
      </body>
    </html>

    login.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'login.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body bgcolor="pink"> 
      <center>
      <%
      
      		//推断是否正常登陆
      		String err=request.getParameter("err");
      		
      		if(err != null)
      		{
      			if(err.equals("1"))
      			{
      				out.println("<font color=yellow size=7>用户没有正常登陆,请登陆!!!</font><br>");
      			}
      		}
      
       %>
       <!-- 引入一张图片 -->
       
    <img src="image/logo1.png"></img>
       	
       	<hr>
       	用户登录 <br>
    <!--   	<form action="loginCl.jsp" method="post">	 -->
    	<form action="LoginClServlet" method="post">
       	用户名: <input type="text" name="username"><br>
       	 密  码: <input type="password" name="passwd"><br>
       	 <input type="submit" value="登录">
       	 <input type="reset" value="重置">
       	 <INPUT type="radio" name="P" value="A">学生
    	<INPUT type="radio" name="P" value="B">老师
       	</form>
       	<hr/>
       
       </center>
      </body>
    </html>
    

    loginCl.jsp这个事实上已经没实用了,仅仅只是是一个纪念的过程而已

    <%@ page language="java" import="java.util.*,java.sql.*,com.xf.model.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'loginCl.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body>
       <%
       	//接受用户名和,password,完毕对用户名的验证
       	String u=request.getParameter("username");
       	
       	String p=request.getParameter("passwd");
       	
    /*   	
       	//验证,先简单验证一下,不到数据库上验证
       	if(u.equals("xiaofeng") && p.equals("123"))
       	{
       		//合法,跳转到wel.jsp
       		//怎样把loginCl.jsp得到的数据传给下一个页面
       		//1.cookie2.sessio3.response.sendRedirect
       		response.sendRedirect("wel.jsp?user="+u);
       	}
       	else
       	{
       		//不合法的用户
       		response.sendRedirect("login.jsp");
       	}
     */
     /*
     	//通过数据库验证账号password
    	//1、载入驱动 
    	Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    	//2、得到链接
    	Connection ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=spdb1","sa","");
    	//3、创建Statement
    	Statement sm=ct.createStatement();
    	//4、查询
    	ResultSet rs=sm.executeQuery("select passwd from users where username='"+u+"'");	
    	//5、依据查到的结果来推断
    	if(rs.next())
    	{
    		if(rs.getString(1).equals(p))
    		{
    			//合法
    			response.sendRedirect("wel.jsp?user="+u);
    		}
    		else
    		{
    			response.sendRedirect("login.jsp?errNo=1");
    		}
    	}
    	else
    	{
    		//账号错误
    		response.sendRedirect("login.jsp?errNo=2");
    	}
      */
      	UserBeanCl ubc=new  UserBeanCl();
      	
      	if(ubc.checkUser(u,p))
      	{
      		response.sendRedirect("wel.jsp?user="+u);
      	}
      	else
      	{
      		response.sendRedirect("login.jsp");
      	}
       
        %>
      </body>
    </html>
    

    main_2.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'mian.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	
      </head>
      
      <body bgcolor="pink">
      <center>
      <!-- 引入界面!! -->
    	<hr> 选择操作选项<hr>
    	<a href="UserClServlet?pageNow=1&flag=fenyes">查看学习情况</a><br>
    	<a href="addUser.jsp">加入用户</a><br>
    	<hr>
      
      </center>
      </body>
    </html>

    mian.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'mian.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	
      </head>
     
      <body bgcolor="pink">
      <center>
      <!-- 引入界面!! -->
    
    	<hr> 选择操作选项<hr>
    	<a href="UserClServlet?pageNow=1&flag=fenye">管理用户</a><br>
    	<hr>
       
      </center>
      </body>
    </html>
    

    suc.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'login.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body bgcolor="pink"> 
      <center>
       <!-- 引入一张图片 -->
       
    
       <hr>
       	<h1>操作成功!</h1>
       	<a href="mian.jsp">返回主界面</a>
       	<hr>
    
       </center>
      </body>
    </html>

    updv_grade.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'updUser.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
     <body bgcolor="pink">
     <%
     	long Sno=Long.parseLong(request.getParameter("Sno"));
      %>
      <center>
      <!-- 引入界面!! -->
    
    	<h1>请输入用户信息</h1>
    	<form action="UserClServlet?flag=updv_grade&Sno=<%=Sno %>" method="post">
    	<table border="1">
    	<tr> <td bgcolor="yellow">课程号</td> <td><input type="text" name="Cno" /></td> </tr>
    	<tr> <td bgcolor="silver">课程名</td> <td><input type="text" name="Cname" /></td> </tr>
    	<tr> <td bgcolor="yellow">任课老师</td> <td><input type="text" name="Tname" /></td> </tr>
    	<tr> <td bgcolor="silver">分数</td> <td><input type="text" name="Grade" /></td> </tr>
    	
    	<tr> <td> <input type="submit" value="改动用户" /> </td> 
    	<td><input type="reset" value="重置"/></td> </tr>
    	
    	</table>
    	
    	</form>
    	
    	<hr>
        
      </center>
      </body>
    </html>
    

    wel.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'updUser.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
     <body bgcolor="pink">
     <%
     	long Sno=Long.parseLong(request.getParameter("Sno"));
      %>
      <center>
      <!-- 引入界面!! -->
    
    	<h1>请输入用户信息</h1>
    	<form action="UserClServlet?flag=updv_grade&Sno=<%=Sno %>" method="post">
    	<table border="1">
    	<tr> <td bgcolor="yellow">课程号</td> <td><input type="text" name="Cno" /></td> </tr>
    	<tr> <td bgcolor="silver">课程名</td> <td><input type="text" name="Cname" /></td> </tr>
    	<tr> <td bgcolor="yellow">任课老师</td> <td><input type="text" name="Tname" /></td> </tr>
    	<tr> <td bgcolor="silver">分数</td> <td><input type="text" name="Grade" /></td> </tr>
    	
    	<tr> <td> <input type="submit" value="改动用户" /> </td> 
    	<td><input type="reset" value="重置"/></td> </tr>
    	
    	</table>
    	
    	</form>
    	
    	<hr>
        
      </center>
      </body>
    </html>
    

    wel_2.jsp

    <%@ page language="java" import="java.util.*,java.sql.*,com.xf.model.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'wel.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	<script type="text/javascript">
    	<!--
    		function abc()
    		{
    			return window.confirm("确定要改动?");
    		}
    	-->
    	</script>
      </head>
      
      <body bgcolor="pink">
      <%
      		//假设用户正常登陆,则保存了session的值
      		String u=(String)session.getAttribute("myName");
      		
      		//假设非法登陆,jsp内置对象,response,request,out,session
      		if(u == null)
      		{
      			response.sendRedirect("login.jsp?err=1");
      			
      			return;
      		}
      		
      	
       %>
       
       
      <center> admin: <%=u %><br>
     	 <a href="login.jsp">返回又一次登录</a>  <a href="mian.jsp">返回主界面</a> 
    <hr>
    <h1>用户信息列表</h1>
    <%
    /*
    	//定义四个变量
    	int pageNow=1;	//默认从第一页開始
    
    	int pageSize=3;		//一共的页数
    	int rowCount=0;			//这个从数据库查询
    	int pageCount=0;	//通过rowCount和pageSize求得
    
    	
    	String s_pageNow=request.getParameter("pageNow");
    
    	
    	if(s_pageNow != null)
    	{
    		//从超链接处得到值
    		pageNow=Integer.parseInt(s_pageNow);
    	}
    
    
    	//1.载入驱动
    	Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    	//2.得到链接
    	Connection ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=spdb1","sa","");
    	//3.创建statement
    	Statement sm=ct.createStatement();
    	//4.到数据库中查询
    	ResultSet rs=sm.executeQuery("select count(*) from users");
    	//5.对查询结果进行推断
    
    	//这里注意一定要next,不然GG思密达
    	if(rs.next())
    	{
    		rowCount=rs.getInt(1);
    	}
    	
    	//计算pageCount,算法非常多
    	if(rowCount%pageSize == 0)
    	{
    		pageCount=rowCount/pageSize;
    	}
    	else
    	{
    		pageCount=rowCount/pageSize+1;
    	}
    	
    	//查出要显示出来的记录
    	rs=sm.executeQuery("select top "+pageSize+" * from users where userId not in (select top "
    	+pageSize*(pageNow-1)+" userId from users)");
    	
    */
    
    	//调用UserBeanCl的方法(创建一个UserBeanCl的实例然后调用他的方法),完毕分页显示
    //	UserBeanCl ubc=new UserBeanCl();
    //	ArrayList a1=ubc.getUsersByPage(pageNow);
    	//要显示的用户信息从request中取
    	ArrayList a1=(ArrayList)request.getAttribute("result");
    	
    	
    	//显示出来
    	%>
    	<table border="1">
    	<tr bgcolor="pink"><td>学号</td><td>课程号</td><<td>课程名</td><td>任课老师</td><td>分数</td></tr>
    	<%
    		//while(rs.next())
    	//	String [] color={"yellow","pink","yello"};
    		for(int i=0 ; i<a1.size() ; ++i)
    		{
    		//重arraylist中取出UserBean
    		v_gradeBean vb=(v_gradeBean)a1.get(i);
    			%>
    			<tr bgcolor="yellow"><td><%=vb.getSno() %></td><td><%=vb.getCno() %></td><td><%=vb.getCname() %></td>
    			<td><%=vb.getTname() %></td><td><%=vb.getGrade() %></td>
    			<%
    		}	
    	 %>
    	</table>
    	<%
    	
    	//首页
    	out.println("<a href=UserClServlet?flag=fenyes&pageNow="+1+">[首页]</a>");
    	
    	//String s_pageNow=(String)request.getAttribute("pageNow");
    	int pageNow=Integer.parseInt((String)request.getAttribute("pageNow"));
    	//上一页
    	if(pageNow != 1)
    	{
    		out.println("<a href=UserClServlet?flag=fenyes&pageNow="+(pageNow-1)+">[上一页]</a>");
    	}
    	
    	//得到pageCount
    //	int pageCount=ubc.getPageCount();
    	String s_pageCount=(String)request.getAttribute("pageCount");
    	int pageCount=Integer.parseInt(s_pageCount);
    	
    	//显示超链接
    	for(int i=1 ; i<=pageCount ; ++i)
    	{
    		out.println("<a href=UserClServlet?flag=fenyes&pageNow="+i+">["+i+"]</a>");
    	}
    	
    	//下一页
    	if(pageNow != pageCount)
    	{
    		out.println("<a href=UserClServlet?flag=fenyes&pageNow="+(pageNow+1)+">[下一页]</a>");
    	}
    	
    	//尾页
    	out.println("<a href=UserClServlet?flag=fenyes&pageNow="+pageCount+">[尾页]</a>");
    	
    %>
    <br>
    
      </center>  
      </body>
    </html>

    javaBean部分

    ConnDB.java

    /**
     * 功能:得到数据库的链接
     * 时间:2014年6月4日10:47:57
     * 作者:cutter_point
     */
    package com.xf.model;
    
    import java.sql.*;
    
    public class ConnDB
    {
    	private Connection ct=null;
    	
    	public Connection getConn()
    	{
    		try
    		{
    			//1、载入驱动
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    			//2、得到链接
    			ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=spdb1","sa","");
    		} catch (Exception e)
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    		return ct;
    	}
    }
    

    Tools.java

    public class Tools
    {
    	//提供一个方法,转换中文乱码
    	public static String getNewString(String input)
    	{
    		String result="";
    		
    		try
    		{
    			result=new String(input.getBytes("iso-8859-1"),"gb2312");
    		} 
    		catch (Exception e)
    		{
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    		
    		return result;
    		
    	}
    }
    

    UserBean.java

    /**
     * 功能:这是一个javabean,相应users表,代表数据
     * 时间:2014年6月4日10:39:33
     * 作者:cutter_point 
     */
    
    package com.xf.model;
    
    public class UserBean
    {
    	private int userId;
    	private String username;
    	private String passwd;
    	private String email;
    	private int grade;
    	public int getUserId()
    	{
    		return userId;
    	}
    	public void setUserId(int userId)
    	{
    		this.userId = userId;
    	}
    	public String getUsername()
    	{
    		return username;
    	}
    	public void setUsername(String username)
    	{
    		this.username = username;
    	}
    	public String getPasswd()
    	{
    		return passwd;
    	}
    	public void setPasswd(String passwd)
    	{
    		this.passwd = passwd;
    	}
    	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;
    	}
    	
    	
    }
    

    UserBeanCl.java

    /**
     * 功能:这是一个处理类,也叫做bo,主要封装对users表的各种操作
     * 		每个UserBean对象放到ArrayList里面去,更早关闭和数据库链接
     * 时间:2014年6月4日10:43:48
     */
    package com.xf.model;
    
    import java.io.InputStream;
    import java.io.Reader;
    import java.math.BigDecimal;
    import java.net.URL;
    import java.sql.*;
    import java.sql.Date;
    import java.util.*;
    
    import com.xf.model.*;
    
    public class UserBeanCl
    {
    	private Statement sm=null;
    	private ResultSet rs=null;
    	private Connection ct=null;
    	private int pageSize=3;	//每页大小
    	private int rowCount=0;			//行数总计
    	private int pageCount=0;	//通过rowCount和pageSize求得
    	
    	
    	//改动信息
    	/**
    	 * @author xiaofeng(没错,我就是肖锋)
    	 * @param userName:username字,就是账号
    	 * @param passwd:通行password
    	 * @return boolean: 假设true那就加入成功,假设false那就不成功
    	 */
    	public boolean updUser(long Sno, String Cno, String Cname, String Tname, int Grade)
    	{
    		boolean b=false;
    		
    		try
    		{
    			//创建连接,的数据库
    			ct=new ConnDB().getConn();
    			//对要操作的数据库声明
    			sm=ct.createStatement();
    			//运行语句
    			String sql="update v_grade set Cno='"+Cno+"', Cname='"+Cname+"', Tname='"+Tname+"', Grade="+Grade+" where Sno="+Sno+"";
    			int a=sm.executeUpdate(sql);
    			
    			if(a == 1)
    			{
    				//改动成功
    				b=true;
    			}
    			
    		} 
    		catch (Exception e)
    		{
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    		finally
    		{
    			this.close();
    		}
    		
    		return b;
    	}
    	
    	//加入信息
    	
    
    	//删除信息处理
    	/**
    	 * @author xiaofeng(没错,我就是肖锋)
    	 * @param userName:username字,就是账号
    	 * @param passwd:通行password
    	 * @param email:电子邮件
    	 * @param grade:用户等级
    	 * @return boolean: 假设true那就加入成功,假设false那就不成功
    	 */	
    	public boolean delv_gradeBySno(long Sno)
    	{
    		boolean b=false;
    		
    		try
    		{
    			//得到链接
    			ct=new ConnDB().getConn();
    			//声明要运行SQL
    			sm=ct.createStatement();
    			//运行语句,删除语句返回影响的行数
    			int a=sm.executeUpdate("delete from v_grade where Sno='"+Sno+"'");
    			
    			if(a == 1)
    			{
    				//删除成功
    				b=true;
    			}
    		} 
    		catch (Exception e)
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		finally
    		{
    			this.close();
    		}
    		
    		return b;
    	}
    	
    	public void close()
    	{
    		try
    		{
    			if(rs != null)
    			{
    				rs.close();
    				rs=null;
    			}
    			if(sm != null)
    			{
    				sm.close();
    				sm=null;
    			}
    			if(ct != null)
    			{
    				ct.close();
    				ct=null;
    			}
    		} 
    		catch (Exception e)
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    	//得到pageCount,页数总计
    	public int getPageCount()
    	{
    		try
    		{
    			//得到链接
    			ct=new ConnDB().getConn();
    			//声明,创建一个sm
    			sm=ct.createStatement();
    			
    			//4.到数据库中查询
    			ResultSet rs=sm.executeQuery("select count(*) from v_grade");
    			
    			//这里注意一定要next,不然GG思密达
    			if(rs.next())
    			{
    				rowCount=rs.getInt(1);
    			}				
    			
    			//计算pageCount的结果
    			if(rowCount%pageSize == 0)
    			{
    				pageCount=rowCount/pageSize;
    			}
    			else
    			{
    				pageCount=rowCount/pageSize+1;
    			}
    		} 
    		catch (Exception e)
    		{
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    		finally
    		{
    			this.close();
    		}
    		return pageCount;
    	}
    	
    	//得到用户须要显示地信息(分页)
    	public ArrayList getUsersByPage(int pageNow)
    	{
    		ArrayList a1=new ArrayList();
    		
    		try
    		{
    			//得到链接
    			ct=new ConnDB().getConn();
    			//创建statement
    			sm=ct.createStatement();
    			
    			//查询出须要显示地信息,rs用来得到数据查询的结果
    			rs=sm.executeQuery("select top "+pageSize+"* from v_grade where Sno not in ( 	select top "+pageSize*(pageNow-1)+" Sno 	from v_grade )");
    			
    			//吧得到的信息存放到ArrayList上面去
    			while(rs.next())
    			{
    				v_gradeBean vb=new v_gradeBean();
    				
    				vb.setSno(rs.getLong(1));
    				vb.setCno(rs.getString(2));
    				vb.setCname(rs.getString(3));
    				vb.setTname(rs.getString(4));
    				vb.setGrade(rs.getInt(5));
    				
    				//将ub放到arraylist里面去
    				a1.add(vb);
    			}
    			
    		} 
    		catch (Exception e)
    		{
    			e.printStackTrace();
    			// TODO: handle exception
    		}
    		finally
    		{
    			//关闭资源
    			this.close();
    		}
    		
    		return a1;
    	}
    
    	//检查账号password是否正确
    	public boolean checkUser(String u, String p)
    	{
    		boolean b=false;
    		
    		try
    		{
    			System.out.println("???");
    			//到数据库中去验证
    			ct=new ConnDB().getConn();
    			//3、创建statement
    			sm=ct.createStatement();
    			//4、进行查询,把查询第一个结果放到rs中
    			rs=sm.executeQuery("select passwd from users where username='"+u+"'");
    			//依据结果来推断是否是要寻找的数据
    			if(rs.next())
    			{
    				//username存在,验证password
    				if(rs.getString(1).equals(p))
    				{
    					b=true;
    				}
    			}
    			
    		} 
    		catch (Exception e)
    		{
    			e.printStackTrace();
    			// TODO: handle exception
    		}
    		finally
    		{
    			this.close();
    		}
    		
    		return b;
    	}
    }
    

    v_gradeBean.java

    /**
     * 功能:存放v_grade视图的属性
     */
    
    package com.xf.model;
    
    public class v_gradeBean
    {
    	private long Sno;
    	private String Cno;
    	private String Cname;
    	private String Tname;
    	private int Grade;
    	public long getSno()
    	{
    		return Sno;
    	}
    	public void setSno(long sno)
    	{
    		Sno = sno;
    	}
    	public String getCno()
    	{
    		return Cno;
    	}
    	public void setCno(String cno)
    	{
    		Cno = cno;
    	}
    	public String getCname()
    	{
    		return Cname;
    	}
    	public void setCname(String cname)
    	{
    		Cname = cname;
    	}
    	public String getTname()
    	{
    		return Tname;
    	}
    	public void setTname(String tname)
    	{
    		Tname = tname;
    	}
    	public int getGrade()
    	{
    		return Grade;
    	}
    	public void setGrade(int grade)
    	{
    		Grade = grade;
    	}
    	
    	
    }
    

    Servlet处理器部分

    LoginClServlet.java

    /**
     * 功能:这是一个控制器,完毕对用户身份的验证,本身是不会去完毕业务逻辑的
     * 		它主要是去调用model完毕对数据的处理
     * 时间:2014年6月5日12:56:46
     * 作者:cutter_point
     */
    package com.xf.controller;
    
    import com.xf.model.*;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.*;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LoginClServlet extends HttpServlet
    {
    
    	
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException
    	{
    		this.doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException
    	{
    		
    		//得到账号password
    		String u=request.getParameter("username");	//账号
    		String s1=request.getParameter("P");		//单选框
    		
    		
    	//	u=new String(u.getBytes("iso-8859-1"),"gb2312");
    		//转化中文乱码
    		u=Tools.getNewString(u);
    		
    		String p=request.getParameter("passwd");	//password
    		
    		System.out.println("账号u="+u+" passwordp="+p);
    		
    		//调用模型对他进行验证
    		UserBeanCl ubc=new UserBeanCl();
    		
    		if(ubc.checkUser(u, p))
    		{
    			System.out.println("这是使用的Servlet完毕验证!!");
    			//合法
    			//跳转
    			//response.sendRedirect("wel.jsp");
    			//在进入wel.jsp之前把数据都准备好
    			//首先显示的是默认的第一页
    			ArrayList al=ubc.getUsersByPage(1);
    			int pageCount=ubc.getPageCount();
    			request.setAttribute("result", al);
    			request.setAttribute("pageCount", pageCount+"");
    			request.setAttribute("pageNow", "1");
    			
    			//存放session
    			request.getSession().setAttribute("myName", u);
    			
    			
    			//可是上面方法效率不高,高效率的是
    			if(s1.equals("B"))
    			{
    				request.getRequestDispatcher("mian.jsp?user="+u).forward(request, response);
    			}
    			else
    			{
    				request.getRequestDispatcher("main_2.jsp?user="+u).forward(request, response);
    			}
    
    		}
    		else
    		{
    			//不合法
    		//	response.sendRedirect("login.jsp");
    			
    			//理由同上
    			request.getRequestDispatcher("login.jsp").forward(request, response);
    			
    		}
    	}
    
    }
    

    UserClServlet.java

    /**
     * 功能:这个控制器将处理用户的分页显示,用户的删除改动查询,加入
     * 时间:2014年6月5日13:47:03
     * 作者:cutter_point
     */
    package com.xf.controller;
    
    import com.xf.model.*;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class UserClServlet extends HttpServlet
    {
    
    	/**
    	 * The doGet method of the servlet. <br>
    	 *
    	 * This method is called when a form has its tag value method equals to get.
    	 * 
    	 * @param request the request send by the client to the server
    	 * @param response the response send by the server to the client
    	 * @throws ServletException if an error occurred
    	 * @throws IOException if an error occurred
    	 */
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException
    	{
    
    		//得到用户希望显示的pageNow,和flag
    		System.out.println("使用UserClServlet!");
    		String s_pageNow=request.getParameter("pageNow");
    		String flag=request.getParameter("flag");
    		//使用UserBeanCl的方法调用得到pageNow
    		if(flag.equals("fenye"))
    		{
    			try
    			{
    				int pageNow=Integer.parseInt(s_pageNow);
    				//调用UserBeanCl
    				UserBeanCl ubc=new UserBeanCl(); 
    				//在进入wel.jsp之前把数据都准备好
    				ArrayList al=ubc.getUsersByPage(pageNow);
    				int pageCount=ubc.getPageCount();
    				request.setAttribute("result", al);
    				request.setAttribute("pageCount", pageCount+"");
    				request.setAttribute("pageNow", pageNow+"");
    			//	request.setAttribute("pageNow", pageNow); 不行必须在后面加引號,不然没法用,由于别人
    				//默认吧pageNow看成string了,结果传过去了,以为是String类型,实际是int类型,结果就出错了
    				
    				System.out.println("分页是使用了UserClServlet!!");
    				
    				//从新跳转回wel.jsp里面去
    				request.getRequestDispatcher("wel.jsp").forward(request, response);
    			} 
    			catch (Exception e)
    			{
    				// TODO: handle exception
    				e.printStackTrace();
    			}
    		}
    		//删除用户信息
    		else if(flag.equals("delUser"))
    		{
    			UserBeanCl ubc=new UserBeanCl();
    			
    			//吧id得到
    			long Sno=Long.parseLong(request.getParameter("Sno"));
    			
    			//调用删除的方法
    			if(ubc.delv_gradeBySno(Sno))
    			{
    				//删除成功
    				request.getRequestDispatcher("suc.jsp").forward(request, response);
    			}
    			else
    			{
    				//删除失败
    				request.getRequestDispatcher("err.jsp").forward(request, response);
    			}
    		}
    		else if(flag.equals("updv_grade"))
    		{
    			long Sno=Long.parseLong(request.getParameter("Sno"));
    			String Cno=request.getParameter("Cno");
    			String Cname=request.getParameter("Cname");
    			String Tname=request.getParameter("Tname");
    			int Grade=Integer.parseInt(request.getParameter("Grade"));
    			
    			UserBeanCl ubc=new UserBeanCl();
    			
    			//一个推断是否改动了的函数
    			if(ubc.updUser(Sno, Cno, Cname, Tname, Grade))
    			{
    				request.getRequestDispatcher("suc.jsp").forward(request, response);
    			}
    			else
    			{
    				//加入失败
    				request.getRequestDispatcher("err.jsp").forward(request, response);
    			}
    		}
    		else if(flag.equals("fenyes"))	//学生登录
    		{
    			try
    			{
    				int pageNow=Integer.parseInt(s_pageNow);
    				//调用UserBeanCl
    				UserBeanCl ubc=new UserBeanCl(); 
    				//在进入wel.jsp之前把数据都准备好
    				ArrayList al=ubc.getUsersByPage(pageNow);
    				int pageCount=ubc.getPageCount();
    				request.setAttribute("result", al);
    				request.setAttribute("pageCount", pageCount+"");
    				request.setAttribute("pageNow", pageNow+"");
    			//	request.setAttribute("pageNow", pageNow); 不行必须在后面加引號,不然没法用,由于别人
    				//默认吧pageNow看成string了,结果传过去了,以为是String类型,实际是int类型,结果就出错了
    				
    				System.out.println("分页是使用了UserClServlet!!");
    				
    				//从新跳转回wel.jsp里面去
    				request.getRequestDispatcher("wel_2.jsp").forward(request, response);
    			} 
    			catch (Exception e)
    			{
    				// TODO: handle exception
    				e.printStackTrace();
    			}
    		}
    		
    	}
    	
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    	throws ServletException, IOException{
    		this.doGet(request, response);
    	}
    	
    }
    

    PS:mvc开发模式下的一个用户管理系统,增删改查这些基本功能都已经实现,没有贴出数据库部分,由于不是必需啊!!大笑偷笑










  • 相关阅读:
    js截取字符串区分汉字字母代码
    List 去处自定义重复对象方法
    63. Unique Paths II
    62. Unique Paths
    388. Longest Absolute File Path
    41. First Missing Positive
    140. Word Break II
    139. Word Break
    239. Sliding Window Maximum
    5. Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4076150.html
Copyright © 2011-2022 走看看