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开发模式下的一个用户管理系统,增删改查这些基本功能都已经实现,没有贴出数据库部分,由于不是必需啊!!UserManageSysUserManageSys











上一篇:msm8916 lcd 相关调试点指导


下一篇:SVG动画-基础篇