——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的JSP+Servlet校园自行车租赁管理系统(java+jsp+javascript+servlet+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版本; 6.是否Maven项目:否;
技术栈
JSP+CSS+JavaScript+Servlet+mysql
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中CommDAO.java配置文件中的第472行数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入localhost:8080/xxx 登录
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 } list.add(map); } rs.close(); st.close(); } catch (SQLException e) { if (sql.equals("show tables" )) list = select("select table_name from INFORMATION_SCHEMA.tables" ); else e.printStackTrace(); } return list; } public List<List> selectforlist (String sql) { List<List> list = new ArrayList(); try { Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); while (rs.next()) { List<String> list2 = new ArrayList(); int i = rsmd.getColumnCount(); for (int j=1 ;j<=i;j++) { if (!rsmd.getColumnName(j).equals("ID" )) { String str = rs.getString(j)==null ?"" : rs.getString(j); if (str.equals("null" ))str = "" ; list2.add( str); } else list2.add(rs.getString(j)); } list.add(list2); } rs.close(); st.close(); } catch (SQLException e) { e.printStackTrace(); } return list; } public void close () {
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 if (rsmd.getColumnName(j).equals("id" ))continue ;if (rsmd.getColumnName(j).equals("ID" ))continue ;if (rsmd.getColumnName(j).equals("Id" ))continue ;if (rsmd.getColumnName(j).equals("iD" ))continue ;typemap.put(rsmd.getColumnName(j)+"---" , rsmd.getColumnTypeName(j)); collist.add(rsmd.getColumnName(j)); if (names.indexOf("," +rsmd.getColumnName(j)+"," )>-1 ){ String[] values = request.getParameterValues(rsmd.getColumnName(j)); String value="" ; for (String vstr:values) { if (vstr==null )vstr="" ; if (vstr.equals("null" ))vstr="" ; if (vstr.trim().equals("" ))continue ; if (request.getParameter(vstr)!=null &&!"" .equals(request.getParameter(vstr))&&request.getParameter("dk-" +rsmd.getColumnName(j)+"-value" )!=null ) { String dkv = request.getParameter(vstr); String dknamevalue = request.getParameter("dk-" +rsmd.getColumnName(j)+"-value" ); vstr+=" - " +dknamevalue+":" +dkv; System.out.println(vstr); } value+=vstr+" ~ " ; } if (value==null )value="" ; if (value.equals("null" ))value="" ; if (value.length()>0 )value=value.substring(0 ,value.length()-3 ); if (rsmd.getColumnTypeName(j).equals("int" )) { sql+=rsmd.getColumnName(j)+"=" +value+"," ; }else { sql+=rsmd.getColumnName(j)+"='" +value+"'," ; } }else { if (extmap.get(rsmd.getColumnName(j))!=null ) { if (rsmd.getColumnTypeName(j).equals("int" )) { sql+=rsmd.getColumnName(j)+"=" +extmap.get(rsmd.getColumnName(j))+"," ; }else { sql+=rsmd.getColumnName(j)+"='" +extmap.get(rsmd.getColumnName(j))+"'," ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 jscode+=" "+formname+"."+str1+".value=\""+str2+"\";\n"; jscode+=" }\n"; jscode+=" }else{\n"; jscode+=" if("+formname+"."+str1+")\n"; jscode+="{\n"; jscode+=""+formname+"."+str1+".value=\""+str2+"\";\n"; jscode+="}\n"; jscode+="}\n"; jscode+="if(document.getElementById(\"txt\"))\n"; jscode+="{\n"; jscode+="document.getElementById(\"txt\").src=\"upfile/"+map.get("filename")+"\";\n"; jscode+="}\n"; jscode+="if(document.getElementById(\"txt2\"))\n"; jscode+="{\n"; jscode+="document.getElementById(\"txt2\").src=\"upfile/"+map.get("filename2")+"\";\n"; jscode+="}\n"; jscode+="if(document.getElementById(\"txt3\"))\n"; jscode+="{\n"; jscode+="document.getElementById(\"txt3\").src=\"upfile/"+map.get("filename3")+"\";\n"; jscode+="}\n"; jscode+="if(document.getElementById(\"txt4\"))\n"; jscode+="{\n"; jscode+="document.getElementById(\"txt4\").src=\"upfile/"+map.get("filename4")+"\";\n"; jscode+="}\n"; jscode+="if(document.getElementById(\"txt5\"))\n"; jscode+="{\n"; jscode+="document.getElementById(\"txt5\").src=\"upfile/"+map.get("filename5")+"\";\n"; jscode+="}\n"; } } jscode+="}\n"; jscode+=" getPvalue();\n"; jscode+="</script > \n"; }catch (Exception e) { e.printStackTrace(); } return jscode; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 String filename="" ; 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()); filename = Info.generalFileName(fullFile.getName()); File newFile = new File(request.getRealPath("/upfile/" )+"/" + filename); try { fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } }else { } } } go("/js/uploaddoc3.jsp?docname=" +filename, request, response); } catch (Exception e1) { e1.printStackTrace(); } } if (ac.equals("importexcel" )){ String page = request.getParameter("page" ); String whzdstr = request.getParameter("whzdstr" );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 return conn; } public int getInt (String sql) { int i = 0 ; try { Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); if (rs.next()) { i = rs.getInt(1 ); } st.close(); } catch (SQLException e) { e.printStackTrace(); } return i; } public double getDouble (String sql) { double i = 0 ; try { Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); if (rs.next()) { i = rs.getDouble(1 ); } st.close(); } catch (SQLException e) { e.printStackTrace(); } return i; }
1 2 3 4 5 6 7 8 9 10 11 12 package control;public class MainCtrl extends HttpServlet {
——————————PayStart——————————
项目链接: https://javayms.github.io?id=231122532008200qk https://javayms.pages.dev?id=231122532008200qk