基于javaweb+mysql的jsp+servlet球队nba及其周边商城系统(java+jdbc+servlet+jsp+mysql)

基于javaweb+mysql的jsp+servlet球队nba及其周边商城系统(java+jdbc+servlet+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的JSP+Servlet球队nba及其周边商城系统(java+jdbc+servlet+jsp+mysql)

项目介绍

本项目分为前后台,前台为普通用户登录,后台为管理员登录;

管理员角色包含以下功能:

管理员登录,会员管理,资讯管理,友情链接管理,滚动图片管理,管理关于我们,商品类别管理,球队管理,商品管理,商品库存管理,订单管理,留言管理等功能。

用户角色包含以下功能:

用户登录,查看首页,查看商品详情,查看购物车,提交订单,查看我的订单,确认支付,提交留言,修改个人信息等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7、8.0等版本均可;

6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

Servlet、JSP、JDBC、MySQL5.7、Tomcat8

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目;

  3. 将项目中util/SimpleDataSource.java配置文件中的数据库配置改为自己的配置;

  4. 运行项目,输入localhost:8080/jsp_zhctms_site 登录 注:tomcat中配置项目路径必须为jsp_zhctms_site

用户账号/密码: user/123456

管理员账号/密码:admin/admin

					+ "','"
					+ savetime
					+ "','"
					+ memberid + "')");
			request.setAttribute("suc", "留言成功!");
			go("/msg.jsp", request, response);
		}

		if (ac.equals("msghf")) {
			String id = request.getParameter("id");
			String hfmsg = request.getParameter("hfmsg");
			dao.commOper("update chat set  hfmsg='" + hfmsg + "' where id="
					+ id);
			request.setAttribute("suc", "回复成功!");
			go("/admin/msglist.jsp", request, response);
		}
		if (ac.equals("goodstjset")) {
			String id = request.getParameter("id");
			String tprice = request.getParameter("tprice") == null ? ""
					: request.getParameter("tprice");
			if (!tprice.equals("")) {
				HashMap map = dao.select("select * from goods where id=" + id)
						.get(0);
				if (Double.valueOf(tprice) >= Double.valueOf(map.get("price")
						.toString())) {
					request.setAttribute("info", "特价必须低于原价!");
					go("/admin/goodstjset.jsp?id=" + id, request, response);
				} else {
					dao.commOper("update goods set tprice='" + tprice
							+ "' where id=" + id);
					request.setAttribute("suc", "特价设置成功!");
					go("/admin/goodsgl.jsp", request, response);
				}
			} else {
				dao.commOper("update goods set tprice='' where id=" + id);
				request.setAttribute("info", "特价已取消!");
				go("/admin/goodsgl.jsp", request, response);
			}
		}

		out.flush();
		out.close();
	}

	private static Properties config = null;
	static {
		 

public class MainCtrl extends HttpServlet {

	public MainCtrl() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

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

	MainMethod responses = new MainMethod();

	public void go(String url, HttpServletRequest request,
			HttpServletResponse response) {
		try {
			request.getRequestDispatcher(url).forward(request, response);
		} catch (ServletException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
			 return "";
		 }
		 return  new String(str.getBytes("ISO-8859-1"),"gb2312");
	 }

	 
	 /**
		 * @param String date
		 * @param int day
		 * @return
		 */
		public static String getDay(String date,int day) {
			String b = date.substring(0,10);
			String c = b.substring(0,4);
			String d = b.substring(5,7);
			String f = b.substring(8,10);
			String aa = c+"/"+d+"/"+f;
			String a = "";
			DateFormat dateFormat =  DateFormat.getDateInstance(DateFormat.MEDIUM);
				GregorianCalendar grc=new GregorianCalendar();
				grc.setTime(new Date(aa));
	            grc.add(GregorianCalendar.DAY_OF_MONTH,day);
	            String resu = dateFormat.format(grc.getTime());
	        String t[]= resu.split("-");
	        String sesuu = "";
	        for(int i=0;i<t.length;i++)
	        {
	        	if(t[i].length()==1)
	        	{
	        		t[i]="0"+t[i];
	        	}
	        	sesuu += t[i]+"-";
	        }
	        
			return sesuu.substring(0,10);
		}
		

	    
	    
	    /**
	 	 * 计算两个时期之间的天数
	 	 * 
	 	 */
	    public static int dayToday(String DATE1, String DATE2) {
	       int i = 0;
	       DATE1 = DATE1.substring(0,DATE1.indexOf(" "));
	       DATE2 = DATE2.substring(0,DATE2.indexOf(" "));
	       
	       String[] d1 = DATE1.split("-");
	       if(d1[1].length()==1)
				} catch (WriteException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}    
	            
	            
	            
	            //下面开始添加单元格  
				int i=1;
				System.out.println(list);
	            for(HashMap t:list){  
	            	try {
	            		
	            	Iterator it = t.entrySet().iterator();
	            	int jj=0;
	            		while(it.hasNext())
	            		{
	            	Label label1 = new Label(jj, i,"");
	            	String a = it.next().toString().replaceAll("null", " abc  ");
	            	if(a.split("=").length==1)a=a+"abc";
	            	System.out.println(a);
		            label1.setString(a.split("=")[1]);
		            ws.addCell(label1);
		            jj++;
	            		}
		            
		            i++;
	            } catch (RowsExceededException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				} catch (WriteException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}    
	            }    
	   
	            try {    
	                //从内存中写入文件中    
	                wwb.write();    
	                //关闭资源,释放内存    
	                wwb.close();    
	            } catch (IOException e) {    
	                e.printStackTrace();    
	            } catch (Exception e) {    
	                e.printStackTrace();    
	            }    
	        }
	        
	     
	    }
	    
	    
			HashMap ddmap = dao.select("select * from ddinfo where id=" + ddid)
					.get(0);
			ArrayList<HashMap> dddetaillist = (ArrayList<HashMap>) dao
					.select("select * from dddetail where ddno="
							+ ddmap.get("ddno"));
			boolean flag = true;// 用作订单商品库存校验结果
			for (HashMap dddetailmap : dddetaillist) {
				// 如果其中某个商品的数量大于其库存量 则置 FLASE标识
				if (Integer.valueOf(dddetailmap.get("sl").toString()) > Info
						.getkc(dddetailmap.get("goodid").toString())) {
					flag = false;
				}
			}
			if (flag) {
				dao.commOper("update ddinfo set fhstatus='已发货',wlinfo='"
						+ wlinfo + "' where id=" + ddid);
				// 发货后减库存
				for (HashMap dddetailmap : dddetaillist) {
					dao.commOper("insert into kcrecord (gid,happennum,type,savetime) values "
							+ "('"
							+ dddetailmap.get("goodid")
							+ "','"
							+ dddetailmap.get("sl")
							+ "','out','"
							+ Info.getDateStr() + "')");
				}

				request.setAttribute("info", "订单已发货!");
				go("/admin/ddgl.jsp", request, response);
			} else {
				request.setAttribute("info", "订单中商品库存不足,发货失败!");
				go("/admin/ddgl.jsp", request, response);
			}
		}

		// 会员注册
		if (ac.equals("register")) {
			String uname = request.getParameter("username");
			String upass = request.getParameter("upass");
			String email = request.getParameter("email") == null ? "" : request
					.getParameter("email");
			String tname = request.getParameter("tname") == null ? "" : request
					.getParameter("tname");
			String sex = request.getParameter("sex") == null ? "" : request
					.getParameter("sex");
			String addr = request.getParameter("addr") == null ? "" : request
					.getParameter("addr");
			String ybcode = request.getParameter("ybcode") == null ? ""
					: request.getParameter("ybcode");
			String qq = request.getParameter("qq") == null ? "" : request
					.getParameter("qq");
			buf.append("<a href='").append(this.path).append("&currentPage=1")
					.append(parameter)
					.append("' class='ls'>").append("首页")
					.append("</a>");
		// #1157B7
		buf.append("&nbsp;&nbsp;&nbsp;");

		if (this.currentPage > 1) {
			buf.append("<a href='").append(this.path).append("&currentPage=")
					.append(currentPage - 1).append(parameter).append(
							"' class='ls'>").append("上页")
					.append("</a>");
		} else {
			buf.append("上页");

		}
		buf.append("&nbsp;&nbsp;");

		int currentSegment = this.currentPage % segment == 0 ? this.currentPage
				/ segment : this.currentPage / segment + 1;

		/*for (int i = 1; i <= this.pageNumber; i++) {
			if (this.currentPage == i)
				buf.append("<font color='red'>").append(i).append("</font>");

			else
				buf.append("<a href='").append(this.path).append(
						"&currentPage=").append(i).append(parameter).append(
						"' class='ls'>[").append(i).append(
						"]</a>");
		}*/

		buf.append("&nbsp;&nbsp;");
		if (this.currentPage < this.pageNumber) {
			buf.append("<a href='").append(this.path).append("&currentPage=")
					.append(currentPage + 1).append(parameter).append(
							"' class='ls'>").append("下页")
					.append("</a>");
		} else {

			buf.append("下页");

		}

		}

		// 发布商品
		if (ac.equals("goodsadd")) {
			try {
				String goodno = Info.getAutoNo();
				String goodname = "";
				String fid = "";
				String sid = "";
				String goodpp = "";
				String price = "";
				String filename = "";
				String note = "";
				String shstatus = "通过";
				String istj = "no";
				String savetime = Info.getDateStr();
				String tprice = "";
				request.setCharacterEncoding("utf-8");
				RequestContext requestContext = new ServletRequestContext(
						request);
				if (FileUpload.isMultipartContent(requestContext)) {
					DiskFileItemFactory factory = new DiskFileItemFactory();
					factory.setRepository(new File(request
							.getRealPath("/upfile/") + "/"));
					ServletFileUpload upload = new ServletFileUpload(factory);
					upload.setSizeMax(100 * 1024 * 1024);
					List items = new ArrayList();
					items = upload.parseRequest(request);
					goodname = ((FileItem) items.get(0)).getString();
					goodname = Info.getUTFStr(goodname);
					fid = ((FileItem) items.get(1)).getString();
					fid = Info.getUTFStr(fid);
					sid = ((FileItem) items.get(2)).getString();
					sid = Info.getUTFStr(sid);
					goodpp = ((FileItem) items.get(3)).getString();
					goodpp = Info.getUTFStr(goodpp);
					price = ((FileItem) items.get(4)).getString();
					price = Info.getUTFStr(price);
					note = ((FileItem) items.get(6)).getString();
					note = Info.getUTFStr(note);
					FileItem fileItem = (FileItem) items.get(5);
					if (fileItem.getName() != null && fileItem.getSize() != 0) {
						if (fileItem.getName() != null
								&& fileItem.getSize() != 0) {
							File fullFile = new File(fileItem.getName());
							filename = Info.generalFileName(fullFile.getName());
							File newFile = new File(
									request.getRealPath("/upfile/") + "/"
											+ filename);
							try {
								fileItem.write(newFile);
					String sql = "insert into imgadv (filename,imgtype) "
							+ "values('" + img + "','" + imgtype + "')";
					dao.commOper(sql);
					request.setAttribute("suc", "");
					go("/admin/imgadvadd.jsp", request, response);
				}
			} catch (Exception e1) {
				e1.printStackTrace();
				request.setAttribute("no", "");
				request.getRequestDispatcher("/admin/imgadvadd.jsp").forward(
						request, response);
			}
		}
		// 编辑图片
		if (ac.equals("imgadvedit")) {
			String id = request.getParameter("id");
			HashMap map = dao.select("select * from imgadv where id=" + id)
					.get(0);
			try {
				String img = map.get("filename").toString();
				request.setCharacterEncoding("utf-8");
				RequestContext requestContext = new ServletRequestContext(
						request);
				if (FileUpload.isMultipartContent(requestContext)) {

					DiskFileItemFactory factory = new DiskFileItemFactory();
					factory.setRepository(new File(request
							.getRealPath("/upfile/") + "/"));
					ServletFileUpload upload = new ServletFileUpload(factory);
					upload.setSizeMax(100 * 1024 * 1024);
					List items = new ArrayList();
					items = upload.parseRequest(request);

					FileItem fileItem = (FileItem) items.get(0);
					if (fileItem.getName() != null && fileItem.getSize() != 0) {
						if (fileItem.getName() != null
								&& fileItem.getSize() != 0) {
							File fullFile = new File(fileItem.getName());
							img = Info.generalFileName(fullFile.getName());
							File newFile = new File(
									request.getRealPath("/upfile/") + "/" + img);
							try {
								fileItem.write(newFile);
							} catch (Exception e) {
								e.printStackTrace();
							}
					goodpp = Info.getUTFStr(goodpp);
					price = ((FileItem) items.get(4)).getString();
					price = Info.getUTFStr(price);
					note = ((FileItem) items.get(6)).getString();
					note = Info.getUTFStr(note);
					FileItem fileItem = (FileItem) items.get(5);
					if (fileItem.getName() != null && fileItem.getSize() != 0) {
						if (fileItem.getName() != null
								&& fileItem.getSize() != 0) {
							File fullFile = new File(fileItem.getName());
							filename = Info.generalFileName(fullFile.getName());
							File newFile = new File(
									request.getRealPath("/upfile/") + "/"
											+ filename);
							try {
								fileItem.write(newFile);
							} catch (Exception e) {
								e.printStackTrace();
							}
						} else {
						}
					}
				}
				dao.commOper("insert into goods (goodno,goodname,fid,sid,price,note,savetime,shstatus,filename,istj,tprice,delstatus,salestatus,goodpp) "
						+ "values ('"
						+ goodno
						+ "','"
						+ goodname
						+ "','"
						+ fid
						+ "','"
						+ sid
						+ "','"
						+ price
						+ "','"
						+ note
						+ "','"
						+ savetime
						+ "','通过','"
						+ filename
		    	file1.deleteOnExit();
		         file1.delete(); 
		       }}}
		}
	    
	    
	    public static void writeExcel(String fileName,String[] pros,java.util.List<HashMap> list,HttpServletRequest request, HttpServletResponse response){    
	        WritableWorkbook  wwb = null;    
	        try {    
	            //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象    
	            wwb = Workbook.createWorkbook(new File(fileName));    
	        } catch (IOException e) {    
	            e.printStackTrace();    
	        }    
	        if(wwb!=null){    
	            //创建一个可写入的工作表    
	            //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置    
	            WritableSheet ws = wwb.createSheet("sheet1", 0);    
	             
	            try {
	            
	            	
	            for(int i=0;i<pros.length;i++)
	            {
	            Label label1 = new Label(i, 0,"");
	            label1.setString(pros[i]);
	            ws.addCell(label1);
	            }
	            
	            } catch (RowsExceededException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				} catch (WriteException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}    
	            
	            
	            
	            //下面开始添加单元格  
				int i=1;
					+ sex
					+ "','"
					+ idcard
					+ "','"
					+ tel
					+ "','"
					+ email
					+ "','"
					+ addr
					+ "','"
					+ delstatus
					+ "','"
					+ savetime + "')");
			request.setAttribute("suc", "");
			go("/admin/sysuseradd.jsp", request, response);
		}
		// 编辑管理员
		if (ac.equals("sysuseredit")) {
			String id = request.getParameter("id");
			String userpwd = request.getParameter("userpwd");
			String realname = request.getParameter("realname");
			String sex = request.getParameter("sex");
			String idcard = request.getParameter("idcard");
			String tel = request.getParameter("tel");
			String email = request.getParameter("email");
			String addr = request.getParameter("addr");
			dao.commOper("update sysuser set userpwd='" + userpwd
					+ "',realname='" + realname + "',sex='" + sex
					+ "',idcard='" + idcard + "',tel='" + tel + "',email='"
					+ email + "',addr='" + addr + "' where id=" + id);
			request.setAttribute("suc", "");
			go("/admin/sysuseredit.jsp?id=" + id, request, response);
		}
		// 商品类别新增
		if (ac.equals("protypeadd")) {
			String typename = request.getParameter("typename");
			String fatherid = request.getParameter("fatherid");
			dao.commOper("insert into protype (typename,fatherid,delstatus) values ('"
					+ typename + "','" + fatherid + "','0') ");
			request.setAttribute("suc", "操作成功!");
			go("/admin/protype.jsp", request, response);
		}
		return str;
	 }
	 
	 public static String getGBKStr(String str) throws UnsupportedEncodingException{
		 if(str==null){
			 return "";
		 }
		 return  new String(str.getBytes("ISO-8859-1"),"GBK");
	 }
	 
	 public static String getGB2312Str(String str) throws UnsupportedEncodingException{
		 if(str==null){
			 return "";
		 }
		 return  new String(str.getBytes("ISO-8859-1"),"gb2312");
	 }

	 
	 /**
		 * @param String date
		 * @param int day
		 * @return
		 */
		public static String getDay(String date,int day) {
			String b = date.substring(0,10);
			String c = b.substring(0,4);
			String d = b.substring(5,7);
			String f = b.substring(8,10);
			String aa = c+"/"+d+"/"+f;
			String a = "";
			DateFormat dateFormat =  DateFormat.getDateInstance(DateFormat.MEDIUM);
				GregorianCalendar grc=new GregorianCalendar();
				grc.setTime(new Date(aa));
	            grc.add(GregorianCalendar.DAY_OF_MONTH,day);
	            String resu = dateFormat.format(grc.getTime());
	        String t[]= resu.split("-");
	        String sesuu = "";
	        for(int i=0;i<t.length;i++)
	        {
	        	if(t[i].length()==1)
	        	{
	        		t[i]="0"+t[i];
	        	}
	        	sesuu += t[i]+"-";
	        }
	        
			return sesuu.substring(0,10);
		}
					+ "','"
					+ userpwd
					+ "','"
					+ realname
					+ "','"
					+ sex
					+ "','"
					+ idcard
					+ "','"
					+ tel
					+ "','"
					+ email
					+ "','"
					+ addr
					+ "','"
					+ delstatus
					+ "','"
					+ savetime + "')");
			request.setAttribute("suc", "");
			go("/admin/sysuseradd.jsp", request, response);
		}
		// 编辑管理员
		if (ac.equals("sysuseredit")) {
			String id = request.getParameter("id");
			String userpwd = request.getParameter("userpwd");
			String realname = request.getParameter("realname");
			String sex = request.getParameter("sex");
			String idcard = request.getParameter("idcard");
			String tel = request.getParameter("tel");
			String email = request.getParameter("email");
			String addr = request.getParameter("addr");
			dao.commOper("update sysuser set userpwd='" + userpwd
					+ "',realname='" + realname + "',sex='" + sex
					+ "',idcard='" + idcard + "',tel='" + tel + "',email='"
					+ email + "',addr='" + addr + "' where id=" + id);
			request.setAttribute("suc", "");
			go("/admin/sysuseredit.jsp?id=" + id, request, response);
		}
		// 商品类别新增
		if (ac.equals("protypeadd")) {
			String typename = request.getParameter("typename");
			String fatherid = request.getParameter("fatherid");
			dao.commOper("insert into protype (typename,fatherid,delstatus) values ('"
					+ typename + "','" + fatherid + "','0') ");
			request.setAttribute("suc", "操作成功!");
			go("/admin/protype.jsp", request, response);
		}
		// 商品类别编辑
		if (ac.equals("protypeedit")) {
			String id = request.getParameter("id");
			String typename = request.getParameter("typename");
    	 {
    	  String pm=((Object)it.next()).toString();
    	  String str1 = "";
    	  String str2 = "";
    	  String[] strs = pm.split("=");
    	  str1 = strs[0];
    	  if(strs.length==1)str2="";
    	  if(strs.length==2)str2=strs[1];
    	  jscode+=" if(f1."+str1+")\n";
    	  jscode+="{\n";
    	  jscode+="f1."+str1+".value=\""+str2+"\";\n";
    	  jscode+="}\n";
    	  
    	  jscode+="if(document.getElementById(\"txt\"))\n";
    	  jscode+="{\n";
    	  jscode+="document.getElementById(\"txt\").src=\"/jsp_nbashop/upfile/"+map.get("filename")+"\";\n";
    	  jscode+="}\n";
    	 }
    	 jscode+="}\n";
    	 
    jscode+=" getPvalue();\n";
    jscode+="</script>\n";
    	}catch (Exception e) {
			e.printStackTrace();
		}
      return jscode;
	}
	
	
	
	public static String generalFileName(String srcFileName) {
		try{
		   int index=srcFileName.lastIndexOf(".");
		   return StrUtil.generalSrid()+srcFileName.substring(index).toLowerCase();
		}catch(Exception e){
			return StrUtil.generalSrid();
		}
	}

	public synchronized static String getID() {
		Random random = new Random();
		StringBuffer ret = new StringBuffer(20);
		String rand = String.valueOf(Math.abs(random.nextInt()));
		this.request = request;
		this.path = path;

		request.setAttribute("page", this);

		try {
			this.currentPage = Integer.parseInt(request
					.getParameter("currentPage")) <= 0 ? 1 : Integer
					.parseInt(request.getParameter("currentPage"));

		} catch (Exception e) {

			try {
				this.currentPage = Integer.parseInt((String) request
						.getSession().getAttribute("currentPage"));

			} catch (Exception e1) {
				this.currentPage = 1;

			}

		}

	}
	
	
	
	

	
	

	/**
	 * 
	 * @param 下一页的分页链接
	 * @param 一页最大记录数
	 * @param 当前HttpServletRequest对象
	 * @param 数据库操作对象
	 */
	public static PageManager getPage(String path, int pageSize,
					note = Info.getUTFStr(note);

					FileItem fileItem = (FileItem) items.get(1);
					if (fileItem.getName() != null && fileItem.getSize() != 0) {
						if (fileItem.getName() != null
								&& fileItem.getSize() != 0) {
							File fullFile = new File(fileItem.getName());
							img = Info.generalFileName(fullFile.getName());
							File newFile = new File(
									request.getRealPath("/upfile/") + "/" + img);
							try {
								fileItem.write(newFile);
							} catch (Exception e) {
								e.printStackTrace();
							}
						} else {
						}
					}
				}
				String sql = "update news set title='" + title + "',note='"
						+ note + "',img='" + img + "' where id=" + id;
				dao.commOper(sql);
				request.setAttribute("suc", "操作成功!");
				go("/admin/newslist.jsp?id=" + id, request, response);
			} catch (Exception e1) {
				e1.printStackTrace();
				request.setAttribute("error", "");
				request.getRequestDispatcher("/admin/newsedit.jsp?id=" + id)
						.forward(request, response);
			}
		}
		// 新增公告
		if (ac.equals("noticesadd")) {
			String title = request.getParameter("title");
			String note = request.getParameter("note");
			String savetime = Info.getDateStr();
			String type = "公告";
			dao.commOper("insert into news (title,note,savetime,type) "
					+ " values ('" + title + "','" + note + "','" + savetime
					+ "','" + type + "')");
			request.setAttribute("suc", "");
			go("admin/noticesadd.jsp", request, response);
		}
		// 编辑公告
		if (ac.equals("noticesedit")) {
			String id = request.getParameter("id");
	protected String info;

	// 请求路径
	protected String path;

	// 服务器请求对象
	protected HttpServletRequest request;

	/*
	 * 仅仅只是加到路径中去
	 */
	protected String parameter = "";

	/**
	 * 
	 * @param 下一页的分页链接
	 * @param 一页最大记录数
	 * @param 当前HttpServletRequest对象
	 * @param 数据库操作对象
	 */
	protected PageManager(String path, int pageSize, HttpServletRequest request) {
		// 任意一个dao都行
		this.currentPage = 1;
		this.pageNumber = 1;
		this.count = 0;
		this.pageSize = pageSize <= 0 ? DEFAULTPAGESIZE : pageSize;
		this.request = request;
		this.path = path;

		request.setAttribute("page", this);

		try {
			this.currentPage = Integer.parseInt(request
					.getParameter("currentPage")) <= 0 ? 1 : Integer
					.parseInt(request.getParameter("currentPage"));

		} catch (Exception e) {

			try {
				this.currentPage = Integer.parseInt((String) request
						.getSession().getAttribute("currentPage"));

			} catch (Exception e1) {
				this.currentPage = 1;

				this.currentPage = Integer.parseInt((String) request
						.getSession().getAttribute("currentPage"));

			} catch (Exception e1) {
				this.currentPage = 1;

			}

		}

	}
	
	
	
	

	
	

	/**
	 * 
	 * @param 下一页的分页链接
	 * @param 一页最大记录数
	 * @param 当前HttpServletRequest对象
	 * @param 数据库操作对象
	 */
	public static PageManager getPage(String path, int pageSize,
			HttpServletRequest request) {
		return new PageManager(path, pageSize, request);

	}

	/**
	 * 
	 * 
	 * @param hql语句
	 * 
	 */
	public void doList(String hql) {
        String sql = "select count(*)  "+hql.substring(hql.indexOf("from"));
        sql = sql.substring(0,sql.indexOf("order"));
        
		this.count = this.dao.getInt(sql);
		if (this.count != 0) {
			this.pageNumber = count % this.pageSize == 0 ? this.count
					/ this.pageSize : this.count / this.pageSize + 1;
			if (this.currentPage > this.pageNumber)
				this.currentPage = (int) this.pageNumber;

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值