工程结构如下,其中,图上少了main.jsp界面。该界面为主界面,提供跳转到增,删,查,改,界面的超链接 部分功能未实现
开发环境如下:ubuntu 14.04 +myeclipse 2014 +tomcat 7+mysql+jdbc5.1.7
参考传智博客 韩顺平java ee教程。
数据库如下:
-- MySQL dump 10.13 Distrib 5.5.41, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: spdb1
-- ------------------------------------------------------
-- Server version 5.5.41-0ubuntu0.14.04.1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `users`
--
DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
`userId` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) DEFAULT NULL,
`passwd` varchar(20) DEFAULT NULL,
`email` varchar(30) DEFAULT NULL,
`grade` int(11) DEFAULT NULL,
PRIMARY KEY (`userId`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `users`
--
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'admin','admin','admin@sohu.com',1),(2,'frank','frank','tester10@sohu.com',1),(6,'tester4','tester4','tester4@sohu.com',5),(7,'tester5','tester5','tester5@sohu.com',5),(9,'tester7','tester7','tester7@sohu.com',5),(10,'tester8','tester8','tester8@sohu.com',5),(11,'tester9','tester9','tester9@sohu.com',5),(12,'tester10','tester10','tester10@sohu.com',5),(13,'tester11','tester11','tester11@sohu.com',5),(14,'tester12','tester12','tester12@sohu.com',5),(15,'tester13','tester13','tester13@sohu.com',5),(16,'tester14','tester14','tester14@sohu.com',5),(19,'texter','texter','tester10@sohu.com',5),(20,'texter1','texter1','tester10@sohu.com',5),(21,'x','x','null',5),(22,'xiaoming','xiaoming','null',5),(23,'1','1','null',1),(24,'mm','mm','null',1),(25,'43','34','null',4),(26,'er','er','er',5),(27,'yvy','yvy','yvy@frank.com',1);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2015-02-13 21:51:49
controller:
LoginClServlet.java 负责用户登录的验证
package com.sp.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 com.sp.model.*;
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");
String p=request.getParameter("passname");
UserBeanCl ubc=new UserBeanCl();
//System.out.println("使用servlet");
if(ubc.checkUser(u, p))
{
ArrayList<UserBean> 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);
request.getRequestDispatcher("main.jsp").forward(request, response);
}
else
{
request.getRequestDispatcher("login.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);
}
}
UsersClServlet.java 对用户的增删查改进行控制
package com.sp.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 com.sp.model.*;
public class UsersClServlet 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("cutpage"))
{
try{
int pageNow=Integer.parseInt(request.getParameter("pageNow"));
UserBeanCl ubc=new UserBeanCl();
ArrayList<UserBean> al=ubc.getUsersByPage(pageNow);
int pageCount=ubc.getPageCount();
request.setAttribute("result", al);
request.setAttribute("pageCount", pageCount);
request.setAttribute("pageNow", pageNow);
request.getRequestDispatcher("wel.jsp").forward(request, response);
}catch (Exception e){
e.printStackTrace();
}
}
else if(flag.equals("delUser"))
{
//删除用户
String userId=request.getParameter("userId");
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"))
{
//添加用户
//得到用户输入的信息
String name=request.getParameter("userName");
String passwd=request.getParameter("passwd");
String email=request.getParameter("email");
String grade=request.getParameter("grade");
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"))
{
//修改用户
//得到用户输入的信息
String userId=request.getParameter("userId");
String name=request.getParameter("userName");
String passwd=request.getParameter("passwd");
String email=request.getParameter("email");
String grade=request.getParameter("grade");
UserBeanCl ubc=new UserBeanCl();
if( ubc.ubdateUser(userId,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
ConnDB.java 负责加载数据库驱动,获得连接
package com.sp.model;
import java.sql.*;
public class ConnDB {
private Connection ct=null;
public Connection getConn()
{
try{
Class.forName("com.mysql.jdbc.Driver");
ct=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/spdb1?user=root&password=frank1994");
}catch(Exception e){
e.printStackTrace();
}
return ct;
}
}
UserBean.java 与数据库的user表形成映射
package com.sp.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 实现用户的增删查改功能
//连接数据库
package com.sp.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=3;
private int rowCount=0;
private int pageCount=0;
//修改用户
public boolean ubdateUser(String userId,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 userId='"+userId+"'");
if(a==1)
b=true;
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
return b;
}
//添加用户
/**
*
* @param name :用户名
* @param passwd:密码
* @param email:邮箱
* @param grade:级别
* @return boolean: if true 添加成功 else 失败
*/
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)
b=true;
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
return b;
}
//删除用户
public boolean delUserById(String id)
{
boolean b=false;
try{
ct=new ConnDB().getConn();
sm=ct.createStatement();
int a=sm.executeUpdate("delete from users where userId='"+id+"'");
if(a==1)
b=true;
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
return b;
}
//返回总页数
public int getPageCount()
{
try{
ct=new ConnDB().getConn();
sm=ct.createStatement();
rs=sm.executeQuery("select count(*) from users");
if(rs.next())
{
rowCount=rs.getInt(1);
}
pageCount=rowCount%pageSize==0?rowCount/pageSize:rowCount/pageSize+1;
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
return pageCount;
}
//得到需要显示的用户信息
public ArrayList<UserBean> getUsersByPage(int pageNow)
{
ArrayList<UserBean> al=new ArrayList<UserBean>();
try{
ct=new ConnDB().getConn();
sm=ct.createStatement();
//查询出需要显示的记录
rs=sm.executeQuery("select * from users limit "+(pageNow-1)*pageSize+","+pageSize+"");
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;
}
//关闭资源
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();
}
}
public boolean checkUser(String u,String p)
{
boolean b=false;
try{
ct=new ConnDB().getConn();
sm=ct.createStatement();
rs=sm.executeQuery("select passwd from users where username='"+u+"'");
if(rs.next())
{
if(rs.getString(1).equals(p))
{
//合法
b=true;
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
return b;
}
}
view
main.jsp 提供跳转到个个功能界面的链接
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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="#CED3FE">
<img src="img/th.png"/>
<center>
<hr>
<h1>请选择操作</h1>
<a href="UsersClServlet?pageNow=1&&flag=cutpage">管理用户</a><br>
<a href="addUser.jsp">添加用户</a><br>
<a href="">查找用户</a><br>
<a href="">注销用户</a><br>
<hr>
</center>
<img src="img/logo.png" />
</body>
</html>
addUser.jsp 添加用户界面,用于接受输入信息
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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="#CED3FE">
<img src="img/th.png"/>
<center>
<hr>
<h1>请输入用户信息</h1>
<form action="UsersClServlet?flag=addUser" method="post">
<table border="1">
<tr><td bgcolor="pink">用户名</td><td><input type="text" name="userName"/></td></tr>
<tr><td bgcolor="silver">密码</td><td><input type="password" name="passwd"/></td></tr>
<tr><td bgcolor="pink">电子邮件</td><td><input type="text" name="email"/></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>
<img src="img/logo.png" />
</body>
</html>
err.jsp 操作失败界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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 'err.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="#CED3FE">
<img src="img/th.png"/>
<center>
<hr>
<h1>操作失败!</h1>
<a href="main.jsp">返回主界面</a>
<hr>
</center>
<img src="img/logo.png" />
</body>
</html>
login.jsp 登录界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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="#CED3FE">
<img src="img/th.png"/>
<center>
<%
String err=request.getParameter("err");
if(err!=null)
{
if(err.equals("1"))
{
out.println("<h1>用户没有正常登录,请登录!</h1>");
}
}
%>
<hr>
用户登录 <br>
<form action="LoginClServlet" method="post">
用户名:<input type="text" name="username"><br>
密 码: <input type="password" name="passname"><br>
<input type="submit" value="登录">
<input type="reset" value="重置">
</form>
<hr>
</center>
<img src="img/logo.png" />
</body>
</html>
suc.jsp 操作成功界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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 'suc.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="#CED3FE">
<img src="img/th.png"/>
<center>
<hr>
<h1>恭喜你,操作成功!</h1>
<a href="main.jsp">返回主界面</a>
<hr>
</center>
<img src="img/logo.png" />
</body>
</html>
updateUser.jsp 修改用户界面,用于接受用户输入
<%@ page language="java" import="java.util.*,com.sp.model.*" pageEncoding="UTF-8"%>
<%
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="#CED3FE">
<img src="img/th.png"/>
<center>
<hr>
<h1>请输入用户信息</h1>
<form action="UsersClServlet?flag=updateUser" method="post">
<table border="1">
<tr><td bgcolor="pink">用户ID</td><td><input type="text" readonly="readonly" name="userId" value="<%=request.getParameter("userId")%> "/></td></tr>
<tr><td bgcolor="pink">用户名</td><td><input type="text" name="userName" value="<%=request.getParameter("userName")%>"/></td></tr>
<tr><td bgcolor="silver">密码</td><td><input type="password" name="passwd" value="<%=request.getParameter("passwd") %>"/></td></tr>
<tr><td bgcolor="pink">电子邮件</td><td><input type="text" name="email" value="<%=request.getParameter("email") %>"/></td></tr>
<tr><td bgcolor="silver">用户级别</td><td><input type="text" name="grade" value="<%=request.getParameter("grade") %>"/></td></tr>
<tr><td><input type="submit" value="修改用户"></td><td><input type="reset" value="重置"></td></tr>
</table>
</form>
<hr>
</center>
<img src="img/logo.png" />
</body>
</html>
wel.jsp 用户管理界面
<%@ page language="java" import="java.util.*,java.sql.*,com.sp.model.*" pageEncoding="UTF-8"%>
<%
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 askdel()
{
return window.confirm("你真的要删除吗?");
}
-->
</script>
</head>
<body bgcolor="#CED#FE">
<img src="img/th.png"/>
<center>
<%
//防止用户非法登录
String u=(String)session.getAttribute("myName") ;
if(u==null)
{
response.sendRedirect("login.jsp?err=1");
return ;
}
%>
登录成功!哈哈<%=u%><br>
<a href="login.jsp">返回重新登录</a> <a href="main.jsp">返回主界面</a>
<hr>
<h1>用户信息列表</h1>
<%
//UserBeanCl ubc=new UserBeanCl();
//ArrayList<UserBean> al=ubc.getUsersByPage(pageNow);
ArrayList<UserBean> al=(ArrayList<UserBean>)request.getAttribute("result");
%>
<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++)
{
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?userId=<%=ub.getUserId() %>&userName=<%=ub.getUsername()%>&passwd=<%=ub.getPasswd()%>
&email=<%=ub.getEmail()%>&grade=<%=ub.getGrade()%>">修改用户</a></td><td>
<a οnclick="return askdel();" href="UsersClServlet?flag=delUser&&userId=<%=ub.getUserId()%>">删除用户</a></td>
</tr>
<%
}
%>
</table>
<%
int pageNow=((Integer)request.getAttribute("pageNow")).intValue();
if(pageNow!=1)
{
//显示上一页
out.println("<a href=UsersClServlet?pageNow="+(pageNow-1)+"&&flag=cutpage>上一页</a>");
}
int pageCount=((Integer)request.getAttribute("pageCount")).intValue();
//显示超链接
for(int i=1;i<=pageCount;i++)
{
out.println("<a href=UsersClServlet?pageNow="+i+"&&flag=cutpage> ["+i+"]</a>");
}
if(pageNow!=pageCount)
{
//显示下一页
out.println("<a href=UsersClServlet?pageNow="+(pageNow+1)+"&&flag=cutpage>下一页</a>");
}
%>
<%
%>
</center>
<hr>
<img src="img/logo.png" />
</body>
</html>
web.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>LoginClServlet</servlet-name>
<servlet-class>com.sp.controller.LoginClServlet</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>UsersClServlet</servlet-name>
<servlet-class>com.sp.controller.UsersClServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginClServlet</servlet-name>
<url-pattern>/LoginClServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UsersClServlet</servlet-name>
<url-pattern>/UsersClServlet</url-pattern>
</servlet-mapping>
</web-app>