• Java项目:家政服务系统(java+JSP+jquery+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+jquery+Servlet+mysql

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中dao/CommDAO.java配置文件中的数据库配置改为自己的配置;
    4. 运行项目,输入localhost:8080/jsp_jzfw_site 登录

     

     

     

     

     

     

     

    登录管理注册管理控制层: 

    1. public class MainCtrl extends HttpServlet {
    2. public MainCtrl() {
    3. super();
    4. }
    5. public void destroy() {
    6. super.destroy(); // Just puts "destroy" string in log
    7. // Put your code here
    8. }
    9. public void doGet(HttpServletRequest request, HttpServletResponse response)
    10. throws ServletException, IOException {
    11. this.doPost(request, response);
    12. }
    13. public void go(String url,HttpServletRequest request, HttpServletResponse response)
    14. {
    15. try {
    16. request.getRequestDispatcher(url).forward(request, response);
    17. } catch (ServletException e) {
    18. e.printStackTrace();
    19. } catch (IOException e) {
    20. e.printStackTrace();
    21. }
    22. }
    23. public void gor(String url,HttpServletRequest request, HttpServletResponse response)
    24. {
    25. try {
    26. response.sendRedirect(url);
    27. } catch (IOException e) {
    28. // TODO Auto-generated catch block
    29. e.printStackTrace();
    30. }
    31. }
    32. public void doPost(HttpServletRequest request, HttpServletResponse response)
    33. throws ServletException, IOException {
    34. response.setContentType("text/html");
    35. PrintWriter out = response.getWriter();
    36. String ac = request.getParameter("ac");
    37. if(ac==null)ac="";
    38. CommDAO dao = new CommDAO();
    39. String date = Info.getDateStr();
    40. String today = date.substring(0,10);
    41. String tomonth = date.substring(0,7);
    42. if(ac.equals("login"))
    43. {
    44. String username = request.getParameter("username");
    45. String password = request.getParameter("pwd1");
    46. String utype = request.getParameter("cx");
    47. String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");
    48. String random = (String)request.getSession().getAttribute("random");
    49. if(!pagerandom.equals(random)&&request.getParameter("a")!=null)
    50. {
    51. request.setAttribute("random", "");
    52. go("/index.jsp", request, response);
    53. }
    54. else{
    55. String sql1="";
    56. if (utype.equals("注册用户"))
    57. {
    58. sql1 = "select * from yonghuzhuce where yonghuming='"+username+"' and mima='"+password+"' and issh='是'";
    59. }
    60. else
    61. {
    62. sql1 = "select * from yuangongxinxi where gonghao='"+username+"' and mima='"+password+"'";
    63. }
    64. List<HashMap> userlist1 = dao.select(sql1);
    65. if(userlist1.size()==1)
    66. {
    67. if (utype.equals("注册用户"))
    68. {
    69. request.getSession(). setAttribute("username", userlist1.get(0).get("yonghuming"));
    70. }
    71. else
    72. {
    73. request.getSession(). setAttribute("username", userlist1.get(0).get("gonghao"));
    74. }
    75. request.getSession(). setAttribute("cx", utype);
    76. gor("index.jsp", request, response);
    77. }else{
    78. request.setAttribute("error", "");
    79. go("/index.jsp", request, response);
    80. }
    81. }
    82. }
    83. if(ac.equals("adminlogin"))
    84. {
    85. String username = request.getParameter("username");
    86. String password = request.getParameter("pwd");
    87. String utype = request.getParameter("cx");
    88. String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");
    89. String random = (String)request.getSession().getAttribute("random");
    90. if(!pagerandom.equals(random)&&request.getParameter("a")!=null)
    91. {
    92. request.setAttribute("random", "");
    93. go("/login.jsp", request, response);
    94. }
    95. else{
    96. String sql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"' ";
    97. List<HashMap> userlist1 = dao.select(sql1);
    98. if(userlist1.size()==1)
    99. {
    100. request.getSession(). setAttribute("username", userlist1.get(0).get("username"));
    101. request.getSession(). setAttribute("cx", userlist1.get(0).get("cx"));
    102. gor("main.jsp", request, response);
    103. }else{
    104. request.setAttribute("error", "");
    105. go("/login.jsp", request, response);
    106. }
    107. }
    108. }
    109. //修改密码
    110. if(ac.equals("uppass"))
    111. {
    112. String olduserpass = request.getParameter("ymm");
    113. String userpass = request.getParameter("xmm1");
    114. String copyuserpass = request.getParameter("xmm2");
    115. HashMap m = dao.getmaps("yonghuming",(String)request.getSession().getAttribute("username"), "yonghuzhuce");
    116. if(!(((String)m.get("mima")).equals(olduserpass)))
    117. {
    118. request.setAttribute("error", "");
    119. go("mod2.jsp", request, response);
    120. }else{
    121. //String id = (String)user.get("id");
    122. String sql = "update yonghuzhuce set mima='"+userpass+"' where yonghuming='"+(String)request.getSession().getAttribute("username")+"'";
    123. dao.commOper(sql);
    124. request.setAttribute("suc", "");
    125. go("mod2.jsp", request, response);
    126. }
    127. }
    128. //修改密码
    129. if(ac.equals("adminuppass"))
    130. {
    131. String olduserpass = request.getParameter("ymm");
    132. String userpass = request.getParameter("xmm1");
    133. String copyuserpass = request.getParameter("xmm2");
    134. //println(Info.getUser(request).get("id").toString());
    135. HashMap m = dao.getmaps("username",(String)request.getSession().getAttribute("username"), "allusers");
    136. if(!(((String)m.get("pwd")).equals(olduserpass)))
    137. {
    138. request.setAttribute("error", "");
    139. go("mod.jsp", request, response);
    140. }else{
    141. //String id = (String)user.get("id");
    142. String sql = "update allusers set pwd='"+userpass+"' where username='"+(String)request.getSession().getAttribute("username")+"'";
    143. dao.commOper(sql);
    144. request.setAttribute("suc", "");
    145. go("mod.jsp", request, response);
    146. }
    147. }
    148. if(ac.equals("uploaddoc"))
    149. {
    150. try {
    151. String filename="";
    152. request.setCharacterEncoding("UTF-8");
    153. RequestContext requestContext = new ServletRequestContext(request);
    154. if(FileUpload.isMultipartContent(requestContext)){
    155. DiskFileItemFactory factory = new DiskFileItemFactory();
    156. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    157. ServletFileUpload upload = new ServletFileUpload(factory);
    158. upload.setSizeMax(100*1024*1024);
    159. List items = new ArrayList();
    160. items = upload.parseRequest(request);
    161. FileItem fileItem = (FileItem) items.get(0);
    162. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    163. {
    164. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    165. File fullFile = new File(fileItem.getName());
    166. filename = Info.generalFileName(fullFile.getName());
    167. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    168. try {
    169. fileItem.write(newFile);
    170. } catch (Exception e) {
    171. e.printStackTrace();
    172. }
    173. }else{
    174. }
    175. }
    176. }
    177. go("/js/uploaddoc.jsp?docname="+filename, request, response);
    178. } catch (Exception e1) {
    179. e1.printStackTrace();
    180. }
    181. }
    182. if(ac.equals("uploaddoc2"))
    183. {
    184. try {
    185. String filename="";
    186. request.setCharacterEncoding("UTF-8");
    187. RequestContext requestContext = new ServletRequestContext(request);
    188. if(FileUpload.isMultipartContent(requestContext)){
    189. DiskFileItemFactory factory = new DiskFileItemFactory();
    190. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    191. ServletFileUpload upload = new ServletFileUpload(factory);
    192. upload.setSizeMax(100*1024*1024);
    193. List items = new ArrayList();
    194. items = upload.parseRequest(request);
    195. FileItem fileItem = (FileItem) items.get(0);
    196. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    197. {
    198. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    199. File fullFile = new File(fileItem.getName());
    200. filename = Info.generalFileName(fullFile.getName());
    201. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    202. try {
    203. fileItem.write(newFile);
    204. } catch (Exception e) {
    205. e.printStackTrace();
    206. }
    207. }else{
    208. }
    209. }
    210. }
    211. go("/js/uploaddoc2.jsp?docname="+filename, request, response);
    212. } catch (Exception e1) {
    213. e1.printStackTrace();
    214. }
    215. }
    216. if(ac.equals("uploaddoc3"))
    217. {
    218. try {
    219. String filename="";
    220. request.setCharacterEncoding("UTF-8");
    221. RequestContext requestContext = new ServletRequestContext(request);
    222. if(FileUpload.isMultipartContent(requestContext)){
    223. DiskFileItemFactory factory = new DiskFileItemFactory();
    224. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    225. ServletFileUpload upload = new ServletFileUpload(factory);
    226. upload.setSizeMax(100*1024*1024);
    227. List items = new ArrayList();
    228. items = upload.parseRequest(request);
    229. FileItem fileItem = (FileItem) items.get(0);
    230. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    231. {
    232. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    233. File fullFile = new File(fileItem.getName());
    234. filename = Info.generalFileName(fullFile.getName());
    235. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    236. try {
    237. fileItem.write(newFile);
    238. } catch (Exception e) {
    239. e.printStackTrace();
    240. }
    241. }else{
    242. }
    243. }
    244. }
    245. go("/js/uploaddoc3.jsp?docname="+filename, request, response);
    246. } catch (Exception e1) {
    247. e1.printStackTrace();
    248. }
    249. }
    250. //导excel
    251. if(ac.equals("importexcel"))
    252. {
    253. String page = request.getParameter("page");
    254. String whzdstr = request.getParameter("whzdstr");
    255. String tablename = request.getParameter("tablename");
    256. try {
    257. String filename="";
    258. request.setCharacterEncoding("UTF-8");
    259. RequestContext requestContext = new ServletRequestContext(request);
    260. if(FileUpload.isMultipartContent(requestContext)){
    261. DiskFileItemFactory factory = new DiskFileItemFactory();
    262. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    263. ServletFileUpload upload = new ServletFileUpload(factory);
    264. upload.setSizeMax(100*1024*1024);
    265. List items = new ArrayList();
    266. items = upload.parseRequest(request);
    267. FileItem fileItem = (FileItem) items.get(0);
    268. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    269. {
    270. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    271. File fullFile = new File(fileItem.getName());
    272. filename = Info.generalFileName(fullFile.getName());
    273. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    274. try {
    275. fileItem.write(newFile);
    276. } catch (Exception e) {
    277. e.printStackTrace();
    278. }
    279. }else{
    280. }
    281. }
    282. if(filename.indexOf(".xls")>-1)
    283. {
    284. Workbook workbook;
    285. try {
    286. workbook = Workbook.getWorkbook(new File(request.getRealPath("/upfile/")+"/"+filename));
    287. //通过Workbook的getSheet方法选择第一个工作簿(从0开始)
    288. Sheet sheet = workbook.getSheet(0);
    289. //通过Sheet方法的getCell方法选择位置为C2的单元格(两个参数都从0开始)
    290. //int empty = 0;
    291. for(int i=1;i<1000;i++)
    292. {
    293. Cell cell = null;
    294. try{
    295. String isql = "insert into "+tablename+"(";
    296. for(String str:whzdstr.split("-"))
    297. {
    298. isql+=str+",";
    299. }
    300. isql = isql.substring(0,isql.length()-1);
    301. isql+=")values(";
    302. int j=0;
    303. int empty = 1;
    304. for(String str:whzdstr.split("-"))
    305. {
    306. cell = sheet.getCell(j,i);
    307. isql+="'"+cell.getContents()+"',";
    308. String content = cell.getContents()==null?"":cell.getContents();
    309. if(!"".equals(content.trim()))
    310. {
    311. empty = 0;
    312. }
    313. j++;
    314. }
    315. if(empty==1)continue;
    316. isql = isql.substring(0,isql.length()-1);
    317. isql+=")";
    318. dao.commOper(isql);
    319. }catch (Exception e) {
    320. continue;
    321. }
    322. }
    323. workbook.close();
    324. } catch (Exception e) {
    325. e.printStackTrace();
    326. }
    327. }
    328. }
    329. go("/admin/"+page+"?docname="+filename, request, response);
    330. } catch (Exception e1) {
    331. e1.printStackTrace();
    332. }
    333. }
    334. if(ac.equals("uploadimg"))
    335. {
    336. try {
    337. String filename="";
    338. request.setCharacterEncoding("UTF-8");
    339. RequestContext requestContext = new ServletRequestContext(request);
    340. if(FileUpload.isMultipartContent(requestContext)){
    341. DiskFileItemFactory factory = new DiskFileItemFactory();
    342. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    343. ServletFileUpload upload = new ServletFileUpload(factory);
    344. upload.setSizeMax(100*1024*1024);
    345. List items = new ArrayList();
    346. items = upload.parseRequest(request);
    347. FileItem fileItem = (FileItem) items.get(0);
    348. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    349. {
    350. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    351. File fullFile = new File(fileItem.getName());
    352. filename = Info.generalFileName(fullFile.getName());
    353. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    354. try {
    355. fileItem.write(newFile);
    356. } catch (Exception e) {
    357. e.printStackTrace();
    358. }
    359. }else{
    360. }
    361. }
    362. }
    363. go("/js/uploadimg.jsp?filename="+filename, request, response);
    364. } catch (Exception e1) {
    365. e1.printStackTrace();
    366. }
    367. }
    368. if(ac.equals("uploadimg2"))
    369. {
    370. try {
    371. String filename="";
    372. request.setCharacterEncoding("UTF-8");
    373. RequestContext requestContext = new ServletRequestContext(request);
    374. if(FileUpload.isMultipartContent(requestContext)){
    375. DiskFileItemFactory factory = new DiskFileItemFactory();
    376. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    377. ServletFileUpload upload = new ServletFileUpload(factory);
    378. upload.setSizeMax(100*1024*1024);
    379. List items = new ArrayList();
    380. items = upload.parseRequest(request);
    381. FileItem fileItem = (FileItem) items.get(0);
    382. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    383. {
    384. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    385. File fullFile = new File(fileItem.getName());
    386. filename = Info.generalFileName(fullFile.getName());
    387. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    388. try {
    389. fileItem.write(newFile);
    390. } catch (Exception e) {
    391. e.printStackTrace();
    392. }
    393. }else{
    394. }
    395. }
    396. }
    397. go("/js/uploadimg2.jsp?filename="+filename, request, response);
    398. } catch (Exception e1) {
    399. e1.printStackTrace();
    400. }
    401. }
    402. if(ac.equals("uploadimg3"))
    403. {
    404. try {
    405. String filename="";
    406. request.setCharacterEncoding("UTF-8");
    407. RequestContext requestContext = new ServletRequestContext(request);
    408. if(FileUpload.isMultipartContent(requestContext)){
    409. DiskFileItemFactory factory = new DiskFileItemFactory();
    410. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    411. ServletFileUpload upload = new ServletFileUpload(factory);
    412. upload.setSizeMax(100*1024*1024);
    413. List items = new ArrayList();
    414. items = upload.parseRequest(request);
    415. FileItem fileItem = (FileItem) items.get(0);
    416. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    417. {
    418. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    419. File fullFile = new File(fileItem.getName());
    420. filename = Info.generalFileName(fullFile.getName());
    421. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    422. try {
    423. fileItem.write(newFile);
    424. } catch (Exception e) {
    425. e.printStackTrace();
    426. }
    427. }else{
    428. }
    429. }
    430. }
    431. go("/js/uploadimg3.jsp?filename="+filename, request, response);
    432. } catch (Exception e1) {
    433. e1.printStackTrace();
    434. }
    435. }
    436. if(ac.equals("uploadimg4"))
    437. {
    438. try {
    439. String filename="";
    440. request.setCharacterEncoding("UTF-8");
    441. RequestContext requestContext = new ServletRequestContext(request);
    442. if(FileUpload.isMultipartContent(requestContext)){
    443. DiskFileItemFactory factory = new DiskFileItemFactory();
    444. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    445. ServletFileUpload upload = new ServletFileUpload(factory);
    446. upload.setSizeMax(100*1024*1024);
    447. List items = new ArrayList();
    448. items = upload.parseRequest(request);
    449. FileItem fileItem = (FileItem) items.get(0);
    450. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    451. {
    452. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    453. File fullFile = new File(fileItem.getName());
    454. filename = Info.generalFileName(fullFile.getName());
    455. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    456. try {
    457. fileItem.write(newFile);
    458. } catch (Exception e) {
    459. e.printStackTrace();
    460. }
    461. }else{
    462. }
    463. }
    464. }
    465. go("/js/uploadimg4.jsp?filename="+filename, request, response);
    466. } catch (Exception e1) {
    467. e1.printStackTrace();
    468. }
    469. }
    470. if(ac.equals("uploadimg5"))
    471. {
    472. try {
    473. String filename="";
    474. request.setCharacterEncoding("UTF-8");
    475. RequestContext requestContext = new ServletRequestContext(request);
    476. if(FileUpload.isMultipartContent(requestContext)){
    477. DiskFileItemFactory factory = new DiskFileItemFactory();
    478. factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
    479. ServletFileUpload upload = new ServletFileUpload(factory);
    480. upload.setSizeMax(100*1024*1024);
    481. List items = new ArrayList();
    482. items = upload.parseRequest(request);
    483. FileItem fileItem = (FileItem) items.get(0);
    484. if(fileItem.getName()!=null && fileItem.getSize()!=0)
    485. {
    486. if(fileItem.getName()!=null && fileItem.getSize()!=0){
    487. File fullFile = new File(fileItem.getName());
    488. filename = Info.generalFileName(fullFile.getName());
    489. File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
    490. try {
    491. fileItem.write(newFile);
    492. } catch (Exception e) {
    493. e.printStackTrace();
    494. }
    495. }else{
    496. }
    497. }
    498. }
    499. go("/js/uploadimg5.jsp?filename="+filename, request, response);
    500. } catch (Exception e1) {
    501. e1.printStackTrace();
    502. }
    503. }
    504. dao.close();
    505. out.flush();
    506. out.close();
    507. }
    508. public void init() throws ServletException {
    509. // Put your code here
    510. }
    511. }

    上传管理控制层:

    1. public class Upload extends HttpServlet {
    2. /**
    3. * Constructor of the object.
    4. */
    5. public Upload() {
    6. super();
    7. }
    8. /**
    9. * Destruction of the servlet. <br>
    10. */
    11. public void destroy() {
    12. super.destroy(); // Just puts "destroy" string in log
    13. // Put your code here
    14. }
    15. /**
    16. * The doGet method of the servlet. <br>
    17. *
    18. * This method is called when a form has its tag value method equals to get.
    19. *
    20. * @param request the request send by the client to the server
    21. * @param response the response send by the server to the client
    22. * @throws ServletException if an error occurred
    23. * @throws IOException if an error occurred
    24. */
    25. public void doGet(HttpServletRequest request, HttpServletResponse response)
    26. throws ServletException, IOException {
    27. this.doPost(request, response);
    28. }
    29. /**
    30. * The doPost method of the servlet. <br>
    31. *
    32. * This method is called when a form has its tag value method equals to post.
    33. *
    34. * @param request the request send by the client to the server
    35. * @param response the response send by the server to the client
    36. * @throws ServletException if an error occurred
    37. * @throws IOException if an error occurred
    38. */
    39. public void doPost(HttpServletRequest request, HttpServletResponse response)
    40. throws ServletException, IOException {
    41. StringBuffer sb = new StringBuffer(50);
    42. response.setContentType("application/x-msdownload;charset=UTF-8");
    43. try {
    44. response.setHeader("Content-Disposition", new String(sb.toString()
    45. .getBytes(), "ISO8859-1"));
    46. } catch (UnsupportedEncodingException e1) {
    47. // TODO Auto-generated catch block
    48. e1.printStackTrace();
    49. }
    50. String filename = request.getParameter("filename");
    51. if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0){
    52. try {
    53. filename = new String(filename.getBytes("UTF-8"), "ISO8859-1");
    54. } catch (UnsupportedEncodingException e) {
    55. // TODO Auto-generated catch block
    56. e.printStackTrace();
    57. }
    58. }
    59. else
    60. if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
    61. try {
    62. filename = URLEncoder.encode(filename, "UTF-8");
    63. } catch (UnsupportedEncodingException e) {
    64. // TODO Auto-generated catch block
    65. }
    66. }
    67. response.setContentType("text/plain");
    68. response.setHeader("Location",filename);
    69. response.reset();
    70. response.setHeader("Cache-Control", "max-age=0" );
    71. response.setHeader("Content-Disposition", "attachment; filename=" + filename);
    72. try {
    73. BufferedInputStream bis = null;
    74. BufferedOutputStream bos = null;
    75. OutputStream fos = null;
    76. // File f = new File(request.getRealPath("/upfile/")+"/"+filename);
    77. //System.out.println(f);
    78. bis = new BufferedInputStream((InputStream)new FileInputStream(request.getRealPath("/upfile/")+"/"+filename));
    79. fos = response.getOutputStream();
    80. bos = new BufferedOutputStream(fos);
    81. int bytesRead = 0;
    82. byte[] buffer = new byte[5 * 1024];
    83. while ((bytesRead = bis.read(buffer)) != -1) {
    84. bos.write(buffer, 0, bytesRead);
    85. }
    86. bos.close();
    87. bis.close();
    88. fos.close();
    89. new Info().delPic(request.getRealPath("/upfile/")+"/", filename);
    90. } catch (Exception e) {
    91. }finally{
    92. }
    93. }
    94. /**
    95. * Initialization of the servlet. <br>
    96. *
    97. * @throws ServletException if an error occurs
    98. */
    99. public void init() throws ServletException {
    100. // Put your code here
    101. }
    102. }

    业务处理DAO层:

    1. public class CommDAO
    2. {
    3. public static String dbname = "";
    4. public static String dbtype = "";
    5. public static Connection conn = null;
    6. public CommDAO()
    7. {
    8. conn = this.getConn();
    9. }
    10. //给字段做加减法
    11. public void jiajian(String tablename,String colname,String id,String num)
    12. {
    13. HashMap map = this.getmap(id, tablename);
    14. String value = map.get(colname).toString();
    15. if(value.equals(""))value="0";
    16. int i = Integer.parseInt(value);
    17. int j = Integer.parseInt(num);
    18. commOper("update "+tablename+" set "+colname+" = "+(i+j)+" where id="+id);
    19. }
    20. // 该方法返回一个table 用于流动图片
    21. public String DynamicImage(String categoryid,int cut,int width,int height){
    22. StringBuffer imgStr = new StringBuffer();
    23. StringBuffer thePics1 = new StringBuffer();
    24. StringBuffer theLinks1 = new StringBuffer();
    25. StringBuffer theTexts1 = new StringBuffer();
    26. imgStr.append("<div id=picViwer1 style='background-color: #ffffff' align=center></div><SCRIPT src='js/dynamicImage.js' type=text/javascript></SCRIPT>\n<script language=JavaScript>\n");
    27. thePics1.append("var thePics1=\n'");
    28. theLinks1.append("var theLinks1='");
    29. theTexts1.append("var theTexts1='");
    30. List<HashMap> co = this.select("select * from xinwentongzhi where shouyetupian<>'' and shouyetupian<>'null' and shouyetupian like '%.jpg' order by id desc",1,6);
    31. int i = co.size();
    32. int j = 0;
    33. for(HashMap b:co)
    34. {
    35. j++;
    36. int id = Integer.parseInt(b.get("id").toString()) ;
    37. String title = Info.subStr(b.get("biaoti").toString(), 21) ;
    38. String url = ""+b.get("shouyetupian");
    39. String purl = "gg_detail.jsp?id="+b.get("id");
    40. if(j!=i){
    41. thePics1.append(url.replaceAll("\n", "")+"|");
    42. theLinks1.append(purl+"|");
    43. theTexts1.append(title+"|");
    44. }
    45. if(j==i)
    46. {
    47. thePics1.append(url.replaceAll("\n", ""));
    48. theLinks1.append("gg_detail.jsp?id="+b.get("id"));
    49. theTexts1.append(title);
    50. }
    51. }
    52. thePics1.append("';");
    53. theLinks1.append("';");
    54. theTexts1.append("';");
    55. imgStr.append(thePics1+"\n");
    56. imgStr.append(theLinks1+"\n");
    57. imgStr.append(theTexts1+"\n");
    58. imgStr.append("\n setPic(thePics1,theLinks1,theTexts1,"+width+","+height+",'picViwer1');</script>");
    59. return imgStr.toString();
    60. }
    61. public HashMap getmap(String id,String table)
    62. {
    63. List<HashMap> list = new ArrayList();
    64. try {
    65. Statement st = conn.createStatement();
    66. //System.out.println("select * from "+table+" where id="+id);
    67. ResultSet rs = st.executeQuery("select * from "+table+" where id="+id);
    68. ResultSetMetaData rsmd = rs.getMetaData();
    69. while(rs.next())
    70. {
    71. HashMap map = new HashMap();
    72. int i = rsmd.getColumnCount();
    73. for(int j=1;j<=i;j++)
    74. {
    75. if(!rsmd.getColumnName(j).equals("ID"))
    76. {
    77. String str = rs.getString(j)==null?"": rs.getString(j);
    78. if(str.equals("null"))str = "";
    79. map.put(rsmd.getColumnName(j), str);
    80. }
    81. else
    82. map.put("id", rs.getString(j));
    83. }
    84. list.add(map);
    85. }
    86. rs.close();
    87. st.close();
    88. } catch (SQLException e) {
    89. // TODO Auto-generated catch block
    90. e.printStackTrace();
    91. }
    92. return list.get(0);
    93. }
    94. public HashMap getmaps(String nzd,String zdz,String table)
    95. {
    96. List<HashMap> list = new ArrayList();
    97. try {
    98. Statement st = conn.createStatement();
    99. //System.out.println("select * from "+table+" where "+nzd+"='"+zdz+"'");
    100. ResultSet rs = st.executeQuery("select * from "+table+" where "+nzd+"='"+zdz+"'");
    101. ResultSetMetaData rsmd = rs.getMetaData();
    102. while(rs.next())
    103. {
    104. HashMap map = new HashMap();
    105. int i = rsmd.getColumnCount();
    106. for(int j=1;j<=i;j++)
    107. {
    108. if(!rsmd.getColumnName(j).equals("ID"))
    109. {
    110. String str = rs.getString(j)==null?"": rs.getString(j);
    111. if(str.equals("null"))str = "";
    112. map.put(rsmd.getColumnName(j), str);
    113. }
    114. else
    115. map.put("id", rs.getString(j));
    116. }
    117. list.add(map);
    118. }
    119. rs.close();
    120. st.close();
    121. } catch (SQLException e) {
    122. // TODO Auto-generated catch block
    123. e.printStackTrace();
    124. }
    125. return list.get(0);
    126. }
    127. public String insert(HttpServletRequest request,HttpServletResponse response, String tablename,HashMap extmap,boolean alert,boolean reflush,String tzurl)
    128. {
    129. extmap.put("addtime", Info.getDateStr());
    130. if(request.getParameter("f")!=null){
    131. HashMap typemap = new HashMap();
    132. ArrayList<String> collist = new ArrayList();
    133. String sql = "insert into "+tablename+"(";
    134. Connection conn = this.getConn();
    135. try {
    136. Statement st = conn.createStatement();
    137. ResultSet rs = st.executeQuery("select * from "+tablename);
    138. ResultSetMetaData rsmd = rs.getMetaData();
    139. int i = rsmd.getColumnCount();
    140. for(int j=1;j<=i;j++)
    141. {
    142. if(rsmd.getColumnName(j).equals("id"))continue;
    143. if(rsmd.getColumnName(j).equals("ID"))continue;
    144. if(rsmd.getColumnName(j).equals("iD"))continue;
    145. if(rsmd.getColumnName(j).equals("Id"))continue;
    146. typemap.put(rsmd.getColumnName(j)+"---", rsmd.getColumnTypeName(j));
    147. collist.add(rsmd.getColumnName(j));
    148. sql+=rsmd.getColumnName(j)+",";
    149. }
    150. sql = sql.substring(0,sql.length()-1);
    151. sql+=") values(";
    152. rs.close();
    153. st.close();
    154. } catch (SQLException e) {
    155. e.printStackTrace();
    156. }
    157. Enumeration enumeration = request.getParameterNames();
    158. String names = ",";
    159. while(enumeration.hasMoreElements())
    160. {
    161. names += enumeration.nextElement().toString()+",";
    162. }
    163. try {
    164. Statement st = conn.createStatement();
    165. for(String str:collist)
    166. {
    167. if(names.indexOf(","+str+",")>-1)
    168. {
    169. String[] values = request.getParameterValues(str);
    170. String value="";
    171. for(String vstr:values)
    172. {
    173. if(vstr==null)vstr="";
    174. if(vstr.equals("null"))vstr="";
    175. if(vstr.trim().equals(""))continue;
    176. if(request.getParameter(vstr)!=null&&!"".equals(request.getParameter(vstr))&&request.getParameter("dk-"+str+"-value")!=null)
    177. {
    178. String dkv = request.getParameter(vstr);
    179. String dknamevalue = request.getParameter("dk-"+str+"-value");
    180. vstr+=" - "+dknamevalue+":"+dkv;
    181. }
    182. value+=vstr+" ~ ";
    183. }
    184. if(value==null)value="";
    185. if(value.equals("null"))value="";
    186. if(value.length()>0)value=value.substring(0,value.length()-3);
    187. if(typemap.get(str+"---").equals("int"))
    188. {
    189. sql+=(value.equals("")?-10:value)+",";
    190. }else{
    191. sql+="'"+(value.equals("null")?"":value)+"',";
    192. }
    193. }else{
    194. if(typemap.get(str+"---").equals("int"))
    195. {
    196. sql+=(extmap.get(str)==null?"":extmap.get(str))+",";
    197. }else{
    198. sql+="'"+(extmap.get(str)==null?"":extmap.get(str))+"',";
    199. }
    200. }
    201. }
    202. sql=sql.substring(0,sql.length()-1)+")";
    203. System.out.println(sql);
    204. this.commOper(sql);
    205. st.close();
    206. } catch (SQLException e) {
    207. e.printStackTrace();
    208. }
    209. String str = "";
    210. if(!reflush)
    211. str += "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> \n";
    212. str += "<script language=javascript>\n";
    213. if(alert){
    214. str+="alert('操作成功');\n";
    215. }
    216. if(tzurl.equals(""))
    217. {
    218. if(reflush){
    219. str+="parent.location=parent.location;\n";
    220. }else{
    221. str+="window.location=String(window.location).replace(new RegExp('f=f', 'g'), '');";
    222. }
    223. }
    224. else
    225. {
    226. str+="location.href='"+tzurl+"';\n";
    227. }
    228. str+="</script>";
    229. PrintWriter wrt = null;
    230. try {
    231. wrt = response.getWriter();
    232. } catch (IOException e) {
    233. // TODO Auto-generated catch block
    234. e.printStackTrace();
    235. }
    236. wrt.write(str);
    237. }
    238. return "";
    239. }
    240. public void delete(HttpServletRequest request,String tablename)
    241. {
    242. int i = 0;
    243. try {
    244. String did = request.getParameter("did");
    245. if(did==null)did = request.getParameter("scid");
    246. if(did!=null){
    247. if(did.length()>0){
    248. Statement st = conn.createStatement();
    249. System.out.println("delete from "+tablename+" where id="+did);
    250. st.execute("delete from "+tablename+" where id="+did);
    251. st.close();
    252. }
    253. }
    254. } catch (SQLException e) {
    255. // TODO Auto-generated catch block
    256. e.printStackTrace();
    257. }
    258. }
    259. public String getCols(String table)
    260. {
    261. String str = "";
    262. Connection conn = this.getConn();
    263. try {
    264. Statement st = conn.createStatement();
    265. ResultSet rs = st.executeQuery("select * from "+table);
    266. ResultSetMetaData rsmd = rs.getMetaData();
    267. int i = rsmd.getColumnCount();
    268. for(int j=2;j<=i;j++)
    269. {
    270. str+=rsmd.getColumnName(j)+",";
    271. }
    272. }catch (Exception e) {
    273. e.printStackTrace();
    274. }
    275. str = str.substring(0,str.length()-1);
    276. return str;
    277. }
    278. public String update(HttpServletRequest request,HttpServletResponse response, String tablename,HashMap extmap,boolean alert,boolean reflush,String tzurl)
    279. {
    280. if(request.getParameter("f")!=null){
    281. Enumeration enumeration = request.getParameterNames();
    282. String names = ",";
    283. while(enumeration.hasMoreElements())
    284. {
    285. names += enumeration.nextElement().toString()+",";
    286. }
    287. HashMap typemap = new HashMap();
    288. ArrayList<String> collist = new ArrayList();
    289. String sql = "update "+tablename+" set ";
    290. Connection conn = this.getConn();
    291. try {
    292. Statement st = conn.createStatement();
    293. ResultSet rs = st.executeQuery("select * from "+tablename);
    294. ResultSetMetaData rsmd = rs.getMetaData();
    295. int i = rsmd.getColumnCount();
    296. System.out.println(i);
    297. for(int j=1;j<=i;j++)
    298. {
    299. if(rsmd.getColumnName(j).equals("id"))continue;
    300. if(rsmd.getColumnName(j).equals("ID"))continue;
    301. if(rsmd.getColumnName(j).equals("Id"))continue;
    302. if(rsmd.getColumnName(j).equals("iD"))continue;
    303. typemap.put(rsmd.getColumnName(j)+"---", rsmd.getColumnTypeName(j));
    304. collist.add(rsmd.getColumnName(j));
    305. if(names.indexOf(","+rsmd.getColumnName(j)+",")>-1)
    306. {
    307. String[] values = request.getParameterValues(rsmd.getColumnName(j));
    308. String value="";
    309. for(String vstr:values)
    310. {
    311. if(vstr==null)vstr="";
    312. if(vstr.equals("null"))vstr="";
    313. if(vstr.trim().equals(""))continue;
    314. if(request.getParameter(vstr)!=null&&!"".equals(request.getParameter(vstr))&&request.getParameter("dk-"+rsmd.getColumnName(j)+"-value")!=null)
    315. {
    316. String dkv = request.getParameter(vstr);
    317. String dknamevalue = request.getParameter("dk-"+rsmd.getColumnName(j)+"-value");
    318. vstr+=" - "+dknamevalue+":"+dkv;
    319. System.out.println(vstr);
    320. }
    321. //if(vstr.length()<)
    322. value+=vstr+" ~ ";
    323. }
    324. if(value==null)value="";
    325. if(value.equals("null"))value="";
    326. if(value.length()>0)value=value.substring(0,value.length()-3);
    327. if(rsmd.getColumnTypeName(j).equals("int"))
    328. {
    329. sql+=rsmd.getColumnName(j)+"="+value+",";
    330. }else{
    331. sql+=rsmd.getColumnName(j)+"='"+value+"',";
    332. }
    333. }else{
    334. if(extmap.get(rsmd.getColumnName(j))!=null)
    335. {
    336. if(rsmd.getColumnTypeName(j).equals("int"))
    337. {
    338. sql+=rsmd.getColumnName(j)+"="+extmap.get(rsmd.getColumnName(j))+",";
    339. }else{
    340. sql+=rsmd.getColumnName(j)+"='"+extmap.get(rsmd.getColumnName(j))+"',";
    341. }
    342. }
    343. }
    344. }
    345. sql = sql.substring(0,sql.length()-1);
    346. sql+=" where id="+request.getParameter("id");
    347. System.out.println(sql);
    348. Statement st1 = conn.createStatement();
    349. st1.execute(sql);
    350. st1.close();
    351. rs.close();
    352. st.close();
    353. } catch (SQLException e) {
    354. e.printStackTrace();
    355. }
    356. String str = "";
    357. if(!reflush)
    358. str += "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" ;
    359. str += "<script language=javascript>\n";
    360. if(alert){
    361. str+="alert('操作成功');\n";
    362. }
    363. if(tzurl.equals(""))
    364. {
    365. if(reflush){
    366. str+="parent.location=parent.location;\n";
    367. }else{
    368. str+="window.location=String(window.location).replace(new RegExp('f=f', 'g'), '');";
    369. }
    370. }
    371. else
    372. {
    373. str+="location.href='"+tzurl+"';\n";
    374. }
    375. str+="</script>\n";
    376. PrintWriter wrt = null;
    377. try {
    378. //request.get
    379. wrt = response.getWriter();
    380. } catch (IOException e) {
    381. // TODO Auto-generated catch block
    382. e.printStackTrace();
    383. }
    384. wrt.write(str);
    385. }
    386. return "";
    387. }
    388. public Connection getConn()
    389. {
    390. try
    391. {
    392. if(conn==null||conn.isClosed()){
    393. Class.forName("com.mysql.cj.jdbc.Driver");
    394. conn = DriverManager.getConnection("jdbc:mysql://192.168.182.129:3306/jsp_jzfw_site?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8","root","123456");
    395. // Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    396. // conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=jsp_jzfw_site","sa","sa123456");
    397. }}
    398. catch(Exception e)
    399. {
    400. e.printStackTrace();
    401. }
    402. return conn;
    403. }
    404. public int getInt(String sql)
    405. {
    406. int i = 0;
    407. try {
    408. Statement st = conn.createStatement();
    409. ResultSet rs = st.executeQuery(sql);
    410. if(rs.next())
    411. {
    412. i = rs.getInt(1);
    413. }
    414. st.close();
    415. } catch (SQLException e) {
    416. // TODO Auto-generated catch block
    417. e.printStackTrace();
    418. }
    419. return i;
    420. }
    421. public double getDouble(String sql)
    422. {
    423. double i = 0;
    424. try {
    425. Statement st = conn.createStatement();
    426. ResultSet rs = st.executeQuery(sql);
    427. if(rs.next())
    428. {
    429. i = rs.getDouble(1);
    430. }
    431. st.close();
    432. } catch (SQLException e) {
    433. // TODO Auto-generated catch block
    434. e.printStackTrace();
    435. }
    436. return i;
    437. }
    438. public void commOper(String sql)
    439. {
    440. System.out.println(sql);
    441. try {
    442. Statement st = conn.createStatement();
    443. st.execute(sql);
    444. st.close();
    445. } catch (SQLException e) {
    446. // TODO Auto-generated catch block
    447. e.printStackTrace();
    448. }
    449. }
    450. public void commOperSqls(ArrayList<String> sql)
    451. {
    452. try {
    453. conn.setAutoCommit(false);
    454. for(int i=0;i<sql.size();i++)
    455. {
    456. Statement st = conn.createStatement();
    457. System.out.println(sql.get(i));
    458. st.execute(sql.get(i));
    459. st.close();
    460. }
    461. conn.commit();
    462. } catch (SQLException e) {
    463. try {
    464. conn.rollback();
    465. } catch (SQLException e1) {
    466. e1.printStackTrace();
    467. }
    468. e.printStackTrace();
    469. }finally{
    470. try {
    471. conn.setAutoCommit(true);
    472. } catch (SQLException e) {
    473. e.printStackTrace();
    474. }
    475. }
    476. }
    477. public List<HashMap> select(String sql)
    478. {
    479. System.out.println(sql);
    480. List<HashMap> list = new ArrayList();
    481. try {
    482. Statement st = conn.createStatement();
    483. ResultSet rs = st.executeQuery(sql);
    484. ResultSetMetaData rsmd = rs.getMetaData();
    485. while(rs.next())
    486. {
    487. HashMap map = new HashMap();
    488. int i = rsmd.getColumnCount();
    489. for(int j=1;j<=i;j++)
    490. {
    491. if(!rsmd.getColumnName(j).equals("ID"))
    492. {
    493. String str = rs.getString(j)==null?"": rs.getString(j);
    494. if(str.equals("null"))str = "";
    495. map.put(rsmd.getColumnName(j), str);
    496. }
    497. else
    498. map.put("id", rs.getString(j));
    499. }
    500. list.add(map);
    501. }
    502. rs.close();
    503. st.close();
    504. } catch (SQLException e) {
    505. // TODO Auto-generated catch block
    506. if(sql.equals("show tables"))
    507. list = select("select table_name from INFORMATION_SCHEMA.tables");
    508. else
    509. e.printStackTrace();
    510. }
    511. return list;
    512. }
    513. public List<List> selectforlist(String sql)
    514. {
    515. List<List> list = new ArrayList();
    516. try {
    517. Statement st = conn.createStatement();
    518. ResultSet rs = st.executeQuery(sql);
    519. ResultSetMetaData rsmd = rs.getMetaData();
    520. while(rs.next())
    521. {
    522. List<String> list2 = new ArrayList();
    523. int i = rsmd.getColumnCount();
    524. for(int j=1;j<=i;j++)
    525. {
    526. if(!rsmd.getColumnName(j).equals("ID"))
    527. {
    528. String str = rs.getString(j)==null?"": rs.getString(j);
    529. if(str.equals("null"))str = "";
    530. list2.add( str);
    531. }
    532. else
    533. list2.add(rs.getString(j));
    534. }
    535. list.add(list2);
    536. }
    537. rs.close();
    538. st.close();
    539. } catch (SQLException e) {
    540. // TODO Auto-generated catch block
    541. e.printStackTrace();
    542. }
    543. return list;
    544. }
    545. public void close()
    546. {
    547. }
    548. /**
    549. * 执行一条查询sql,以 List<hashmap> 的形式返回查询的记录,记录条数,和从第几条开始,由参数决定,主要用于翻页
    550. * pageno 页码 rowsize 每页的条数
    551. */
    552. public List<HashMap> select(String sql, int pageno, int rowsize) {
    553. List<HashMap> list=new ArrayList<HashMap>();
    554. List<HashMap> mlist=new ArrayList<HashMap>();
    555. try{
    556. list=this.select(sql);
    557. int min = (pageno-1)*rowsize;
    558. int max = pageno*rowsize;
    559. for(int i=0;i<list.size();i++)
    560. {
    561. if(!(i<min||i>(max-1)))
    562. {
    563. mlist.add(list.get(i));
    564. }
    565. }
    566. }catch(RuntimeException re){
    567. re.printStackTrace();
    568. throw re;
    569. }
    570. return mlist;
    571. }
    572. public static void main(String[] args) {
    573. }
    574. }

    源码获取:俺的博客首页 "资源" 里下载!

  • 相关阅读:
    局部线性嵌入LLE算法--学习笔记
    JDBC —— 数据库连接
    vision transformer的计算复杂度
    Express 基础操作和详解
    面试:并发
    Vue.js 页面加载时触发函数
    前端——Layui的导航栏与tab页联动
    有了PySnooper,不用print、不用debug轻松查找问题所在!
    法律战爆发:“币安退出俄罗斯引发冲击波“
    收藏品集团怎样应用自动化程序实现降本增效
  • 原文地址:https://blog.csdn.net/m0_66863468/article/details/125466412