Java基础13

Java基础13

Java基础13    1

文件结构    1

Jsp内置对象    2

Jsp测试案例(MyHello.jsp)    4

Jsp+javaBean(java文件)模式开发用户管理系统    4

1. jsp+java_class模式下的用户管理系统模型图    5

2.登录界面_UserManagerSys/src/webRoot/login.jsp    5

3.登录处理界面_UserManagerSys/src/webRoot/loginCl.jsp    6

4.欢迎界面_UserManagerSys/src/webRoot/wel.jsp    7

5.model层_UserManagerSys/src/user.model/UserBeanCl.java    10

6.model层_UserManagerSys/src/user.model/UserBean.java    14

5.model层_UserManagerSys/src/user.model/ConnDB.java    15

MVC模式开发用户管理系统    16

1. MVC模介绍    16

2.向数据库添加用户表    18

界面层(View层)    20

登录界面_UserManageSys2/WebRoot/WEB-INF/login.jsp    20

登录处理界面_UserManageSys2/WebRoot/WEB-INF/loginCl.jsp    22

主界面_UserManageSys2/WebRoot/WEB-INF/Main.jsp    24

欢迎界面_UserManageSys2/WebRoot/WEB-INF/wel.jsp    26

修改界面_UserManageSys2/WebRoot/WEB-INF/updateUser.jsp    30

添加用户界面_UserManageSys2/WebRoot/WEB-INF/addUser.jsp    32

操作成功界面_UserManageSys2/WebRoot/WEB-INF/suc.jsp    34

操作失败界面_UserManageSys2/WebRoot/WEB-INF/err.jsp    36

控制器层(controller层)    37

登录处理_UserManageSys2/ src/user.controller/LoginClServer.java    37

处理用户的服务_UserManageSys2/ src/user.controller/UserClServer.java    40

业务逻辑层(model层)    43

Users表_UserManageSys2/src/user.model/UserBean.java    43

表处理_UserManageSys2/ src/user.model/UserBeanCl.java    45

工具类_UserManageSys2/ src/user.model/Tools.java    51

连接数据库_UserManageSys2/ src/user.model/ConnDB.java    52

文件结构

Jsp内置对象

1.out //向客户端输出数据,字节流

out.println("");

 

2.request //接收客户端的http请求 <----->servlet中的HttpServletRequest

getParameter(String name); //name表表单的参数名

getParameterValues(String name); //得到参数值集,使用String []

setAttribute(String name,Object obj); //设置名字为name的obj,值为obj

getAttribute(String name); //返回由name指定的属性值,如果不存在就返回null;

getCookie();

 

3.response //封装jsp的产生的回应

addCookie(Cookie cookie);

sendRedirect("./welcome.jsp");

 

4.session //用于保存用户的信息,跟踪用户的行为

setAttribute(String name,Object obj);

getAttribute(String name);

 

5.applicattion //多个用户共享该对象,可以做计数器

6.pageContext //代表jsp页面的上下文

7.exception //代表运行的一个异常

getMessage();

8.page //代表jsp这个实例本身(使用比较少)

9.config //代表jsp对应的servlet的配置,可以得到web.xml中的参数

 

//===========================================================================

//------------session技术--------------

1.得到session

servlet中:HttpSession hs=request.getSession(true);

jsp中:session是一个内置对象,可以直接使用

2.向session添加属性

servlet中:hs.setAttribute(String name,Object val);

jsp中:session.setAttribute(String name,Object o);

3.从session得到某个属性//(getAttribute得到的属性是Object类型,要注意转换类型)

servlet中:hs.getAttribute(String name);

jsp中:session.getAttribute(String name);

4.从session删除掉某个属性

servlet中:hs.removeAttribute(String name);

jsp中:session.removeAttribute(String name);

5.指定session发吊时的存活时间//(这设置成20秒,默认是30分钟)

servlet中:hs.setMaxInactive(20);

jsp中:session.setMaxInactive(20);

6.session的特点:

//1.session是被某个浏览器独占的空间,

//2.当某个浏览器访问网站时,服务器会给浏览器分配一个唯一的session id,以此区分不同客户端

//3.由于session的各个属性要占用服务器内存,因此要迫不得以,才使用,如下情况用:

//1.保存用户信息

//2.保存购物车 等

Jsp测试案例(MyHello.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 'MyHello.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>

Hello,维唯为为 <br>

</body>

</html>

Jsp+javaBean(java文件)模式开发用户管理系统

1. jsp+java_class模式下的用户管理系统模型图

2.登录界面_UserManagerSys/src/webRoot/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>

用户登录 <br>

<hr>

<form action="loginCl.jsp" method="post">

         用户名:<input type="text" name="username"/><br>

         密&nbsp;&nbsp;码:<input type="password" name="passwd"/><br>

         <input type="submit" value="登录"/>

         <input type="reset" value="重置"/>

</form>

</center>

</body>

</html>

3.登录处理界面_UserManagerSys/src/webRoot/loginCl.jsp

<%@ page language="java" import="java.util.*,java.sql.*,user.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>

<%

    //接收用户名和密码,完成对用户的验证

String u=request.getParameter("username");

String p=request.getParameter("passwd");

 

//到数据库中去验证用户

    //调用UserBeanCl的方法,完成对用户的验证

    UserBeanCl ubc=new UserBeanCl();

      

    if(ubc.checkUser(u,p))

    {

        response.sendRedirect("wel.jsp?username="+u);

    }else

    {

        response.sendRedirect("login.jsp?errNo=1");

    }

 

    %>

 

</body>

</html>

4.欢迎界面_UserManagerSys/src/webRoot/wel.jsp

<%@ page language="java" import="java.util.*,java.sql.*,user.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">

    -->

 

</head>

 

<body bgcolor="pink">

    <%

        String u=request.getParameter("username");

     %>

    登录成功!维唯为为恭喜你!<%=u %><br>

    <a href="login.jsp">返回重新登录</a>

    <hr>

    <center>

    <h1>用户信息列表</h1>

    <%

        //定义分页用到的变量

        int pageNow=1;

          

          

        //接收用户希望显示的页数(pageNow)

        String s_pageNow=request.getParameter("pageNow");

        if(s_pageNow!=null)

        {

            //接收到pageNow

            pageNow=Integer.parseInt(s_pageNow);

        }

          

        //调用UserBeanCl的方法(创建一个UserBeanCl的实例,然后调用它的某个方法),完成分布显示

            UserBeanCl ubc=new UserBeanCl();

            ArrayList al=ubc.getUserByPage(pageNow);

             

        //显示

         %>

         <table border="1">

             <tr><td>用户id</td><td>用户名</td><td>密码</td><td>邮箱</td><td>级别</td></tr>

         <%

             for(int i=0;i<al.size();i++)

             {    //从al中取出UserBean

                 UserBean ub=(UserBean)al.get(i);

          %>

                 <tr><td><%=ub.getUserId() %></td><td><%=ub.getUsername() %></td>

                 <td><%=ub.getPasswd() %></td><td><%=ub.getEmail() %></td>

                 <td><%=ub.getGrade() %></td></tr>

         <%

             }

          %>

         </table>

         <%

             int pageCount=ubc.getPageCount();

             int pageSize=ubc.getPageSize();

             //首页

             out.println("<a href=wel.jsp?pageNow=1&username="+u+">首页</a>");

             //上一页

             if(pageNow!=1)

             {

                 out.println("<a href=wel.jsp?pageNow="+(pageNow-1)+"&username="+u+">上一页</a>");

             }

             //显示页面链接

             for(int i=pageNow;i<pageNow+pageSize&&i<=pageCount;i++)

             {

                 out.println("<a href=wel.jsp?pageNow="+i+"&username="+u+">["+i+"]</a>");

             }

             //下一页

             if(pageNow!=pageCount)

             {

                 out.println("<a href=wel.jsp?pageNow="+(pageNow+1)+"&username="+u+">下一页</a>");

             }

             //尾页

             out.println("<a href=wel.jsp?pageNow="+pageCount+"&username="+u+">尾页</a>");

          %>

          </center>

</body>

</html>

5.model层_UserManagerSys/src/user.model/UserBeanCl.java

/**

* 这是一个处理类,有些人把它叫做BO,主要是封装对user表的各种操作,(主要

* 是增,删,修,查...)

*/

 

package user.model;

import java.sql.*;

import java.util.*;

 

public class UserBeanCl {

    

    private Statement sm=null;

    private ResultSet rs=null;

    private Connection ct=null;

    

    private int pageSize=5;

    public int getPageSize() {

        return pageSize;

    }

 

    private int rowCount=0; //行数

    private int pageCount=0;//页数

    

    //验证用户是否存在

    public boolean checkUser(String u,String p)

    {

        boolean b=false;

        

        try {

            //到数据库去验证

            ct=new ConnDB().getConn();

            

            //3.创建Statement

            Statement sm=ct.createStatement();

            

            //4.查询

            ResultSet rs=sm.executeQuery("select passwd from users where username='"+u+"'");

            

            //验证

            if(rs.next())

            {

                //到此说明输入的用户名存在

                if(rs.getString(1).equals(p))

                {

                    b=true;

                    //合法,跳转wel.jsp

                 //如何将loginCl.jsp得到的数据传到下一个页面

                 //1.cookie 2.session 3.response.sendRedirect

                 //response.sendRedirect("wel.jsp?user="+u);//将用户发送过去

                }else

                {

                    //密码错误

                }

                

            }else

            {

                //用户名错误

                //不合法,跳转到login.jsp

                //response.sendRedirect("login.jsp?errNo=1");

            }

        } catch (SQLException e) {

            e.printStackTrace();

        }finally{

            //关闭打开的各种资源

            this.close();

        }

      

     return b;

    }

 

    /**

     * @author luowei

     * @return 返回分页的总页数

     */

    public int getPageCount()

    {

        try {

            //得到连接

            ct=new ConnDB().getConn();

            

            //3.创建Statement

         Statement sm=ct.createStatement();

          

         //4.查询

             ResultSet rs=sm.executeQuery("select count(*) from users");

             

             if(rs.next())//将游标从第0条记录移到第1条记录,并判断是否为空

             {

                 rowCount=rs.getInt(1);

             }

             

             //计算

             if(rowCount%pageSize==0)

             {

                 pageCount=rowCount/pageSize;

             }else

             {

                 pageCount=rowCount/pageSize+1;

             }

        } catch (Exception e) {

            e.printStackTrace();

        }finally

        {

            this.close();

        }

        return pageCount;

    }

    

    /**@得到用户需要显示的用户信息(分页)

     * @author luowei

     * @param pageNow:当前页

     * @return

     */

    public ArrayList getUserByPage(int pageNow)

    {

        ArrayList al=new ArrayList();

 

        try {

            //得到连接

            ct=new ConnDB().getConn();

            

            //3.创建Statement

         Statement sm=ct.createStatement();

            

         //查询出需要显示的记录

             rs=sm.executeQuery("select * from users limit "+(pageSize*(pageNow-1))+","+pageSize);

          

             //开始将rs封装到ArrayList

         while(rs.next())

         {

             UserBean ub=new UserBean();

             ub.setUserId(rs.getInt(1));

             ub.setUsername(rs.getString(2));

             ub.setPasswd(rs.getString(3));

             ub.setEmail(rs.getString(4));

             ub.setGrade(rs.getInt(5));    

             al.add(ub);

         }

        } catch (Exception e) {

            e.printStackTrace();

        }finally{

            this.close();

        }

        return al;

    }

    

    /**@author luowei

     * @see关闭资源

     * @return null

     *

     */

    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) {

            e.printStackTrace();

        }

    }

}

6.model层_UserManagerSys/src/user.model/UserBean.java

/**

* 这是一个javabean,对应user表,代表数据

* 他的一个实例(对象),对应users的一条

*/

 

package user.model;

 

public class UserBean {

    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;

    }

    private int userId;

    private String username;

    private String passwd;

    private String email;

    private int grade;

}

5.model层_UserManagerSys/src/user.model/ConnDB.java

/**

* 得到数据库的连接

*/

 

package user.model;

import java.sql.*;

 

public class ConnDB {

    private Connection ct=null;

    public Connection getConn()

    {

        try {

            //1.加载驱动

            Class.forName("org.gjt.mm.mysql.Driver").newInstance();

            //Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

            //2.得到连接

            ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/test_user","root","root");

            //ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=testusr","sa","luowei");

            

        } catch (Exception e) {

            e.printStackTrace();

        }

        return ct;

    }

}

MVC模式开发用户管理系统

1. MVC模介绍

MVC模型图

mvc用户管理系统模型图

2.向数据库添加用户表

create database test_user;

 

use test_user;

 

create table users(

useId int primary key AUTO_INCREMENT,#用户id号

username varchar(20),

passwd varchar(20),

email varchar(30),

grade int #用户的级别

);

 

insert into users values(null,"admin","admin","admin@sohu.com","1");

insert into users values(null,"luowei","luowei505050","luowei@163.com","1");

insert into users values(null,"test1","test1","test1@sina.com","5");

insert into users values(null,"test2","test2","test2@sina.com","2");

insert into users values(null,"test3","test3","test3@sina.com","5");

insert into users values(null,"test4","test4","test4@sina.com","6");

insert into users values(null,"test5","test5","test5@sina.com","6");

insert into users values(null,"test6","test6","test6@sina.com","7");

insert into users values(null,"test7","test7","test7@sina.com","7");

insert into users values(null,"test8","test8","test8@sina.com","8");

insert into users values(null,"test9","test9","test9@sina.com","8");

insert into users values(null,"test10","test10","test10@sina.com","9");

insert into users values(null,"test11","test11","test11@sina.com","3");

insert into users values(null,"test12","test12","test12@sina.com","4");

 

select * from users;

 

insert into users(username,passwd,email,grade) select username,passwd,email,grade from users;

 

select * from users where username=admin and passwd=admin;

 

#添加新列

alter table users add myPic varchar(30);

 

#修改数据

update users set myPic='luowei.gif' where userName='luowei';

update users set myPic='admin.gif' where userName='admin';

update users set myPic='test1.gif' where userName='test1';

 

#drop table users;

 

#--------------------------------------------------------------------

CREATE TABLE person (

id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,

name CHAR(60) NOT NULL,

PRIMARY KEY (id)

);

 

CREATE TABLE shirt (

id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,

style ENUM('t-shirt', 'polo', 'dress') NOT NULL,

color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,

owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id),

PRIMARY KEY (id)

);

 

INSERT INTO person VALUES (NULL, 'Antonio Paz');

 

SELECT @last := LAST_INSERT_ID();

 

INSERT INTO shirt VALUES

(NULL, 'polo', 'blue', @last),

(NULL, 'dress', 'white', @last),

(NULL, 't-shirt', 'blue', @last);

 

INSERT INTO person VALUES (NULL, 'Lilliana Angelovska');

 

SELECT @last := LAST_INSERT_ID();

 

INSERT INTO shirt VALUES

(NULL, 'dress', 'orange', @last),

(NULL, 'polo', 'red', @last),

(NULL, 'dress', 'blue', @last),

(NULL, 't-shirt', 'white', @last);

 

SELECT * FROM person;

SELECT * FROM shirt;

 

SELECT s.* FROM person p, shirt s

WHERE p.name LIKE 'Lilliana%'

AND s.owner = p.id

AND s.color <> 'white';

 

#----------------------------------------------------------

select * from users order by useId limit 5;

界面层(View层)

登录界面_UserManageSys2/WebRoot/WEB-INF/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="ff9900">

<center>

<%

    String errNo=request.getParameter("errNo");

    if(errNo!=null)

    {

        if(errNo.equals("1"))

        {

            out.println("<font color=red size=7>登录错误,请输入正确的用户名和密码!</font><br>");

        }

    }

%>

    <!-- 引入一张图片 -->

<img src="imgs/1.gif"/>

<hr>

用户登录 <br>

<form action="LoginClServlet" method="post">

         用户名:<input type="text" name="username"/><br>

         密&nbsp;&nbsp;码:<input type="password" name="passwd"/><br>

         <input type="submit" value="登录"/>

         <input type="reset" value="重置"/>

</form>

<hr>

<!-- 引入一张图片 -->

<img src="imgs/logo.gif"/>

</center>

</body>

</html>

登录处理界面_UserManageSys2/WebRoot/WEB-INF/loginCl.jsp

<%@ page language="java" import="java.util.*,java.sql.*,user.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>

<%

    //接收用户名和密码,完成对用户的验证

String u=request.getParameter("username");

String p=request.getParameter("passwd");

 

//到数据库中去验证用户

    //调用UserBeanCl的方法,完成对用户的验证

    UserBeanCl ubc=new UserBeanCl();

      

    if(ubc.checkUser(u,p))

    {

        response.sendRedirect("wel.jsp?username="+u);

    }else

    {

        response.sendRedirect("login.jsp?errNo=1");

    }

 

    %>

 

 

</body>

</html>

主界面_UserManageSys2/WebRoot/WEB-INF/Main.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 'Main.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="ff9900">

    <%

        String u=request.getParameter("username");

        //System.out.println("Main.jsp得到的username="+u);

     %>

<center>

    <!-- 引入一张图片 -->

<img src="imgs/1.gif"/>

<hr>

<h1>请选择操作</h1>

<a href="UserClServlet?pageNow=1&flag=fenye&username=<%=u %>" >管理用户</a><br/>

<!-- flag标志告诉控制器,进行分页 -->

<!-- 注意这里变量<%=u %>要放在双引号里边,直接赋给username -->

<a href="addUser.jsp?username=<%=u %>">添加用户</a><br/>

<a href="#">查找用户</a><br/>

<a href="#">注销用户</a><br/>

 

<hr>

<!-- 引入一张图片 -->

<img src="imgs/logo.gif"/>

</center>

</body>

</html>

欢迎界面_UserManageSys2/WebRoot/WEB-INF/wel.jsp

<!--欢迎界面 -->

<%@ page language="java" import="java.util.*,java.sql.*,user.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 msg()

        {

            return window.confirm("你确认要删除吗?");

        }

    -->

    </script>

</head>

 

<body bgcolor="ff9900">

    <%

        String u=request.getParameter("username");

        //System.out.println("UserClServlet得到的username="+u);

        //u=new String(u.getBytes("gb2312"),"iso-8859-1"); //转码

         //防止用户非法登录

        String userName=(String)session.getAttribute("myName");

        //如果用户没有登录

        if(userName==null)

        {

            //返回登录界面

            response.sendRedirect("login.jsp?errNo=1");

            return ;

        }

        

     %>

    登录成功!维唯为为恭喜你!<%=u %><br/>

    session得到的用户名为:<%=userName %><br/>

    <a href="login.jsp">返回重新登录</a>&nbsp;&nbsp;

    <a href="Main.jsp?username=<%=u %>">返回主界面</a>

    <hr>

    <center>

    <h1>用户信息列表</h1>

    <%

        //调用UserBeanCl的方法(创建一个UserBeanCl的实例,然后调用它的某个方法),完成分布显示

            //UserBeanCl ubc=new UserBeanCl();

            //ArrayList al=ubc.getUserByPage(pageNow);

             

             //要显示的用户信息从request中取

             ArrayList al=(ArrayList)request.getAttribute("result");

             

        //显示

         %>

         <%

             //得到pageCount

             String s_pageCount=(String)request.getAttribute("pageCount");

             int pageCount=Integer.parseInt(s_pageCount);

             String s_pageSize=(String)request.getAttribute("pageSize");

             int pageSize=Integer.parseInt(s_pageSize);

             String s_pageNow=(String)request.getAttribute("pageNow");

             int pageNow=Integer.parseInt(s_pageNow);

         %>

         <table border="1">

             <tr bgcolor="pink"><td>用户id</td><td>用户名</td><td>密码</td>

             <td>邮箱</td><td>级别</td><td>修改用户</td><td>删除用户</td></tr>

         <%

             //定义一个颜色数组

             String []color={"silver","pink"};

             for(int i=0;i<al.size();i++)

             {    //从al中取出UserBean

                 UserBean ub=(UserBean)al.get(i);

          %>

                 <tr bgcolor="<%=color[i%2] %>"><td><%=ub.getUserId() %></td><td><%=ub.getUsername() %></td>

                 <td><%=ub.getPasswd() %></td><td><%=ub.getEmail() %></td>

                 <td><%=ub.getGrade() %></td>

                 <td><a href="updateUser.jsp?username=<%=u%>&pageNow=<%=pageNow %>&userId=<%=ub.getUserId()

                     %>&userName=<%=ub.getUsername() %>&passWd=<%=ub.getPasswd() %>&email=<%=ub.getEmail()

                     %>&grade=<%=ub.getGrade() %>">修改用户</a></td>

                 <td><a onclick="return msg()" href="UserClServlet?username=<%=u%>&pageNow=<%=pageNow

                     %>&flag=delUser&userid=<%=ub.getUserId() %>">删除用户</a></td></tr>

         <%

             }

          %>

         </table>

 

         <%    

             //首页

             out.println("<a href=UserClServlet?flag=fenye&pageNow=1&username="+u+">首页</a>"); //转到分页控制器处理

             //上一页

             if(pageNow!=1)

             {

                 out.println("<a href=UserClServlet?flag=fenye&pageNow="+(pageNow-1)+"&username="+u+">上一页</a>");

             }

             //显示页面链接

             for(int i=pageNow;i<pageNow+pageSize&&i<=pageCount;i++)

             {

                 out.println("<a href=UserClServlet?flag=fenye&pageNow="+i+"&username="+u+">["+i+"]</a>");

             }

             //下一页

             if(pageNow!=pageCount)

             {

                 out.println("<a href=UserClServlet?flag=fenye&pageNow="+(pageNow+1)+"&username="+u+">下一页</a>");

             }

             //尾页

             out.println("<a href=UserClServlet?flag=fenye&pageNow="+pageCount+"&username="+u+">尾页</a>");

          %>

          <hr>

          <!-- 引入一张图片 -->

     <img src="imgs/logo.gif"/>

          </center>

</body>

</html>

修改界面_UserManageSys2/WebRoot/WEB-INF/updateUser.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 'updateUser.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="ff9900">

    <%

        String u=request.getParameter("username");

        String pageNow=request.getParameter("pageNow");

        //String flag=request.getParameter("flag");

        //System.out.println("Main.jsp得到的username="+u);

     %>

     欢迎您:<%=u %><br>

     <a href="Main.jsp?username=<%=u %>">返回主界面</a>

     <a href="UserClServlet?username=<%=u %>&UserClServlet=<%=u %>&pageNow=<%=pageNow %>&flag=fenye">返回上一页</a>

    <center>

        

        <!-- 引入一张图片 -->

     <img src="imgs/1.gif"/>

     <hr>

     <h1>修改用户信息</h1>

     <form action="UserClServlet?pageNow=1&flag=updateUser&username=<%=u %>" method="post">

         <table border="1">

             <tr bgcolor="pink"><td>用户Id</td><td><input readonly type="text" name="userId" value="<%=request.getParameter("userId") %>"/></td></tr>

             <tr bgcolor="pink"><td>用户名</td><td><input type="text" name="userName" value="<%=request.getParameter("userName") %>"/></td></tr>

             <tr bgcolor="silver"><td>密码</td><td><input type="text" name="passWd" value="<%=request.getParameter("passWd") %>"/></td></tr>

             <tr bgcolor="pink"><td>电子邮件</td><td><input type="text" name="email" value="<%=request.getParameter("email") %>"/></td></tr>

             <tr bgcolor="silver"><td>级别</td><td><input type="text" name="grade" value="<%=request.getParameter("grade") %>"/></td></tr>

         </table>

         <input type="submit" value="修改信息"/>&nbsp;&nbsp;

     </form>

      

     <hr>

     <!-- 引入一张图片 -->

     <img src="imgs/logo.gif"/>

</center>

</body>

</html>

添加用户界面_UserManageSys2/WebRoot/WEB-INF/addUser.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 'addUser.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="ff9900">

    <%

        String u=request.getParameter("username");

        //System.out.println("Main.jsp得到的username="+u);

     %>

     欢迎您:<%=u %><br>

     <a href="Main.jsp?username=<%=u %>">返回主界面</a>

    <center>

        

        <!-- 引入一张图片 -->

     <img src="imgs/1.gif"/>

     <hr>

     <h1>请输入用户信息</h1>

     <form action="UserClServlet?pageNow=1&flag=addUser&username=<%=u %>" method="post">

         <table border="1">

             <tr bgcolor="pink"><td>用户名</td><td><input type="text" name="userName"/></td></tr>

             <tr bgcolor="silver"><td>密码</td><td><input type="text" name="password"/></td></tr>

             <tr bgcolor="pink"><td>电子邮件</td><td><input type="text" name="email"/></td></tr>

             <tr bgcolor="silver"><td>级别</td><td><input type="text" name="grade"/></td></tr>

         </table>

         <input type="submit" value="添加用户"/>&nbsp;&nbsp;

         <input type="reset" value=" 重 置 "/>

     </form>

      

     <hr>

     <!-- 引入一张图片 -->

     <img src="imgs/logo.gif"/>

</center>

</body>

</html>

操作成功界面_UserManageSys2/WebRoot/WEB-INF/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="ff9900">

<center>

    <!-- 引入一张图片 -->

<img src="imgs/1.gif"/>

<hr>

    <%

        String u=request.getParameter("username");

        //String pageNow=request.getParameter("pageNow");

        //String flag=request.getParameter("flag");

     %>

        <h1>恭喜你 <%=u %>,操作成功!</h1><br>

        <a href="Main.jsp?username=<%=u %>">返回主界面</a>

        <!--

        <a href="addUser.jsp?username=<%=u %>">返回上一页</a>

        -->

<hr>

<!-- 引入一张图片 -->

<img src="imgs/logo.gif"/>

</center>

</body>

</html>

操作失败界面_UserManageSys2/WebRoot/WEB-INF/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="ff9900">

<center>

    <!-- 引入一张图片 -->

<img src="imgs/1.gif"/>

<hr>

    <%

        String u=request.getParameter("username");

        //String pageNow=request.getParameter("pageNow");

        //String flag=request.getParameter("flag");

     %>

        <h1>操作不成功!</h1><br>

        <a href="Main.jsp?username=<%=u %>">返回主界面</a>

        <!--

        <a href="addUser.jsp?username=<%=u %>">返回上一页</a>

        -->

<hr>

<!-- 引入一张图片 -->

<img src="imgs/logo.gif"/>

</center>

</body>

</html>

控制器层(controller层)

登录处理_UserManageSys2/ src/user.controller/LoginClServer.java

/**

* 这是一个控制器,主要完成对用户身份的验证

* 控制器本身是不会去完成业务逻辑,它主要是去调用模型完成对数据的处理

*/

 

package user.controller;

import user.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 {

 

    /**

     * 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 {

 

        //得到用户名和密码

        String u=request.getParameter("username");

        //u=new String(u.getBytes("iso-8859-1"),"gb2312");//将用户名转码,解决中文乱码而导致的验证错误

        String p=request.getParameter("passwd");

        System.out.println("username="+u+" password="+p);

        

        //使用模型(UserBeanCl),完成对用户的验证

        //1.创建一个UserBeanCl对象

        UserBeanCl ubc=new UserBeanCl();

        //调用方法

        if(ubc.checkUser(u, p))

        {

            //System.out.println("使用了servlet控制器完成验证!");

            

            //在跳转到wel.jsp页面时,就把要显示的数据给wel.jsp准备好

            ArrayList al=ubc.getUserByPage(1);

            int pageCount=ubc.getPageCount();

            int pageSize=ubc.getPageSize();

            //将al,pageCount,pageNow,pageSize放入request当中

            request.setAttribute("result", al);

            request.setAttribute("pageCount", pageCount+"");

            //因为第二个参数是对象,用int直接传递,后边使用时不好处理,所以把它转成String

            request.setAttribute("pageSize", pageSize+"");

            request.setAttribute("pageNow", "1");

            

            //合法

            //response.sendRedirect("wel.jsp?username="+u);

            //因为sendRedirect方法效率不高,所以一般多是用转发的方法

            

            //将用户名放入session,以备后用

            request.getSession().setAttribute("myName", u);

            

            //这种方法的效率高,同时保证了request中的原有对象还可以在下一面页使用

            //所以就不需要加(?username="+u)了

            request.getRequestDispatcher("Main.jsp").forward(request, response);

        }else

        {

            //不合法

            request.getRequestDispatcher("login.jsp").forward(request, response);

            System.out.println("LoginClServlet验证不合法");

        }

    }

 

    /**

     * The doPost method of the servlet. <br>

     *

     * This method is called when a form has its tag value method equals to post.

     *

     * @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 doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

 

        //合二为一

        this.doGet(request, response);

    }

 

}

处理用户的服务_UserManageSys2/ src/user.controller/UserClServer.java

/**

* 这个控制器,将处理用户的分页显示,用户的删除,修改,添加

*/

 

package user.controller;

 

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;

 

import user.model.*;

 

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 {

        //获得标志

        String flag=request.getParameter("flag");

        

        if(flag.equals("fenye")) //如果是分页

        {

            try {

                //得到用户希望显示的信息

                int pageNow=Integer.parseInt(request.getParameter("pageNow"));

                String u=request.getParameter("username");

                System.out.println("UserClServlet得到的username="+u);

                

                //调用UserBeanCl

                UserBeanCl ubc=new UserBeanCl();

                

                //在跳转到wel.jsp页面时,就把要显示的数据给wel.jsp准备好

                ArrayList al=ubc.getUserByPage(pageNow); //经UserBeanCl处理后,获得当前页的数据

                int pageCount=ubc.getPageCount();

                int pageSize=ubc.getPageSize();

                //将al,pageCount,pageNow,pageSize放入request当中

                request.setAttribute("result", al);

                request.setAttribute("pageCount", pageCount+"");

                //因为第二个参数是对象,用int直接传递,后边使用时不好处理,所以把它转成String

                request.setAttribute("pageSize", pageSize+"");

                request.setAttribute("username", u);

                request.setAttribute("pageNow", pageNow+"");

                

                //重新跳转回wel.jsp

                request.getRequestDispatcher("wel.jsp").forward(request, response);

            } catch (Exception e) {

                e.printStackTrace();

            }

        }else if(flag.equals("delUser")) //如果是删除

        {

            //完成删除

            //1.得到要删除的用户的id

            String userId=request.getParameter("userid");

            

            //创建UserBeanCl

            UserBeanCl ubc=new UserBeanCl();

            

            if(ubc.delUserById(userId))

            {

                //删除成功

                request.getRequestDispatcher("suc.jsp").forward(request, response);

            }else

            {

                //删除失败

                request.getRequestDispatcher("err.jsp").forward(request, response);

            }

        }else if(flag.equals("addUser")) //如果是添加

        {

            //完成添加用户

            //1.得到用户输入的信息

            String name=request.getParameter("userName");

            String passwd=request.getParameter("password");

            String email=request.getParameter("email");

            String grade=request.getParameter("grade");

            

            //创建UserBeanCl

            UserBeanCl ubc=new UserBeanCl();

            

            if(ubc.addUser(name, passwd, email, grade))

            {

                //添加成功

                request.getRequestDispatcher("suc.jsp").forward(request, response);

            }else

            {

                //添加失败

                request.getRequestDispatcher("err.jsp").forward(request, response);

            }

        }else if(flag.equals("updateUser")) //如果是修改

        {

            //完成添加用户

            //1.得到用户输入的信息

            String id=request.getParameter("userId");

            String name=request.getParameter("userName");

            String passwd=request.getParameter("passWd");

            String email=request.getParameter("email");

            String grade=request.getParameter("grade");

            

            //创建UserBeanCl

            UserBeanCl ubc=new UserBeanCl();

            

            if(ubc.updateUser(id,name, passwd, email, grade))

            {

                //修改成功

                request.getRequestDispatcher("suc.jsp").forward(request, response);

            }else

            {

                //修改失败

                request.getRequestDispatcher("err.jsp").forward(request, response);

            }

        }

    }

 

    /**

     * The doPost method of the servlet. <br>

     *

     * This method is called when a form has its tag value method equals to post.

     *

     * @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 doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

 

        this.doGet(request, response);

    }

 

}

业务逻辑层(model层)

Users表_UserManageSys2/src/user.model/UserBean.java

/**

* 这是一个javabean,对应user表,代表数据

* 他的一个实例(对象),对应users的一条

*/

 

package user.model;

 

public class UserBean {

    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;

    }

    private int userId;

    private String username;

    private String passwd;

    private String email;

    private int grade;

}

表处理_UserManageSys2/ src/user.model/UserBeanCl.java

/**

* 这是一个处理类,有些人把它叫做BO,主要是封装对user表的各种操作,(主要

* 是增,删,修,查...)

*/

 

package user.model;

import java.io.UnsupportedEncodingException;

import java.sql.*;

import java.util.*;

 

public class UserBeanCl {

    

    private Statement sm=null;

    private ResultSet rs=null;

    private Connection ct=null;

    

    private int pageSize=5;

    public int getPageSize() {

        return pageSize;

    }

 

    private int rowCount=0; //行数

    private int pageCount=0;//页数

    

    /**

     * 验证用户是否存在

     * @param u

     * @param p

     * @return

     */

    public boolean checkUser(String u,String p)

    {

        boolean b=false;

        

        try {

            //到数据库去验证

            ct=new ConnDB().getConn();

            

            //3.创建Statement

            Statement sm=ct.createStatement();

            

            //4.查询

            ResultSet rs=sm.executeQuery("select passwd from users where username='"+u+"'");

            

            //验证

            if(rs.next())

            {

                //到此说明输入的用户名存在

                if(rs.getString(1).equals(p))

                {

                    b=true;

                    //合法,跳转wel.jsp

                 //如何将loginCl.jsp得到的数据传到下一个页面

                 //1.cookie 2.session 3.response.sendRedirect

                 //response.sendRedirect("wel.jsp?user="+u);//将用户发送过去

                }else

                {

                    //密码错误

                }

                

            }else

            {

                //用户名错误

                //不合法,跳转到login.jsp

                //response.sendRedirect("login.jsp?errNo=1");

            }

        } catch (SQLException e) {

            e.printStackTrace();

        }finally{

            //关闭打开的各种资源

            this.close();

        }

      

     return b;

    }

 

    /**添加用户

     * @author luowei

     * @param name:用户名

     * @param passwd:密码

     * @param email:电子邮件

     * @param grade:级别

     * @return boolean

     */

    public boolean addUser(String name,String passwd,String email,String grade)

    {

        boolean b=false;

        try {

            //得到连接

            ct=new ConnDB().getConn();

            sm=ct.createStatement();

            //执行

            int a=sm.executeUpdate("insert into users(username,passwd,email,grade) "

                    +"values('"+name+"','"+passwd+"','"+email+"','"+grade+"') ");

            if(a==1) //1表示是否是成功的添加了1条记录

            {

                //添加成功

                b=true;

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        return b;

    }

    

    /**

     * 修改用户

     * @author luowei

     *

     */

    public boolean updateUser(String id,String name,String passwd,String email,String grade)

    {

        boolean b=false;

        try {

            //得到连接

            ct=new ConnDB().getConn();

            sm=ct.createStatement();

            //执行

            int a=sm.executeUpdate("update users set username='"+name+"',passwd='"+passwd+"',email='"

                    +email+"',grade='"+grade+"' where useId='"+id+"'");

            if(a==1) //1表示是否是成功的修改了1条记录

            {

                //修改成功

                b=true;

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        return b;

    }

    

    /**删除用户

     * @author luowei

     */

    public boolean delUserById(String id)

    {

        boolean b=false;

        //int Id=Integer.parseInt(id);

        try {

            //得到连接

            ct=new ConnDB().getConn();

            sm=ct.createStatement();

            //执行

            int a=sm.executeUpdate("delete from users where useId='"+id+"'");

            

            if(a==1)

            {

                //删除成功

                b=true;

            }

        } catch (Exception e) {

            e.printStackTrace();

        }finally{

            this.close();

        }

        return b;

    }

    

    /**

     * @author luowei

     * @return 返回分页的总页数

     */

    public int getPageCount()

    {

        try {

            //得到连接

            ct=new ConnDB().getConn();

            

            //3.创建Statement

         Statement sm=ct.createStatement();

          

         //4.查询

             ResultSet rs=sm.executeQuery("select count(*) from users");

             

             if(rs.next())//将游标从第0条记录移到第1条记录,并判断是否为空

             {

                 rowCount=rs.getInt(1);

             }

             

             //计算

             if(rowCount%pageSize==0)

             {

                 pageCount=rowCount/pageSize;

             }else

             {

                 pageCount=rowCount/pageSize+1;

             }

        } catch (Exception e) {

            e.printStackTrace();

        }finally

        {

            this.close();

        }

        return pageCount;

    }

    

    /**得到用户需要显示的用户信息(分页)

     * @author luowei

     * @param 当前页

     * @return

     */

    public ArrayList getUserByPage(int pageNow)

    {

        ArrayList al=new ArrayList();

 

        try {

            //得到连接

            ct=new ConnDB().getConn();

            

            //3.创建Statement

         Statement sm=ct.createStatement();

            

         //查询出需要显示的记录

             rs=sm.executeQuery("select * from users order by useId limit "+(pageSize*(pageNow-1))+","+pageSize);

          

             //开始将rs封装到ArrayList

         while(rs.next())

         {

             UserBean ub=new UserBean();

             ub.setUserId(rs.getInt(1));

             ub.setUsername(rs.getString(2));

             ub.setPasswd(rs.getString(3));

             ub.setEmail(rs.getString(4));

             ub.setGrade(rs.getInt(5));    

             al.add(ub);

         }

        } catch (Exception e) {

            e.printStackTrace();

        }finally{

            this.close();

        }

        return al;

    }

    

    /**@author luowei

     * @see关闭资源

     * @return null

     *

     */

    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) {

            e.printStackTrace();

        }

    }

}

工具类_UserManageSys2/ src/user.model/Tools.java

/**

* 工具类

*/

 

package user.model;

 

public class Tools {

    

    /**提供一个方法,将乱码转成gb2312,gbk,utf-8

     *

     * @param input

     * @return

     */

    public static String getNewString(String input)

    {

        String result="";

        try{

            result=new String(input.getBytes("gb2312"),"iso-8859-1");

        }catch(Exception e)

        {

            e.printStackTrace();

        }

        return result;

    }

}

连接数据库_UserManageSys2/ src/user.model/ConnDB.java

/**

* 得到数据库的连接

*/

 

package user.model;

import java.sql.*;

 

public class ConnDB {

    private Connection ct=null;

    public Connection getConn()

    {

        try {

            //1.加载驱动

            Class.forName("org.gjt.mm.mysql.Driver").newInstance();

            //Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

            //2.得到连接

            ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/test_user","root","root");

            //ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=testusr","sa","luowei");

            

        } catch (Exception e) {

            e.printStackTrace();

        }

        return ct;

    }

}

原文地址:https://www.cnblogs.com/luowei010101/p/2138369.html