servlet增删查改

来源:互联网 发布:linux can总线驱动 编辑:程序博客网 时间:2024/05/17 02:57

数据库:

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 {//得到rowCountconnDB 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();}}@Overridepublic 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 {//调用userBeanCLuserBeanCL ubc = new userBeanCL();if(ubc.checkUser(u, p)){//查看是否有需要设置cookieString 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);}//用户信息存入sessionHttpSession hs = req.getSession(true);hs.setMaxInactiveInterval(60);hs.setAttribute("name", u);//将访问次数加1String 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中传递的idif(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中传递的idString 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; //目前显示的页数//动态的接受pageNowString spageNow = req.getParameter("pageNow");if(spageNow != null)pageNow = Integer.parseInt(spageNow);//调用userBeanCLuserBeanCL 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()+" onclick=\"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);}}



0 0
原创粉丝点击