实现用户的增删改查
文件目录
1.1InfoInteract.java
package com.lbf.controller;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.lbf.domain.User;
import com.lbf.services.UserServices;
/**
* Servlet implementation class InfoInteract
*/
@WebServlet("/InfoInteract")
public class InfoInteract extends HttpServlet {
private static final long serialVersionUID = 1L;
public void destroy() {
String filePath = this.getServletContext().getRealPath("record.text");
FileWriter fw=null;
BufferedWriter bw=null;
try {
fw = new FileWriter(filePath);
bw = new BufferedWriter(fw);
String nums = (String) this.getServletContext().getAttribute("nums");
bw.write(nums);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(bw!=null){
try {
bw.close();
bw=null;
} catch (IOException e) {
e.printStackTrace();
}
}
if(fw!=null){
try {
fw.close();
fw=null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void init() throws ServletException {
String filePath = this.getServletContext().getRealPath("record.text");
FileReader fr=null;
BufferedReader br=null;
try {
fr = new FileReader(filePath);
br = new BufferedReader(fr);
String nums = br.readLine();
this.getServletContext().setAttribute("nums", nums);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(br!=null){
try {
br.close();
br=null;
} catch (IOException e) {
e.printStackTrace();
}
}
if(fr!=null){
try {
fr.close();
fr=null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
HttpSession session = request.getSession();
String cie = request.getParameter("cie");
String id = request.getParameter("id");
String password = request.getParameter("password");
UserServices userservices = new UserServices();
User user = new User();
user.setId(Integer.parseInt(id));
user.setPwd(password);
if(userservices.checkUser(user)){
session.setAttribute("user", userservices.getUserById(id));
ServletContext sc = this.getServletContext();
String nums = (String) sc.getAttribute("nums");
sc.setAttribute("nums", (Integer.parseInt(nums)+1)+"");
if(cie!=null&&cie.equals("kc")){
Cookie cookie1 = new Cookie("id",id);
Cookie cookie2 = new Cookie("pwd",password);
cookie1.setMaxAge(7*24*3600);
cookie2.setMaxAge(7*24*3600);
response.addCookie(cookie1);
response.addCookie(cookie2);
//request.getRequestDispatcher("/MainGUI").forward(request, response);
response.sendRedirect("/UserManager2/MainGUI");
}else{
response.sendRedirect("/UserManager2/MainGUI");
//request.getRequestDispatcher("/MainGUI").forward(request, response);
}
}else{
request.setAttribute("err", "输入账户或密码有误!");
request.getRequestDispatcher("/LoginGUI").forward(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
1.2SearchUserCl.java
package com.lbf.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lbf.domain.User;
/**
* Servlet implementation class SerachUserCl
*/
@WebServlet("/SerachUserCl")
public class SerachUserCl extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
ArrayList<User> al = (ArrayList<User>) request.getAttribute("users");
out.println("<table border=1 bordercolor=green>");
out.println("<tr><th>ID</th><th>用户名</th><th>邮箱</th><th>级别</th></tr>");
//获得每列信息
for(User u:al){
out.println("<tr><td>"+u.getId()+"</td><td>"
+u.getName()+"</td><td>"+u.getEmail()+"</td><td>"+u.getGrade()+"</td></tr>");
}
out.println("</table></br>");
out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
1.3UserClServlet.java
package com.lbf.controller;
import java.io.*;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lbf.domain.User;
import com.lbf.services.UserServices;
/**
* Servlet implementation class DelClServlet
*/
@WebServlet("/UserClServlet")
public class UserClServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
UserServices userServices = new UserServices();
String type = request.getParameter("type");
if("del".equals(type)){
String id = request.getParameter("id");
if(userServices.DelUser(id)){
request.setAttribute("info", "删除成功");
request.getRequestDispatcher("/Ok").forward(request, response);
}else{
request.setAttribute("info", "删除失败");
request.getRequestDispatcher("/Err").forward(request, response);
}
}else if("gotoUpd".equals(type)){
String id = request.getParameter("id");
User user = userServices.getUserById(id);
request.setAttribute("userinfo", user);
request.getRequestDispatcher("/UpdUserGUI").forward(request, response);
}else if("update".equals(type)){
String id = request.getParameter("id");
String username = request.getParameter("username");
String email = request.getParameter("email");
String grade = request.getParameter("grade");
String passwd = request.getParameter("passwd");
User user = new User(Integer.parseInt(id),username,email,Integer.parseInt(grade),passwd);
if(userServices.updUser(user)){
request.setAttribute("info", "修改成功");
request.getRequestDispatcher("/Ok").forward(request, response);
}else{
request.setAttribute("info", "修改失败");
request.getRequestDispatcher("/Err").forward(request, response);
}
}else if("gotoAddUser".equals(type)){
request.getRequestDispatcher("/AddUserGUI").forward(request, response);
}else if("add".equals(type)){
String id = request.getParameter("id");
String username = request.getParameter("username");
String email = request.getParameter("email");
String grade = request.getParameter("grade");
String passwd = request.getParameter("passwd");
//User user = new User(Integer.parseInt(id),username,email,Integer.parseInt(grade),passwd);
User user = new User();
user.setName(username);
user.setEmail(email);
user.setGrade(Integer.parseInt(grade));
user.setPwd(passwd);
if(userServices.addUser(user)){
request.setAttribute("info", "添加成功");
request.getRequestDispatcher("/Ok").forward(request, response);
}else{
request.setAttribute("info", "添加失败");
request.getRequestDispatcher("/Err").forward(request, response);
}
}else if("gotoSearchUser".equals(type)){
request.getRequestDispatcher("/SearchUser").forward(request, response);
}else if("search".equals(type)){
String name=request.getParameter("search");
ArrayList<User> user=userServices.searchUser(name);
if(userServices.searchUser1(name)){
request.setAttribute("users",user);
request.getRequestDispatcher("/SerachUserCl").forward(request, response);
}else{
request.setAttribute("info", "查找用户不存在");
request.getRequestDispatcher("/Err").forward(request, response);
}
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.User.java
package com.lbf.domain;
public class User {
private int id;
private String pwd;
private String name;
private String email;
private int grade;
public User() {
super();
}
public User(int id, String name, String email, int grade, String pwd) {
this.id = id;
this.name = name;
this.email = email;
this.grade = grade;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
3.CountFilter.java
package com.lbf.filter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class CountFilter implements Filter {
private String charset = null;
private ServletContext context = null;
private String path = "";
@Override
public void destroy() {
FileWriter fw = null;
BufferedWriter bw = null;
String nums = (String) context.getAttribute("nums");
try {
/*String path1 = context.getRealPath("");
path = path1+"record.text";*/
fw = new FileWriter(path);
bw = new BufferedWriter(fw);
bw.write(nums);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(bw!=null){
try {
bw.close();
bw = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fw!=null){
try {
fw.close();
fw = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
String path = ((HttpServletRequest)request).getServletPath();//获取每次访问的action的相对路径
if(path.endsWith("/LoginGUI")){
context.setAttribute("nums",Integer.parseInt(context.getAttribute("nums").toString())+1+"");
}
request.setCharacterEncoding(charset);
response.setCharacterEncoding(charset);
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
FileWriter ft = null;
BufferedWriter bw = null;
FileReader fr = null;
BufferedReader br = null;
String nums = null;
System.out.println("filter初始化");
//获取编码格式
charset = arg0.getInitParameter("encoding");
//获取servletContext
context = arg0.getServletContext();
System.out.println(charset);
String path1 = context.getRealPath("");
path = path1+"record.text";
File file = new File(path);
if(!file.exists()){
file = new File(path);
}
try {
ft = new FileWriter(file);
bw = new BufferedWriter(ft);
bw.write(1+"");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(bw!=null){
try {
bw.close();
bw = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(ft!=null){
try {
ft.close();
ft=null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
try {
fr = new FileReader(path);
br = new BufferedReader(fr);
nums = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(br!=null){
try {
br.close();
br = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fr!=null){
try {
fr.close();
fr = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
context.setAttribute("nums", nums);
}
}
4.UserServices
package com.lbf.services;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import com.lbf.domain.User;
import com.lbf.util.SqlHelper;
public class UserServices {
public boolean DelUser(String id){
boolean b = true;
String sql = "delete from users where id=?";
String parameters[]={id};
try {
SqlHelper.executeUpdate(sql, parameters);
} catch (Exception e) {
b = false;
}
return b;
}
public User getUserById(String id){
User user = new User();
String sql = "select * from users where id=?";
String parameters[] = {id};
ResultSet rs = SqlHelper.executeQuery(sql, parameters);
try {
if(rs.next()){
user.setId(rs.getInt(1));
user.setName(rs.getString(2));
user.setEmail(rs.getString(3));
user.setGrade(rs.getInt(4));
user.setPwd(rs.getString(5));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getCt());
}
return user;
}
//得到页数
public int getPageSize(int pageCount){
int pageSum = 0;
String sql = "select count(*) from users ";
ResultSet rs = SqlHelper.executeQuery(sql, null);
try {
rs.next();
pageSum = rs.getInt(1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (pageSum-1)/pageCount+1;
}
public ArrayList getUsersByPage(int pageNow,int pageCount){
ArrayList<User> al = new ArrayList<User>();
String sql = "select * from (select t.*, rownum rn from (select * from users order by id) t "
+ "where rownum<="+pageNow*pageCount+") where rn>="+(pageCount*(pageNow-1)+1)+"";
ResultSet rs = SqlHelper.executeQuery(sql, null);
//二次封装
try {
while(rs.next()){
User user = new User();
user.setId(rs.getInt(1));
user.setName(rs.getString(2));
user.setEmail(rs.getString(3));
user.setGrade(rs.getInt(4));
al.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getCt());
}
return al;
}
public boolean checkUser(User user){
boolean b = false;
String sql = "select * from users where id=? and passwd=?";
String parameters[]={user.getId()+"",user.getPwd()};
ResultSet rs = SqlHelper.executeQuery(sql, parameters);
try {
if(rs.next()){
b=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getCt());
}
return b;
}
public boolean updUser(User user){
boolean b = true;
String sql = "update users set username=?,email=?,grade=?,passwd=? where id=?";
String parameters[]={user.getName(),user.getEmail(),user.getGrade()+"",user.getPwd(),user.getId()+""};
try {
SqlHelper.executeUpdate(sql, parameters);
} catch (Exception e) {
b=false;
}
return b;
}
public boolean addUser(User user){
boolean b = true;
//String sql = "insert into users values(?,?,?,?,?)";
//设置成自增长模式
String sql = "insert into users values(user_sequ.nextval,?,?,?,?)";
//String parameters[]={user.getId()+"",user.getName(),user.getEmail(),user.getGrade()+"",user.getPwd()};
String parameters[]={user.getName(),user.getEmail(),user.getGrade()+"",user.getPwd()};
try {
SqlHelper.executeUpdate(sql, parameters);
}catch (Exception e) {
b=false;
}
return b;
}
public ArrayList searchUser(String name){
User user = new User();
ArrayList<User> al = new ArrayList<User>();
String sql ="select * from users where username=?";
String[] parametres={name};
ResultSet rs = SqlHelper.executeQuery(sql, parametres);
try {
if(rs.next()){
user.setId(rs.getInt(1));
user.setName(rs.getString(2));
user.setEmail(rs.getString(3));
user.setGrade(rs.getInt(4));
al.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getConnection());
}
return al;
}
public boolean searchUser1(String name){
boolean b = false;
User user = new User();
ArrayList<User> al = new ArrayList<User>();
String sql ="select * from users where username=?";
String[] parametres={name};
ResultSet rs = SqlHelper.executeQuery(sql, parametres);
try {
if(rs.next()){
b = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return b;
}
}
5.SqlHelper.java
package com.lbf.util;
import java.io.*;
import java.sql.*;
import java.util.Properties;
public class SqlHelper {
private static Connection ct = null;
private static PreparedStatement ps = null;
private static ResultSet rs = null;
private static CallableStatement cs = null;
//连接数据库参数
private static String url="";
private static String username="";
private static String password="";
private static String driver="";
private static Properties pp=null;
private static InputStream fis=null;
public static CallableStatement getCs()
{
return cs;
}
static{
try {
pp=new Properties();
//fis= new FileInputStream("dbinfo.properties");
fis=SqlHelper.class.getClassLoader().getResourceAsStream("com/lbf/util/dbinfo.properties");
pp.load(fis);
url=pp.getProperty("url");
username = pp.getProperty("username");
password = pp.getProperty("password");
driver = pp.getProperty("driver");
Class.forName(driver);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(fis!=null){
fis.close();
fis = null;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
//得到连接
public static Connection getConnection()
{
try{
ct = DriverManager.getConnection(url,username,password);
}
catch(Exception e) {e.printStackTrace();}
return ct;
}
//*************callPro1存储过程函数1*************
public static CallableStatement callPro1(String sql,String[] parameters)
{
try{
ct = getConnection();
cs = ct.prepareCall(sql);
if(parameters!=null){
for(int i=0;i<parameters.length;i++){
cs.setObject(i+1,parameters[i]);
}
}
cs.execute();
}
catch(Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage());}
finally
{ close(rs,cs,ct);}
return cs;
}
//*******************callpro2存储过程2************************
public static CallableStatement callPro2(String sql,String[] inparameters,
Integer[] outparameters)
{
try
{
ct = getConnection();
cs = ct.prepareCall(sql);
if(inparameters!=null)
{
for(int i=0;i<inparameters.length;i++)
{
cs.setObject(i+1,inparameters[i]);
}
}
//cs.registerOutparameter(2,oracle.jdbc.OracleTypes.CURSOR);
if(outparameters!=null)
{
for(int i=0;i<outparameters.length;i++)
{
cs.registerOutParameter(inparameters.length+1+i,outparameters[i]);
}
}
cs.execute();
}
catch(Exception e) {
e.printStackTrace(); throw new RuntimeException(e.getMessage());
}
finally
{
}
return cs;
}
public static ResultSet executeQuery(String sql,String[] parameters)
{
try
{
ct=getConnection();
ps=ct.prepareStatement(sql);
if(parameters!=null)
{
for(int i=0;i<parameters.length;i++)
{
ps.setString(i+1,parameters[i]);
}
}
rs = ps.executeQuery();
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
finally
{
}
return rs;
}
public static Connection getCt()
{
return ct;
}
public static PreparedStatement getPs()
{
return ps;
}
public static ResultSet getRs()
{
return rs;
}
public static void executeUpdate2(String[] sql,String[][] parameters)
{
try
{
ct = getConnection();
ct.setAutoCommit(false);
for(int i=0;i<sql.length;i++)
{
if(null!=parameters[i])
{
ps = ct.prepareStatement(sql[i]);
for(int j=0;j<parameters[i].length;j++)
{
ps.setString(j+1,parameters[i][j]);
}
ps.executeUpdate();
}
}
ct.commit();
}catch (Exception e)
{
e.printStackTrace();
try
{
ct.rollback();
}
catch (SQLException e1)
{
e1.printStackTrace();
}
throw new RuntimeException(e.getMessage());
}finally
{
close(rs,ps,ct);
}
}
//先写一个update、delete、insert
//sql格式:update 表名 set 字段名 =?where 字段=?
//parameter神应该是(”abc“,23)
public static void executeUpdate(String sql,String[] parameters)
{
try
{
ct=getConnection();
ps = ct.prepareStatement(sql);
if(parameters!=null)
{
for(int i=0;i<parameters.length;i++)
{
ps.setString(i+1,parameters[i]);
}
}
ps.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();//开发阶段
//抛出异常
//可以处理,也可以不处理
throw new RuntimeException(e.getMessage());
}
finally
{
close(rs,ps,ct);
}
}
public static void close(ResultSet rs,Statement ps,Connection ct)
{
//关闭资源(先开后关)
if(rs!=null)
{
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
rs=null;
}
if(ps!=null)
{
try
{
ps.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
ps=null;
}
if(null!=ct)
{
try{
ct.close();
}
catch(SQLException e) {
e.printStackTrace();
}
ct=null;
}
}
}
6.1AddUserGUI.java
package com.lbf.view;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lbf.domain.User;
/**
* Servlet implementation class AddUserGUI
*/
@WebServlet("/AddUserGUI")
public class AddUserGUI extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
User user = (User) request.getAttribute("userinfo");
out.println("<h1>添加用户</h1>");
out.println("<form action='/UserManager2/UserClServlet?type=add' method='post'/>");
out.println("<table border=1 bordercolor=green>");
//out.println("<tr><td>id</td><td><input type='text' name='id'/></td></tr>");
out.println("<tr><td>用户名</td><td><input type='text' name='username'/></td></tr>");
out.println("<tr><td>email</td><td><input type='text' name='email'/></td></tr>");
out.println("<tr><td>级别</td><td><input type='text' name='grade'/></td></tr>");
out.println("<tr><td>密码</td><td><input type='password' name='passwd'/></td></tr>");
//out.println("<tr><td><input type='submit' value='修改'/> </td><td><input type='reset' value='重置'/></td></tr>");
out.println("</table>");
out.println("<input type='submit' value='提交'/> <input type='reset' value='重置'/>");
out.println("</form>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
6.2Err.java
package com.lbf.view;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Err
*/
@WebServlet("/Err")
public class Err extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("对不起"+request.getAttribute("info")+"!</br>");
out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
6.3LoginGUI.java
package com.lbf.view;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LoginGUI
*/
@WebServlet("/LoginGUI")
public class LoginGUI extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
; response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String id="";
String pwd = "";
Cookie[] cookies =request.getCookies();
if(cookies!=null){
for(Cookie cookie:cookies){
if(cookie.getName().equals("id")){
id = cookie.getValue();
}
else if(cookie.getName().equals("pwd")){
pwd = cookie.getValue();
}
}
}
out.println("<body bgcolor='#d0ffdf'>");
out.println("<img src='images/fly.jpg' height='128'/><hr/>");
out.println("<h1>用户登录</h1><br/>");
out.println("<form action='/UserManager2/InfoInteract' method='post'>");
out.println("账号:<input type='text' name='id' value='"+id+"' /><br/>");
out.println("密码:<input type='password' name='password' value='"+pwd+"'/><br/>");
out.println("是否保存登入信息<input type='checkbox' name='cie' value='kc'/><br/>");
out.println("<input type='submit' value='登入'/>");
out.println("<input type='reset' value='重置'/></br>");
out.println("</form>");
out.println("</body>");
String errinfo = (String) request.getAttribute("err");
if(errinfo!=null){
out.println(errinfo);
}
out.println("</br><img src='images/horse.jpg' height='128'/><hr/>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
6.4MainGUI.java
package com.lbf.view;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.lbf.domain.User;
/**
* Servlet implementation class MainGUI
*/
@WebServlet("/MainGUI")
public class MainGUI extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
ServletContext sc = this.getServletConfig().getServletContext();
String nums = (String) sc.getAttribute("nums");
//out.println("<body background='images/mbg.jpg'/>");
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
//String name1 = user.getName();
//System.out.println(name1);
// out.print("<h1>欢迎"+user.getName()+"登入</h1>");
Cookie[] cookies = request.getCookies();
boolean b = false;
if(cookies!=null){
for(Cookie cookie:cookies){
String name = cookie.getName();
if("logintime".equals(name)){
out.print("您上次登入的时间:"+cookie.getValue());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowtime = sdf.format(new Date());
cookie.setValue(nowtime);
cookie.setMaxAge(7*24*3600);
response.addCookie(cookie);
b = true;
break;
}
}
}
if(!b){
out.println("您是第一次登录");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
String nowtime = sdf.format(new Date());
Cookie cookie = new Cookie("logintime",nowtime);
cookie.setMaxAge(7*24*3600);
response.addCookie(cookie);
}
out.println("<a href='/UserManager2/LoginGUI'>返回登入界面</a><br/>");
out.println("<a href='/UserManager2/ManagerUser'>管理用户</a><br/>");
out.println("<a href='/UserManager2/UserClServlet?type=gotoAddUser'>添加用户</a><br/>");
out.println("<a href='/UserManager2/UserClServlet?type=gotoSearchUser'>查找用户</a><br/>");
out.println("<a href='/UserManager2/LoginGUI'>退出系统</a><br/>");
out.println("该页面第"+nums+"次被访问");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
6.5ManagerUser.java
package com.lbf.view;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lbf.domain.User;
import com.lbf.services.UserServices;
/**
* Servlet implementation class ManagerUser
*/
@WebServlet("/ManagerUser")
public class ManagerUser extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Connection cn = null;
PreparedStatement ps = null;
ResultSet rs = null;
int pageNow = 1;
//得到该页是第几页
String spg = request.getParameter("pageNow");
//防止登入时为空,做出判断
if(spg!=null){
pageNow = Integer.parseInt(spg);
}
int pageCount = 3;//每页显示条数
int pageSum = 1;
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println("<script type='text/javascript' lanauage='javascript'> "
+ "function gotoPage(){"
+ "var pgn=document.getElementById('pgn');"
+ "var pageNow=pgn.value;"
+ "window.open('/UserManager2/ManagerUser?pageNow='+pageNow,'_self');}"
+ "function checkDel(){"
+ " return window.confirm('是否删除')}");
out.println("</script>");
out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
out.println("<a href='/UserManager2/LoginGUI'>退出系统</a>");
try {
UserServices userservices= new UserServices();
int pageSize = userservices.getPageSize(pageCount);
ArrayList<User> al = userservices.getUsersByPage(pageNow, pageCount);
out.println("<table border=1 bordercolor=green>");
out.println("<tr><th>ID</th><th>用户名</th><th>邮箱</th><th>级别</th><th>删除用户</th><th>修改用户</th></tr>");
//获得每列信息
for(User u:al){
out.println("<tr><td>"+u.getId()+"</td><td>"
+u.getName()+"</td><td>"+u.getEmail()+"</td><td>"+u.getGrade()+"</td><td><a onClick='return checkDel()' href='/UserManager2/UserClServlet?type=del&id="+u.getId()+"'>删除用户</a>"
+ "</td><td><a href='/UserManager2/UserClServlet?type=gotoUpd&id="+u.getId()+"'>修改用户</a></td></tr>");
}
out.println("</table></br>");
//判断是否是第一页
if(pageNow!=1){
out.println("<a href='/UserManager2/ManagerUser?pageNow="+(pageNow-1)+"'><上一页></a>");
}
//按顺序显示页数
for(int i=1;i<=pageSize;i++){
out.println("<a href='/UserManager2/ManagerUser?pageNow="+i+"'><"+i+"></a>");
}
//判断是否是最后一页
if(pageNow!=pageSize){
out.println("<a href='/UserManager2/ManagerUser?pageNow="+(pageNow+1)+"'><下一页></a>");
}
out.println(" 第"+pageNow+"页"+"/共"+pageSize+"页");
out.println("<br/>跳转到第<input type='text' id='pgn' name='pageNow'/>页<input type='button' οnclick='gotoPage()' value='跳转'/>");
}catch(Exception e){
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
6.6Ok.java
package com.lbf.view;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Ok
*/
@WebServlet("/Ok")
public class Ok extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("恭喜你,"+request.getAttribute("info")+"!</br>");
out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
6.7SearchUser.java
package com.lbf.view;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Ok
*/
@WebServlet("/Ok")
public class Ok extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("恭喜你,"+request.getAttribute("info")+"!</br>");
out.println("<a href='/UserManager2/MainGUI'>返回主界面</a>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
6.8UpdUserGUI.java
package com.lbf.view;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lbf.domain.User;
import com.lbf.services.UserServices;
/**
* Servlet implementation class UpdClServlet
*/
@WebServlet("/UpdUserGUI")
public class UpdUserGUI extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
User user = (User) request.getAttribute("userinfo");
out.println("<h1>修改用户</h1>");
out.println("<form action='/UserManager2/UserClServlet?type=update' method='post'/>");
out.println("<table border=1 bordercolor=green>");
out.println("<tr><td>id</td><td><input type='text' name='id' readonly value='"+user.getId()+"'/></td></tr>");
out.println("<tr><td>用户名</td><td><input type='text' name='username' value='"+user.getName()+"'/></td></tr>");
out.println("<tr><td>email</td><td><input type='text' name='email' value='"+user.getEmail()+"'/></td></tr>");
out.println("<tr><td>级别</td><td><input type='text' name='grade' value='"+user.getGrade()+"'/></td></tr>");
out.println("<tr><td>密码</td><td><input type='text' name='passwd' value='"+user.getPwd()+"'/></td></tr>");
//out.println("<tr><td><input type='submit' value='修改'/> </td><td><input type='reset' value='重置'/></td></tr>");
out.println("</table>");
out.println("<input type='submit' value='修改'/> <input type='reset' value='重置'/>");
out.println("</form>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
7dbinfo.properties
url = jdbc:oracle:thin:@localhost:1521:orcl
username = scott
driver = oracle.jdbc.driver.OracleDriver
password = tiger
8.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>UserManager2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>CountFilter</filter-name>
<filter-class>com.lbf.filter.CountFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CountFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>