servlet增删查改

数据库:

usebean映射数据库中的表

package com.example;

public class userBean {
	
	private int userId;
	private String username;
	private String passwd;
	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 int getGrade() {
		return grade;
	}
	public void setGrade(int grade) {
		this.grade = grade;
	}
	
	
}

userbeanCl对数据库处理:

package com.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

public class userBeanCL {
	
	private Connection ct = null;
	private PreparedStatement ps = null;
	private ResultSet rs = null;
	private int pageCount = 0;//共有多少页(计算)
	
	public int getPageCount(){
		return this.pageCount;
	}
	
	//修改用户
public boolean updateUser(String id,String passwd, String grade){
		
		boolean b = false;
		try 
		{
			//得到连接
			connDB cd = new connDB();
			ct = cd.getConn();
			String sql = "UPDATE users SET passwd='"+passwd+ "', grade='"+grade+"'  WHERE userId='"+id + "'";
			ps = ct.prepareStatement(sql);
			int num = ps.executeUpdate();
			if(num == 1){
				//删除成功
				b = true;
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			this.close();
		}
		return b;
	}
	//删除用户
	public boolean delUser(String id){
		
		boolean b = false;
		try 
		{
			//得到连接
			connDB cd = new connDB();
			ct = cd.getConn();
			String sql = "delete from users WHERE userid='"+id + "'";
			ps = ct.prepareStatement(sql);
			int num = ps.executeUpdate();
			if(num == 1){
				//删除成功
				b = true;
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			this.close();
		}
		return b;
	}
	
	//分页显示结果
	public ArrayList<userBean> getResultByPage(int pageNow,int pageSize){
		
		ArrayList<userBean> al = new ArrayList<userBean>();
		
		int rowCount = 0;//共有多少条记录(查表)
		
		try 
		{
			//得到rowCount
			connDB cd = new connDB();
			ct = cd.getConn();
			ps = ct.prepareStatement("SELECT COUNT(*) FROM users");
			rs = ps.executeQuery();
			if(rs.next())
			   rowCount = rs.getInt(1);
			//共分为多少页
			if(rowCount % pageSize == 0){
				pageCount = rowCount/pageSize;
			}else{
				pageCount = rowCount/pageSize + 1;
			}
			ps.close();
			rs.close();
			//每页上需要显示的结果
			ps = ct.prepareStatement("SELECT * FROM users LIMIT " + (pageNow-1)*pageSize + ","
							                 + pageSize +";");
			rs = ps.executeQuery();
			
			while(rs.next()){
				//将rs中的每条记录封装到userbean中
				userBean ub = new userBean();
				ub.setUserId(rs.getInt(1));
				ub.setUsername(rs.getString(2));
				ub.setPasswd(rs.getString(3));
				ub.setGrade(rs.getInt(4));
				//将ub放入ArrayList中
				al.add(ub);
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			this.close();
		}
		return al;
	}
	
	//验证用户
	public boolean checkUser(String u,String p){
		boolean b = false;
		try
		{
			//得到连接
			connDB cd = new connDB();
			ct = cd.getConn();
			
			ps = ct.prepareStatement("SELECT passwd FROM users WHERE username=? LIMIT 1;");
			ps.setString(1, u);
			rs = ps.executeQuery();
			if(rs.next()){
				String dbPasswd = rs.getString(1);
				if(dbPasswd.equals(p)){
					b = true;
				}
			}
			
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			this.close();
		}
		
		return b;
	}
	
	//关闭资源
	public void close(){
		try {
			if(rs != null){
				rs.close();
				rs = null;
			}
			if(ps != null){
				ps.close();
				ps = null;
			}
			if(ct != null){
				ct.close();
				ct = null;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

connDB连接数据库得到Connection

package com.example;

import java.sql.Connection;
import java.sql.DriverManager;

public class connDB {

	private Connection ct = null;

	public Connection getConn() {
		
		try 
		{
			Class.forName("com.mysql.jdbc.Driver");
			ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/yuippe", "root", "123456");
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		
		return ct;
	}
}

----------------------------------------------------------------------------------------------------------------------------------------------

登陆页面login:

package com.example;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Login extends HttpServlet{

	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		resp.setContentType("text/html;charset=utf-8");
		
		PrintWriter pw = resp.getWriter();
		pw.println("<html>");
		pw.println("<body bgcolor=#CED3FF>");
		pw.println("<img src=imgs/1.gif><hr><center>");
		pw.println("<h1>登陆界面</h1>");
		pw.println("<form action=logincl method=post>");
		pw.println("用户名:<input type=text name=username><br>");
		pw.println("密码:<input type=password name=passwd><br>");
		pw.println("<input type=checkbox name=keep value=2>两周内不再重新登陆<br>");
		pw.println("<input type=submit value=login><br>");
		pw.println("</form></center>");
		pw.println("<hr><img src=imgs/2.gif>");
		pw.println("</body>");
		pw.println("</html>");
		
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

主页面Main

//主界面
package com.example;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Main extends HttpServlet{

	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		resp.setContentType("text/html;charset=utf-8");
		
		PrintWriter pw = resp.getWriter();
		pw.println("<html>");
		pw.println("<body bgcolor=#CED3FF>");
		pw.println("<img src=imgs/1.gif><hr><center>");
		pw.println("<h1>主界面</h1>");
		pw.println("<a href=wel>管理用户</a><br>");
		pw.println("<a href=???>添加用户</a><br>");
		pw.println("<a href=???>查找用户</a><br>");
		pw.println("<a href=???>安全退出</a><br>");
		pw.println("</center><hr><img src=imgs/2.gif>");
		pw.println("</body>");
		pw.println("</html>");
		
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

loginCl登陆验证处理:

//用户验证
package com.example;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
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;

public class LoginCL extends HttpServlet{
	
	//重写
	public void init() throws ServletException {
		try {
			FileReader fr = new FileReader("E:/workspace/myWebApp/MyCount.txt");
			BufferedReader br = new BufferedReader(fr);
			//读取一行数据
			String numVal = br.readLine();
			//关闭
			br.close();
			
			//将文本中的数据写入Context中
			this.getServletContext().setAttribute("visitTimes", numVal);
			
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	@Override
	public void destroy() {
		try {
			FileWriter fw = new FileWriter("E:/workspace/myWebApp/MyCount.txt");
			BufferedWriter bw = new BufferedWriter(fw);
			bw.write(this.getServletContext().getAttribute("visitTimes").toString());
			bw.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		//接受用户名和密码
		String u = req.getParameter("username");
		String p = req.getParameter("passwd");
		
		//操作数据库
		Connection ct = null;
		Statement stat = null;
		ResultSet rs = null;
		
		try {
			//调用userBeanCL
			userBeanCL ubc = new userBeanCL();
			if(ubc.checkUser(u, p)){
				//查看是否有需要设置cookie
				String keep = req.getParameter("keep");
				if(keep != null){
					//将用户名与密码保存在客户端
					Cookie name = new Cookie("myname", u);
					Cookie pass = new Cookie("mypasswd", p);
					//设置时间
					name.setMaxAge(14*24*3600);
					pass.setMaxAge(14*24*3600);
						
					resp.addCookie(name);
					resp.addCookie(pass);
				}
					
				//用户信息存入session
				HttpSession hs = req.getSession(true);
				hs.setMaxInactiveInterval(60);
				hs.setAttribute("name", u);
				
				//将访问次数加1
				String time = this.getServletContext().getAttribute("visitTimes").toString();
				this.getServletContext().setAttribute("visitTimes", (Integer.parseInt(time) + 1)+""); 
				
				//跳转
				resp.sendRedirect("Main");
			}
			else{
				resp.sendRedirect("login");
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try 
			{
				if(rs != null){
					rs.close();
				}
				if(stat != null){
					stat.close();
				}
				if(ct != null){
					ct.close();
				}
			
			} catch (Exception e) {
					e.printStackTrace();
				
			}
		}
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}


update与updateCl

package com.example;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Update extends HttpServlet{

	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		resp.setContentType("text/html;charset=utf-8");
		
		PrintWriter pw = resp.getWriter();
		pw.println("<html>");
		pw.println("<body bgcolor=#CED3FF>");
		pw.println("<img src=imgs/1.gif><hr><center>");
		
		pw.println("<h1>修改用户界面</h1>");
		pw.println("<form action=UpdateCl>");
		pw.println("<table border=1>");
		pw.println("<tr><td>id</td><td><input type=text readonly name=userid value="+req.getParameter("uId")+"></td></tr>");
		pw.println("<tr><td>name</td><td><input type=text readonly value="+req.getParameter("uName")+"></td></tr>");
		pw.println("<tr><td>passwd</td><td><input type=text name=newPass value="+req.getParameter("uPass")+"></td></tr>");
		pw.println("<tr><td>grade</td><td><input type=text name=newGrade value="+req.getParameter("ugrade")+"></td></tr>");
		pw.println("<tr><td colspan=2><input type=submit value=修改用户></td></tr>");
		pw.println("</table></form>");
		
		pw.println("</center><hr><img src=imgs/2.gif>");
		pw.println("</body>");
		pw.println("</html>");
		
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

package com.example;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UpdateCl extends HttpServlet{

	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
			try 
			{
				resp.setContentType("text/html;charset=utf-8");
				userBeanCL ubc = new userBeanCL();
				//接受从wel.java中传递的id
				if(ubc.updateUser(req.getParameter("userid"), req.getParameter("newPass"), req.getParameter("newGrade")))
				{
					//删除成功
					resp.sendRedirect("Ok");
				}else
				{
					//删除失败
					resp.sendRedirect("Err");
				}
				
			} catch (Exception e) {
				e.printStackTrace();
			}
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}


delUserCl

package com.example;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DelUserCl extends HttpServlet{

	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
			try 
			{
				resp.setContentType("text/html;charset=utf-8");
				userBeanCL ubc = new userBeanCL();
				//接受从wel.java中传递的id
				String id = req.getParameter("userid");
				if(ubc.delUser(id))
				{
					//删除成功
					resp.sendRedirect("Ok");
				}else
				{
					//删除失败
					resp.sendRedirect("Err");
				}
				
			} catch (Exception e) {
				e.printStackTrace();
			}
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

wel:

//欢迎界面
package com.example;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import javax.servlet.ServletException;
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;

public class Wel extends HttpServlet{
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		HttpSession hs = req.getSession(true);
		String val = (String)hs.getAttribute("name");
		String name="";
		String passwd="";
		
		//判断
		if(val == null){
			//session中没有用户信息,在查看cookie信息
			Cookie[] allCookies = req.getCookies();
			int i = 0;
			if(allCookies != null){
				for(i = 0; i < allCookies.length; i++){
					//依次取出
					Cookie temp = allCookies[i];
					if(temp.getName().equals("myname")){
						name = temp.getValue();
					}else if(temp.getName().equals("mypasswd")){
						passwd = temp.getValue();
					}
				}
				
				if(!name.equals("")&&!passwd.equals("")){
					//跳转到logincl去验证信息
					resp.sendRedirect("logincl?username=" + name + "&passwd=" + passwd);
					return;
				}
				
			}
			
			resp.sendRedirect("login");
		}
		
		//分页
		int pageSize = 3;//一页显示几条记录
		int pageNow = 1; //目前显示的页数
		
		
		//动态的接受pageNow
		String spageNow = req.getParameter("pageNow");
		if(spageNow != null)
		pageNow = Integer.parseInt(spageNow);
		
		//调用userBeanCL
		userBeanCL ubc = new userBeanCL();
		ArrayList<userBean> al = ubc.getResultByPage(pageNow, pageSize);
		
			resp.setContentType("text/html;charset=utf-8");
			PrintWriter pw = resp.getWriter();
			pw.println("<html>");
			
			pw.println("<body bgcolor=#CED3FF>");
			pw.println("<img src=imgs/1.gif>");
			pw.println("<a href=Main>返回到主界面</a>");
			pw.println("<hr><center><h1>管理用户</h1>");
			
			//做一个超链接
			pw.println("<br><a href = login>返回重新登陆</a>");
			pw.println("<table border='1'>");
			//显示结果表格
			pw.println("<tr bgcolor=pink><th>userId</th><th>username</th><th>passwd</th><th>grade</th>"+
			"<th>修改用户</th><th>删除用户</th>"+"</tr>");
			
			//定义一颜色数组
			String[] mycol = {"silver", "pink"};
			
			for(int i = 0; i < al.size(); i++)
			{
				userBean ub = al.get(i);
				pw.println("<tr bgcolor="+ mycol[i%2]+">");
				pw.println("<td>" + ub.getUserId() + "</td>");
				pw.println("<td>" + ub.getUsername() + "</td>");
				pw.println("<td>" + ub.getPasswd() + "</td>");
				pw.println("<td>" + ub.getGrade() + "</td>");
				pw.println("<td><a href=Update?uId="+ub.getUserId()
						   +"&uName="+ub.getUsername()+"&uPass="
						   +ub.getPasswd()+"&ugrade="+ub.getGrade()+">修改用户</a></td>");
				pw.println("<td><a href=DelUserCl?userid="+ub.getUserId()+" οnclick=\"return window.confirm('您确认要删除该用户吗?')\">删除用户</a></td>");
				pw.println("</tr>");
			}
			pw.println("</table>");
			//显示上一页
			if(pageNow != 1)
			pw.println("<a href=wel?pageNow=" + (pageNow-1) + ">"+"上一页"+"</a>");
			//显示5个页面超链接
			for(int i=pageNow; i < pageNow+5; i++){
				pw.println("<a href=wel?pageNow="+i+">" +i+ "</a>");
			}
			//显示下一页
			int pageCount = ubc.getPageCount();
			if(pageNow != pageCount)
			pw.println("<a href=wel?pageNow=" + (pageNow+1) + ">"+"下一页"+"</a><br>");
			//指定跳转到页
			pw.println("<form action=wel>");
			pw.println("<input type=text name=pageNow>");
			pw.println("<input type=submit value=go>");
			pw.println("</form>");
			
			pw.println("您的页面被访问了" + this.getServletContext().getAttribute("visitTimes") +"次<br>");
			pw.println("您的ip=" + req.getRemoteAddr() + "<br>");
			pw.println("您的机器名为=" + req.getRemoteHost() + "<br>");
			pw.println("</center><hr><img src=imgs/2.gif>");
			pw.println("</body>");
			pw.println("</html>");

	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

Err:

package com.example;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Err extends HttpServlet{

	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		resp.setContentType("text/html;charset=utf-8");
		
		PrintWriter pw = resp.getWriter();
		pw.println("<html>");
		pw.println("<body bgcolor=#CED3FF>");
		pw.println("<img src=imgs/1.gif><hr><center>");
		pw.println("<h1>很遗憾,操作失败</h1>");
		pw.println("<a href=Main>返回主界面</a>     <a href=wel>继续删除</a>");
		pw.println("</center><hr><img src=imgs/2.gif>");
		pw.println("</body>");
		pw.println("</html>");
		
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}


ok:

package com.example;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Ok extends HttpServlet{

	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		resp.setContentType("text/html;charset=utf-8");
		
		PrintWriter pw = resp.getWriter();
		pw.println("<html>");
		pw.println("<body bgcolor=#CED3FF>");
		pw.println("<img src=imgs/1.gif><hr><center>");
		pw.println("<h1>恭喜你,操作成功</h1>");
		pw.println("<a href=Main>返回主界面</a>     <a href=wel>继续</a>");
		pw.println("</center><hr><img src=imgs/2.gif>");
		pw.println("</body>");
		pw.println("</html>");
		
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值