J2EE学习笔记——MVC模式的用户管理系统(一)
2012-11-15 09:59
417 查看
首先是登录界面:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title> JSP </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><form action="LoginCLServlet" >用户名:<input type="text" name="username"><br>密 码:<input type="text" name="password"><br><input type="submit" value=确定><br></form></body></html>其中 <form action="LoginCLServlet" > 要跳转到 LoginCLServlet LoginCLServlet 代码:
package xuyan.control;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import xuyan.model.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginCLServlet extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String u=request.getParameter("username");String p=request.getParameter("password");UserBeanCL ub=new UserBeanCL();if( ub.checkUser(u, p)){ArrayList al=ub.getUserByPage(1);int pageCount=ub.getpageCount();request.setAttribute("result", al);request.setAttribute("pageCount", pageCount+"");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);}}调用M ,有三个Model 分别为 ConnDB.java UsrBean.java UserBeanCL.javaConnDB.java:
//数据库连接package xuyan.model;import java.sql.*;public class ConnDB {private Connection ct=null;public Connection getConn(){try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=StudentInfo","sa","1234");} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}return ct;}}UserBean.java
//这是一个javabean ,对应user表 ,代表数据package xuyan.model;public class UserBean {private int ID;public int getID() {return ID;}public void setID(int iD) {ID = iD;}public String getStudentname() {return studentname;}public void setStudentname(String studentname) {this.studentname = studentname;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getGrade() {return grade;}public void setGrade(String grade) {this.grade = grade;}private String studentname;private String gender;private String age;private String grade;}UserBeanCL.java
//这是一个处理类 ,bo buyinessobject, 封装对user表的各种操作 增删改查package xuyan.model;import java.util.*;import java.sql.*;public class UserBeanCL {private Connection con=null;private Statement sm=null;private ResultSet rs=null;int pageSize=3;int rowCount=0;int pageCount=0;//关闭资源public void closeConn(){try {if(rs!=null){rs.close();rs=null;}if(sm!=null){sm.close();sm=null;}if(con!=null){con.close();con=null;}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}//删除用户public boolean DeleteUsers( String userID){boolean flag=false;try {con=new ConnDB().getConn();sm=con.createStatement();int a=sm.executeUpdate("delete from student where ID='"+userID+"'");if(a==1){flag=true;}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{closeConn();}return flag;}//添加用户public boolean AddUser(String username,String sex,String age,String grade){boolean flag=false;try {con=new ConnDB().getConn();sm=con.createStatement();int a=sm.executeUpdate("insert into student (studentname,gender,age,grade) values('"+username+"','"+sex+"','"+age+"','"+grade+"')");if(a==1){flag=true;}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{closeConn();}return flag;}//返回总页数public int getpageCount(){try {con=new ConnDB().getConn();sm=con.createStatement();rs=sm.executeQuery("select count(*) from student");//查询共有多少记录if(rs.next()) //此处说明有记录{rowCount=rs.getInt(1);if(rowCount%pageSize==0){pageCount=rowCount/pageSize;}else{pageCount=rowCount/pageSize+1; //int类型 会转化为整数}}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{closeConn();}return pageCount;}//显示用户信息(分页)public ArrayList getUserByPage(int pageNow){ArrayList al=new ArrayList();try {con=new ConnDB().getConn();sm=con.createStatement();rs=sm.executeQuery("select top "+pageSize+"* from student where ID not in(select top "+pageSize*(pageNow-1)+" ID from student)");//开始封装 将 rs 封装到 Arraylist里while(rs.next()){UserBean ub=new UserBean();ub.setID(rs.getInt(1));ub.setStudentname(rs.getString(2));ub.setGender(rs.getString(3));ub.setAge(rs.getString(4));ub.setGrade(rs.getString(5));//将UB放入到 arraylistal.add(ub);}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{closeConn();}return al;}//验证用户书否存在public boolean checkUser(String u,String p){boolean b=false;try {con=new ConnDB().getConn();sm=con.createStatement();rs= sm.executeQuery("select userpswd from userinfo where username='"+u+"' ");if(rs.next()){if(rs.getString(1).equals(p)){b=true;}}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{//关闭资源closeConn();}return b;}}用户名 和密码正确后跳转到 Welcome.jsp 页面
<%@ page language="java" import="java.util.*,java.sql.*,xuyan.model.*" pageEncoding="gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'Welcome.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><%int pageNow=1;String s_pageNow=request.getParameter("s_pageNow");if(s_pageNow!=null){pageNow=Integer.parseInt(s_pageNow);}// UserBeanCL ubc=new UserBeanCL();//ArrayList al=ubc.getUserByPage(pageNow);ArrayList al=(ArrayList)request.getAttribute("result");%><table border="1"><tr><th>ID</th><th>NAME</th><th>SEX</th><th>AGE</th><th>GRADE</th><th>删除</th><th>插入</th></tr><%for(int i=0;i<al.size();i++){//从al中取出userbeanUserBean ub=(UserBean)al.get(i);%><tr><td><%=ub.getID() %></td><td><%=ub.getStudentname() %></td><td><%=ub.getGender() %></td><td><%=ub.getAge() %></td><td><%=ub.getGrade() %></td><td><a href=UserCLServlet?flag=deleteuser&userid=<%=ub.getID() %>>删除记录</a></td><td><a href=InsertNews.jsp>插入</a></td><%}%></tr></table><%String s_pagecount=(String)request.getAttribute("pageCount");int pageCount=Integer.parseInt(s_pagecount);%><br/>共用记录条数:<%=pageCount %><br/>当前页数为 :<%=pageNow %><br/><% for(int i=1;i<=pageCount;i++)out.println("<a href=UserCLServlet?flag=fenye&s_pageNow="+i+">"+i+"</a>");if((pageNow-1)!=0){out.println("<a href=UserCLServlet?flag=fenye&s_pageNow="+(pageNow-1)+">上一页</a>");}if((pageNow+1)<=pageCount){out.println("<a href=UserCLServlet?flag=fenye&s_pageNow="+(pageNow+1)+"> 下一页</a>");}%></body></html>UserCLServlet 这个servlet 负责处理登陆后数据显示 增删改查 UserCLServlet.java
package xuyan.control;import java.io.IOException;import java.io.PrintWriter;import java.util.*;import xuyan.model.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class UserCLServlet extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String getflag=request.getParameter("flag");if(getflag.equals("fenye")){try {int pageNow=Integer.parseInt(request.getParameter("s_pageNow"));UserBeanCL ub=new UserBeanCL();ArrayList al=ub.getUserByPage(pageNow);int pageCount=ub.getpageCount();request.setAttribute("result", al);request.setAttribute("pageCount", pageCount+"");request.getRequestDispatcher("Welcome.jsp").forward(request, response);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}////else if(getflag.equals("deleteuser")){String id=request.getParameter("userid");UserBeanCL ub=new UserBeanCL();if(ub.DeleteUsers(id)){request.getRequestDispatcher("Success.jsp").forward(request, response);}else{request.getRequestDispatcher("New.jsp").forward(request, response);}}else if(getflag.equals("adduser")){String username=request.getParameter("username");String sex=request.getParameter("sex");String age=request.getParameter("age");String grade=request.getParameter("grade");UserBeanCL ub=new UserBeanCL();if(ub.AddUser(username, sex, age, grade)){request.getRequestDispatcher("Success.jsp").forward(request, response);}else{request.getRequestDispatcher("New.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);}}系统界面:
package xuyan.control;import java.io.IOException;import java.io.PrintWriter;import java.util.*;import xuyan.model.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class UserCLServlet extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String getflag=request.getParameter("flag");if(getflag.equals("fenye")){try {int pageNow=Integer.parseInt(request.getParameter("s_pageNow"));UserBeanCL ub=new UserBeanCL();ArrayList al=ub.getUserByPage(pageNow);int pageCount=ub.getpageCount();request.setAttribute("result", al);request.setAttribute("pageCount", pageCount+"");request.getRequestDispatcher("Welcome.jsp").forward(request, response);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}////else if(getflag.equals("deleteuser")){String id=request.getParameter("userid");UserBeanCL ub=new UserBeanCL();if(ub.DeleteUsers(id)){request.getRequestDispatcher("Success.jsp").forward(request, response);}else{request.getRequestDispatcher("New.jsp").forward(request, response);}}else if(getflag.equals("adduser")){String username=request.getParameter("username");String sex=request.getParameter("sex");String age=request.getParameter("age");String grade=request.getParameter("grade");UserBeanCL ub=new UserBeanCL();if(ub.AddUser(username, sex, age, grade)){request.getRequestDispatcher("Success.jsp").forward(request, response);}else{request.getRequestDispatcher("New.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);}}UserCLServletUserCLServlet
相关文章推荐
- linux系统管理学习笔记之四---用户管理
- 学习笔记(6)-----用户管理系统v1.0
- Linux系统命令及Shell脚本学习笔记二:用户管理
- linux系统管理学习笔记之四---用户管理
- 《AIX 5L 系统管理技术》学习笔记之第六章用户和安全的管理
- Oracle 学习笔记2 —— 用户管理
- asp.net2.0系统用户验证学习笔记
- 操作系统学习笔记_10_文档管理 --文件系统
- 黑马程序员学习笔记之九(交通灯管理系统学习)
- Weblogic系统管理学习笔记
- Oracle学习笔记---用户管理
- Ubuntu操作系统学习笔记之文件系统挂载管理
- Linux学习笔记:用户的权限管理
- linux系统管理学习笔记之七---linux文件系统的操作
- 磁盘及文件系统管理_学习笔记
- 3月21日学习笔记-用户和组管理
- Linux 学习笔记_2_Linux系统安装及远程登录管理
- python socket 的使用 - 千月的python linux 系统管理指南学习笔记(20)
- 【鸟哥的linux私房菜-学习笔记】文件系统管理
- Linux 学习笔记_7_Linux用户管理_3_Linux用户管理命令