前言

   前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接。(我只看了博客,视频太耗时间了)

   博客链接:http://www.cnblogs.com/bigdataZJ/p/springmvc1.html

   视频链接:http://ke.atguigu.com/course/48

   老师前几天让我练习一下用ajax做增删改查,只给了我一张数据库的表,什么都不多说。过程肯定是十分痛苦,因为技术方面只是略知一二,真正做的时候真的是无从下手,老师又什么都不告诉你,顾着自己的事,网上各种百度,找学长帮忙,但是毕竟学长也很忙,所以说学习真的还是要看自己。不过,花了整整四天的时间,终于还是做出来了,功夫不负有心人。虽然做的真的是相当的low,代码方面也还有很多不足的地方。

   最终效果展示页面:

   

  准备工作

   打开myecipse2014,打开数据库服务,打开navicat,将表导入数据库......等等,我就不多说了。

  配置

   新建maven项目工程

   WEB-INF目录下的web.xml  

   

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5. id="WebApp_ID" version="2.5">
  6.  
  7. <!-- 配置DispatchcerServlet -->
  8. <servlet>
  9. <servlet-name>springDispatcherServlet</servlet-name>
  10. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  11. <!-- 配置Spring mvc下的配置文件的位置和名称 -->
  12. <init-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value>classpath:springmvc.xml</param-value>
  15. </init-param>
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18.  
  19. <servlet-mapping>
  20. <servlet-name>springDispatcherServlet</servlet-name>
  21. <url-pattern>/</url-pattern>
  22. </servlet-mapping>
  23.  
  24. <servlet-mapping>
  25. <servlet-name>default</servlet-name>
  26. <url-pattern>*.css</url-pattern>
  27. </servlet-mapping>
  28.  
  29. <servlet-mapping>
  30. <servlet-name>default</servlet-name>
  31. <url-pattern>*.gif</url-pattern>
  32. </servlet-mapping>
  33.  
  34. <servlet-mapping>
  35. <servlet-name>default</servlet-name>
  36. <url-pattern>*.jpg</url-pattern>
  37. </servlet-mapping>
  38.  
  39. <servlet-mapping>
  40. <servlet-name>default</servlet-name>
  41. <url-pattern>*.js</url-pattern>
  42. </servlet-mapping>
  43.  
  44. <servlet-mapping>
  45. <servlet-name>default</servlet-name>
  46. <url-pattern>*.html</url-pattern>
  47. </servlet-mapping>
  48.  
  49. <filter>
  50. <filter-name>SpringEncodingFilter</filter-name>
  51. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  52. <init-param>
  53. <param-name>encoding</param-name>
  54. <param-value>UTF-8</param-value>
  55. </init-param>
  56. <init-param>
  57. <param-name>forceEncoding</param-name>
  58. <param-value>true</param-value>
  59. </init-param>
  60. </filter>
  61. <filter-mapping>
  62. <filter-name>SpringEncodingFilter</filter-name>
  63. <url-pattern>/*</url-pattern>
  64. </filter-mapping>
  65.  
  66. </web-app>

web.xml

   src目录下的springmvc.xml

   

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  8. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
  9.  
  10. <mvc:default-servlet-handler/>
  11. <mvc:annotation-driven></mvc:annotation-driven>
  12.  
  13. <!-- 配置自动扫描的包 -->
  14. <context:component-scan base-package="com.jackie.springmvc.*"></context:component-scan>
  15.  
  16. <!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
  17. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  18. <property name = "prefix" value="/WEB-INF/"></property>
  19. <property name = "suffix" value = ".jsp"></property>
  20. </bean>
  21.  
  22. <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
  23. <property name="basename" value="i18n"></property>
  24. </bean>
  25.  
  26. <!-- 配置SessionLocaleResolver -->
  27. <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
  28.  
  29. <!-- 配置LocaleChangeInterceptor -->
  30. <mvc:interceptors>
  31. <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
  32. </mvc:interceptors>
  33.  
  34. <!-- <mvc:view-controller path="/i18n" view-name="i18n"/> -->
  35. <mvc:view-controller path="/i18n2" view-name="i18n2"/>
  36.  
  37. </beans>

springmvc.xml

   WEB-INF目录下的lib jar包

   没弄明白博客园能不能传文件,我把我的jar包截图发上来,不保证所有jar包都是需要的。(我直接复制的老师某个项目的lib文件夹)

   

   

       

        

  java代码

   

   

  1. package com.jackie.springmvc.ajax.controller;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Map;
  5.  
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.ResponseBody;
  10.  
  11. import com.alibaba.fastjson.JSONArray;
  12. import com.jackie.springmvc.ajax.dao.OlderDao;
  13.  
  14. @Controller
  15. public class OlderController {
  16.  
  17. @Autowired
  18. private OlderDao olderDao;
  19.  
  20. //@CrossOrigin(origins="http://192.168.43.158:8080/TestSpringMVC/older", maxAge=3600)
  21. @ResponseBody
  22. @RequestMapping("/olders")
  23. public Map<String, Object> olders(){
  24. JSONArray dataJson = olderDao.getData("select * from peoplespecialcare");
  25. Map<String, Object> map =new HashMap<String, Object>();
  26. map.put("rows",dataJson);
  27. map.put("total", olderDao.count);
  28.  
  29. return map;
  30. }
  31.  
  32. @RequestMapping(value="/older/delete")
  33. public String delete(Integer id) {
  34. olderDao.getData("delete from peoplespecialcare where id = " + id);
  35.  
  36. return "redirect:/ajaxOperation.jsp";
  37. }
  38.  
  39. @ResponseBody
  40. @RequestMapping("/older/search")
  41. public Map<String, Object> search(String peoplename){
  42. JSONArray dataJson = olderDao.getData("select * from peoplespecialcare where peoplename=" + "'" + peoplename + "'");
  43. Map<String, Object> map =new HashMap<String, Object>();
  44. map.put("rows",dataJson);
  45. map.put("total", olderDao.count);
  46.  
  47. return map;
  48. }
  49.  
  50. @RequestMapping(value="/older/add")
  51. public String add(Integer id, Integer peopleid, String peoplename, Integer servicestatusid,
  52. Integer feespecialid, Double chargefee, Integer periodicalid,
  53. Double startdate, Double enddate, Integer isfeeflagid, String remark) {
  54. String sqlStr = "insert into peoplespecialcare(id, peopleid, peoplename, servicestatusid, feespecialid, chargefee, periodicalid, startdate, enddate, isfeeflagid, remark)values("+id+", "+peopleid+", '"+peoplename+"', "+servicestatusid+", "+feespecialid+", "+chargefee+", "+periodicalid+", "+startdate+", "+enddate+", "+isfeeflagid+", '"+remark+"')";
  55. olderDao.getData(sqlStr);
  56.  
  57. return "redirect:/ajaxOperation.jsp";
  58. }
  59.  
  60. @RequestMapping(value="/older/update")
  61. public String update(Integer id, Integer peopleid, String peoplename, Integer servicestatusid,
  62. Integer feespecialid, Double chargefee, Integer periodicalid,
  63. Double startdate, Double enddate, Integer isfeeflagid, String remark) {
  64. String sqlStr = "update peoplespecialcare set peopleid="+peopleid+", peoplename='"+peoplename+"', servicestatusid="+servicestatusid+", feespecialid="+feespecialid+", chargefee="+chargefee+", periodicalid="+periodicalid+", startdate="+startdate+", enddate="+enddate+", isfeeflagid="+isfeeflagid+", remark='"+remark+"' WHERE id="+id+"";
  65. olderDao.getData(sqlStr);
  66.  
  67. return "redirect:/ajaxOperation.jsp";
  68. }
  69.  
  70. }

OlderController

   

  1. package com.jackie.springmvc.ajax.dao;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. import org.springframework.stereotype.Repository;
  10.  
  11. import com.alibaba.fastjson.JSONArray;
  12. import com.jackie.springmvc.ajax.entities.Older;
  13.  
  14. @Repository
  15. public class OlderDao {
  16. public int count = 0;
  17. public JSONArray getData(String sql) {
  18. String driver = "com.mysql.jdbc.Driver";
  19. String username = "root";
  20. String password = "zhao1110";
  21. String url = "jdbc:mysql://localhost:3306/fhsystem?user="
  22. + username + "&password=" + password + "&useUnicode=true&characterEncoding=UTF-8";
  23. JSONArray array = new JSONArray();
  24. String sql1 = sql.substring(0, 6);
  25. try {
  26. Class.forName(driver);
  27. Connection con = DriverManager.getConnection(url);
  28. Statement stet = con.createStatement();
  29. if(sql1.equals("select")) {
  30. ResultSet rs = stet.executeQuery(sql);
  31.  
  32. while(rs.next()){
  33. int id = rs.getInt("id");
  34. int peopleid = rs.getInt("peopleid");
  35. String peoplename = rs.getString("peoplename");
  36. int servicestatusid = rs.getInt("servicestatusid");
  37. int feespecialid = rs.getInt("feespecialid");
  38. double chargefee = rs.getDouble("chargefee");
  39. int periodicalid = rs.getInt("periodicalid");
  40. double startdate = rs.getDouble("startdate");
  41. double enddate = rs.getDouble("enddate");
  42. int isfeeflagid = rs.getInt("isfeeflagid");
  43. String remark = rs.getString("remark");
  44. double optime = rs.getDouble("optime");
  45. int opuserid = rs.getInt("opuserid");
  46. String opip = rs.getString("opip");
  47. String r1 = rs.getString("r1");
  48. String r2 = rs.getString("r2");
  49. String r3 = rs.getString("r3");
  50. String r4 = rs.getString("r4");
  51. String r5 = rs.getString("r5");
  52. count = rs.getRow();
  53. Older older = new Older(id, peopleid, peoplename, servicestatusid,
  54. feespecialid, chargefee, periodicalid, startdate, enddate,
  55. isfeeflagid, remark, optime, opuserid, opip, r1, r2, r3, r4, r5);
  56. array.add(older);
  57. /*System.out.println(" " + id + " " + peopleid + " " + peoplename
  58. + " " + servicestatusid + " " + feespecialid + " " + chargefee
  59. + " " + periodicalid + " " + startdate + " " + enddate
  60. + " " + isfeeflagid + " " + remark + " " + optime
  61. + " " + opuserid + " " + opip + " " + r1 + " " + r2
  62. + " " + r3 + " " + r4); */
  63. }
  64.  
  65. //System.out.println("转换JSON数据:");
  66. //System.out.println(array.toString());
  67. rs.close();
  68. stet.close();
  69. con.close();
  70. } else {
  71. stet.executeUpdate(sql);
  72. stet.close();
  73. con.close();
  74. /*sql="insert into peoplespecialcare(id, peopleid, peoplename, servicestatusid,
  75. feespecialid, chargefee, periodicalid, startdate, enddate,
  76. isfeeflagid)values('"+id+"', '"+peopleid+"', '"+peoplename+"', '"+servicestatusid+"', '"+feespecialid+"'
  77. , '"+chargefee+"', '"+periodicalid+"', '"+startdate+"', '"+enddate+"', '"+isfeeflagid"')";
  78. */
  79. }
  80. } catch(java.lang.ClassNotFoundException e) {
  81. //加载JDBC错误,所要用的驱动没有找到
  82. System.err.print("ClassNotFoundException");
  83. //其他错误
  84. System.err.println(e.getMessage());
  85. } catch (SQLException ex) {
  86. //显示数据库连接错误或查询错误
  87. System.err.println("SQLException: " + ex.getMessage());
  88. }
  89.  
  90. return array;
  91. }
  92. }

OlderDao.java  

   

  1. package com.jackie.springmvc.ajax.entities;
  2.  
  3. public class Older {
  4. private Integer id;
  5. private Integer peopleid;
  6. private String peoplename;
  7. private Integer servicestatusid;
  8. private Integer feespecialid;
  9. private double chargefee;
  10. private Integer periodicalid;
  11. private double startdate;
  12. private double enddate;
  13. private Integer isfeeflagid;
  14. private String remark;
  15. private double optime;
  16. private Integer opuserid;
  17. private String opip;
  18. private String r1;
  19. private String r2;
  20. private String r3;
  21. private String r4;
  22. private String r5;
  23.  
  24. public Integer getId() {
  25. return id;
  26. }
  27. public void setId(Integer id) {
  28. this.id = id;
  29. }
  30. public Integer getPeopleid() {
  31. return peopleid;
  32. }
  33. public void setPeopleid(Integer peopleid) {
  34. this.peopleid = peopleid;
  35. }
  36. public String getPeoplename() {
  37. return peoplename;
  38. }
  39. public void setPeoplename(String peoplename) {
  40. this.peoplename = peoplename;
  41. }
  42. public Integer getServicestatusid() {
  43. return servicestatusid;
  44. }
  45. public void setServicestatusid(Integer servicestatusid) {
  46. this.servicestatusid = servicestatusid;
  47. }
  48. public Integer getFeespecialid() {
  49. return feespecialid;
  50. }
  51. public void setFeespecialid(Integer feespecialid) {
  52. this.feespecialid = feespecialid;
  53. }
  54. public double getChargefee() {
  55. return chargefee;
  56. }
  57. public void setChargefee(double chargefee) {
  58. this.chargefee = chargefee;
  59. }
  60. public Integer getPeriodicalid() {
  61. return periodicalid;
  62. }
  63. public void setPeriodicalid(Integer periodicalid) {
  64. this.periodicalid = periodicalid;
  65. }
  66. public double getStartdate() {
  67. return startdate;
  68. }
  69. public void setStartdate(double startdate) {
  70. this.startdate = startdate;
  71. }
  72. public double getEnddate() {
  73. return enddate;
  74. }
  75. public void setEnddate(double enddate) {
  76. this.enddate = enddate;
  77. }
  78. public Integer getIsfeeflagid() {
  79. return isfeeflagid;
  80. }
  81. public void setIsfeeflagid(Integer isfeeflagid) {
  82. this.isfeeflagid = isfeeflagid;
  83. }
  84. public String getRemark() {
  85. return remark;
  86. }
  87. public void setRemark(String remark) {
  88. this.remark = remark;
  89. }
  90. public double getOptime() {
  91. return optime;
  92. }
  93. public void setOptime(double optime) {
  94. this.optime = optime;
  95. }
  96. public Integer getOpuserid() {
  97. return opuserid;
  98. }
  99. public void setOpuserid(Integer opuserid) {
  100. this.opuserid = opuserid;
  101. }
  102. public String getOpip() {
  103. return opip;
  104. }
  105. public void setOpip(String opip) {
  106. this.opip = opip;
  107. }
  108. public String getR1() {
  109. return r1;
  110. }
  111. public void setR1(String r1) {
  112. this.r1 = r1;
  113. }
  114. public String getR2() {
  115. return r2;
  116. }
  117. public void setR2(String r2) {
  118. this.r2 = r2;
  119. }
  120. public String getR3() {
  121. return r3;
  122. }
  123. public void setR3(String r3) {
  124. this.r3 = r3;
  125. }
  126. public String getR4() {
  127. return r4;
  128. }
  129. public void setR4(String r4) {
  130. this.r4 = r4;
  131. }
  132. public String getR5() {
  133. return r5;
  134. }
  135. public void setR5(String r5) {
  136. this.r5 = r5;
  137. }
  138.  
  139. @Override
  140. public String toString() {
  141. return "Older [id=" + id + ", peopleid=" + peopleid + ", peoplename="
  142. + peoplename + ", servicestatusid=" + servicestatusid + ", feespecialid="
  143. + feespecialid + ", chargefee=" + chargefee + ", periodicalid=" + periodicalid
  144. + ", startdate=" + startdate + ", enddate=" + enddate + ", isfeeflagid=" + isfeeflagid
  145. + ", remark=" + remark + ", optime=" + optime + ", opuserid=" + opuserid
  146. + ", opip=" + opip + ", r1=" + r1 + ", r2=" + r2
  147. + ", r3=" + r3 + ", r4=" + r4 + ", r5=" + r5 + "]";
  148. }
  149.  
  150. public Older(Integer id, Integer peopleid, String peoplename, Integer servicestatusid,
  151. Integer feespecialid, double chargefee, Integer periodicalid, double startdate,
  152. double enddate, Integer isfeeflagid, String remark, double optime,
  153. Integer opuserid, String opip, String r1, String r2,
  154. String r3, String r4, String r5) {
  155. super();
  156. this.id = id;
  157. this.peopleid = peopleid;
  158. this.peoplename = peoplename;
  159. this.servicestatusid = servicestatusid;
  160. this.feespecialid = feespecialid;
  161. this.chargefee = chargefee;
  162. this.periodicalid = periodicalid;
  163. this.startdate = startdate;
  164. this.enddate = enddate;
  165. this.isfeeflagid = isfeeflagid;
  166. this.remark = remark;
  167. this.optime = optime;
  168. this.opuserid = opuserid;
  169. this.opip = opip;
  170. this.r1 = r1;
  171. this.r2 = r2;
  172. this.r3 = r3;
  173. this.r4 = r4;
  174. this.r5 = r5;
  175. }
  176.  
  177. }

Older.java

  jsp代码

   WebRoot目录下的三个jsp文件

   主页面:ajaxOperation.jsp

   

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3. <%-- <%
  4. response.setHeader("Content-Type","video/x-msvideo");
  5. response.setHeader("Content-Disposition", "attachment;filename=aaa.doc");
  6. response.header("content-type:application:json;charset=utf8");
  7. response.header("Access-Control-Allow-Origin:*");
  8. response.header("Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE");
  9. response.header("Access-Control-Allow-Hefaders:x-requested-with,content-type");
  10. %> --%>
  11. <%
  12. String path = request.getContextPath();
  13. String basePath = request.getScheme() + "://"
  14. + request.getServerName() + ":" + request.getServerPort()
  15. + path + "/";
  16. %>
  17.  
  18. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  19. <html>
  20. <head>
  21. <base href="<%=basePath%>">
  22.  
  23. <title>My JSP 'ajaxOperation.jsp' starting page</title>
  24.  
  25. <meta http-equiv="pragma" content="no-cache">
  26. <meta http-equiv="cache-control" content="no-cache">
  27. <meta http-equiv="expires" content="0">
  28. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  29. <meta http-equiv="description" content="This is my page">
  30. <script type="text/javascript" src="jQuery/jquery-3.2.1.js"></script>
  31. <script>
  32. $(document).ready(
  33. function() {
  34. $.ajax({
  35. url : "http://192.168.43.158:8080/TestSpringMVC/olders",
  36. type : "POST",
  37. dataType : "json",
  38. success : function(data) {
  39. $.each(data.rows, function (index, item) {
  40. //循环获取数据
  41. var id = item.id;
  42. var peopleid = item.peopleid;
  43. var peoplename = item.peoplename;
  44. var servicestatusid = item.servicestatusid;
  45. var feespecialid = item.feespecialid;
  46. var chargefee = item.chargefee;
  47. var periodicalid = item.periodicalid;
  48. var startdate = item.startdate;
  49. var enddate = item.enddate;
  50. var isfeeflagid = item.isfeeflagid;
  51. var remark = item.remark;
  52. $("#peopleTable").html($("#peopleTable").html() + "<tr>"
  53. + "<td>"+ id + "</td>"+ "<td>"+ peopleid + "</td>"
  54. + "<td>"+ peoplename + "</td>" + "<td>"+ servicestatusid + "</td>"
  55. + "<td>"+ feespecialid + "</td>" + "<td>"+ chargefee + "</td>"
  56. + "<td>"+ periodicalid + "</td>" + "<td>"+ startdate + "</td>"
  57. + "<td>"+ enddate + "</td>" + "<td>"+ isfeeflagid + "</td>"
  58. + "<td>"+ remark + "</td>"
  59. + "<td>" + "<input type='button' value='删除' onclick='Delete("+id+")' />" + "</td>"
  60. + "<td>" + "<input type='button' value='修改' onclick='Update("+id+")' />" + "</td>"
  61. + "</tr>");
  62. });
  63. },
  64. error : function() {
  65. alert("数据访问错误");
  66. }
  67. });
  68. });
  69.  
  70. //显示全部数据
  71. function Show() {
  72. $("#peopleTable").empty();
  73. $("#peopleTable").html(
  74. "<tr>" +
  75. "<td>id</td>" +
  76. "<td>peopleid</td>" +
  77. "<td>peoplename</td>" +
  78. "<td>servicestatusid</td>" +
  79. "<td>feespecialid</td>" +
  80. "<td>chargefee</td>" +
  81. "<td>periodicalid</td>" +
  82. "<td>startdate</td>" +
  83. "<td>enddate</td>" +
  84. "<td>isfeeflagid</td>" +
  85. "<td>remark</td>" +
  86. "<td>删除</td>" +
  87. "<td>修改</td>" +
  88. "</tr>");
  89. $.ajax({
  90. url : "http://192.168.43.158:8080/TestSpringMVC/olders",
  91. type : "POST",
  92. dataType : "json",
  93. success : function(data) {
  94. $.each(data.rows, function (index, item) {
  95. //循环获取数据
  96. var id = item.id;
  97. var peopleid = item.peopleid;
  98. var peoplename = item.peoplename;
  99. var servicestatusid = item.servicestatusid;
  100. var feespecialid = item.feespecialid;
  101. var chargefee = item.chargefee;
  102. var periodicalid = item.periodicalid;
  103. var startdate = item.startdate;
  104. var enddate = item.enddate;
  105. var isfeeflagid = item.isfeeflagid;
  106. var remark = item.remark;
  107. $("#peopleTable").html($("#peopleTable").html() + "<tr>"
  108. + "<td>"+ id + "</td>"+ "<td>"+ peopleid + "</td>"
  109. + "<td>"+ peoplename + "</td>" + "<td>"+ servicestatusid + "</td>"
  110. + "<td>"+ feespecialid + "</td>" + "<td>"+ chargefee + "</td>"
  111. + "<td>"+ periodicalid + "</td>" + "<td>"+ startdate + "</td>"
  112. + "<td>"+ enddate + "</td>" + "<td>"+ isfeeflagid + "</td>"
  113. + "<td>"+ remark + "</td>"
  114. + "<td>" + "<input type='button' value='删除' onclick='Delete("+id+")' />" + "</td>"
  115. + "<td>" + "<input type='button' value='修改' onclick='Update("+id+")' />" + "</td>"
  116. + "</tr>");
  117. });
  118. },
  119. error : function() {
  120. alert("数据访问错误");
  121. }
  122. });
  123. }
  124.  
  125. //删除功能
  126. function Delete(id) {
  127. var oid = id;
  128. if(confirm("确定要删除吗?")) {
  129. $.ajax({
  130. url : "http://192.168.43.158:8080/TestSpringMVC/older/delete",
  131. data : {
  132. "id":oid
  133. },
  134. });
  135. alert("删除成功");
  136. location.reload();
  137. }
  138. }
  139.  
  140. //查询功能
  141. function Search() {
  142. var opeoplename = $("#searchInput").val();
  143. $.ajax({
  144. url : "http://192.168.43.158:8080/TestSpringMVC/older/search",
  145. type : "POST",
  146. dataType : "json",
  147. data : {
  148. "peoplename":opeoplename
  149. },
  150. success : function(data) {
  151. $("#peopleTable").html(
  152. "<tr>" +
  153. "<td>id</td>" +
  154. "<td>peopleid</td>" +
  155. "<td>peoplename</td>" +
  156. "<td>servicestatusid</td>" +
  157. "<td>feespecialid</td>" +
  158. "<td>chargefee</td>" +
  159. "<td>periodicalid</td>" +
  160. "<td>startdate</td>" +
  161. "<td>enddate</td>" +
  162. "<td>isfeeflagid</td>" +
  163. "<td>remark</td>" +
  164. "<td>删除</td>" +
  165. "<td>修改</td>" +
  166. "</tr>");
  167. $.each(data.rows, function (index, item) {
  168. //循环获取数据
  169. var id = item.id;
  170. var peopleid = item.peopleid;
  171. var peoplename = item.peoplename;
  172. var servicestatusid = item.servicestatusid;
  173. var feespecialid = item.feespecialid;
  174. var chargefee = item.chargefee;
  175. var periodicalid = item.periodicalid;
  176. var startdate = item.startdate;
  177. var enddate = item.enddate;
  178. var isfeeflagid = item.isfeeflagid;
  179. var remark = item.remark;
  180. $("#peopleTable").html($("#peopleTable").html() + "<tr>"
  181. + "<td>"+ id + "</td>"+ "<td>"+ peopleid + "</td>"
  182. + "<td>"+ peoplename + "</td>" + "<td>"+ servicestatusid + "</td>"
  183. + "<td>"+ feespecialid + "</td>" + "<td>"+ chargefee + "</td>"
  184. + "<td>"+ periodicalid + "</td>" + "<td>"+ startdate + "</td>"
  185. + "<td>"+ enddate + "</td>" + "<td>"+ isfeeflagid + "</td>"
  186. + "<td>"+ remark + "</td>"
  187. + "<td>" + "<input type='button' value='删除' onclick='Delete("+id+")' />" + "</td>"
  188. + "<td>" + "<input type='button' value='修改' onclick='Update("+id+")' />" + "</td>"
  189. + "</tr>");
  190. });
  191. },
  192. error : function() {
  193. alert("查询失败");
  194. }
  195. });
  196. }
  197.  
  198. //添加功能
  199. function Add() {
  200. window.location.href = "http://192.168.43.158:8080/TestSpringMVC/addWindow.jsp";
  201. }
  202.  
  203. //修改功能
  204. function Update(id) {
  205. var oid = id;
  206. window.location.href = "http://192.168.43.158:8080/TestSpringMVC/updateWindow.jsp?id="+oid;
  207. }
  208. </script>
  209. </head>
  210.  
  211. <body>
  212. <br>
  213. 请输入所查询的老人姓名:&nbsp;&nbsp;
  214. <input type="text" id="searchInput" value=""/>
  215. <input type="button" value="查询" id="searchButton" onclick="Search()"/>
  216. <input type="button" value="添加老人" id="addButton" onclick="Add()"/>
  217. <input type="button" value="显示全部数据" id="showButton" onclick="Show()"/>
  218. <br><br>
  219. <table id="peopleTable" border="1" cellpadding="10" cellspacing="0">
  220. <tr>
  221. <td>id</td>
  222. <td>peopleid</td>
  223. <td>peoplename</td>
  224. <td>servicestatusid</td>
  225. <td>feespecialid</td>
  226. <td>chargefee</td>
  227. <td>periodicalid</td>
  228. <td>startdate</td>
  229. <td>enddate</td>
  230. <td>isfeeflagid</td>
  231. <td>remark</td>
  232. <td>删除</td>
  233. <td>修改</td>
  234. </tr>
  235. </table>
  236. </body>
  237. </html>

ajaxOperation.jsp

   

   添加页面:addWindow.jsp  

   

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6.  
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8. <html>
  9. <head>
  10. <base href="<%=basePath%>">
  11.  
  12. <title>添加界面</title>
  13.  
  14. <meta http-equiv="pragma" content="no-cache">
  15. <meta http-equiv="cache-control" content="no-cache">
  16. <meta http-equiv="expires" content="0">
  17. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  18. <meta http-equiv="description" content="This is my page">
  19. </head>
  20.  
  21. <body>
  22. <form action="http://192.168.43.158:8080/TestSpringMVC/older/add" method="POST">
  23. id:<input type="text" name="id"><br>
  24. peopleid:<input type="text" name="peopleid"><br>
  25. peoplename:<input type="text" name="peoplename"><br>
  26. servicestatusid:<input type="text" name="servicestatusid"><br>
  27. feespecialid:<input type="text" name="feespecialid"><br>
  28. chargefee:<input type="text" name="chargefee"><br>
  29. periodicalid:<input type="text" name="periodicalid"><br>
  30. startdate:<input type="text" name="startdate"><br>
  31. enddate:<input type="text" name="enddate"><br>
  32. isfeeflagid:<input type="text" name="isfeeflagid"><br>
  33. remark:<input type="text" name="remark"><br>
  34. <input type="submit" value="添加">
  35. </form>
  36. </body>
  37. </html>

addWindow.jsp   

   修改页面:updateWindow.jsp

   

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6.  
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8. <html>
  9. <head>
  10. <base href="<%=basePath%>">
  11.  
  12. <title>修改界面</title>
  13.  
  14. <meta http-equiv="pragma" content="no-cache">
  15. <meta http-equiv="cache-control" content="no-cache">
  16. <meta http-equiv="expires" content="0">
  17. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  18. <meta http-equiv="description" content="This is my page">
  19. <script type="text/javascript" src="jQuery/jquery-3.2.1.js"></script>
  20. </head>
  21.  
  22. <body>
  23. <form action="http://192.168.43.158:8080/TestSpringMVC/older/update" method="POST">
  24. <input type="hidden" name="id" value="<%=(String)request.getParameter("id") %>">
  25. peopleid:<input type="text" name="peopleid"><br>
  26. peoplename:<input type="text" name="peoplename"><br>
  27. servicestatusid:<input type="text" name="servicestatusid"><br>
  28. feespecialid:<input type="text" name="feespecialid"><br>
  29. chargefee:<input type="text" name="chargefee"><br>
  30. periodicalid:<input type="text" name="periodicalid"><br>
  31. startdate:<input type="text" name="startdate"><br>
  32. enddate:<input type="text" name="enddate"><br>
  33. isfeeflagid:<input type="text" name="isfeeflagid"><br>
  34. remark:<input type="text" name="remark"><br>
  35. <input type="submit" value="确认修改" />
  36. </form>
  37. </body>
  38. </html>

updateWindow.jsp

   

   注意!别忘在WebRoot目录下新建jQuery文件夹,放入jquery.js

   

  另外

   当时捣鼓如何连接数据库的时候建了个DB Brower,不知道用没用上,有时间我会弄明白它。(运行程序的时候,这个是未打开状态。)

   

   填坑:DB Browser类似于Navicat,但是相对操作要稍麻烦一些,好处是不用根据表写javabean了。

  查询功能效果界面

 删除功能效果界面

  

基于springmvc、ajax,后台连接数据库的增删改查的更多相关文章

  1. [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?

    [译]聊聊C#中的泛型的使用(新手勿入)   写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...

  2. MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查

    MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查 本文的目的:   1.MVC3项目简单配置EF code first生成并初始化数据 ...

  3. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  4. 基于AT UI实现表格的增删改查遇到的坑

    基于AT UI实现表格的增删改查遇到的坑 坑一.表格数据加载的渲染报错 报错:Error in render: "TypeError: Cannot read property 'isChe ...

  5. SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

    在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...

  6. ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)

    在springmvc+spring+mybatis里整合ztree实现增删改查,上一篇已经写了demo,以下就仅仅贴出各层实现功能的代码: Jsp页面实现功能的js代码例如以下: <script ...

  7. 可编辑树Ztree的使用(包括对后台数据库的增删改查)

    找了很多网上关于Ztree的例子和代码才搞定. 首先,关于Ztree的代码不介绍了,网上下载之后,引用下列四个文件就能使用了. 1.关于配置选项.主要通过回调函数来实现向后台发送数据,实现增删改查. ...

  8. JDBC连接数据库及增删改查操作

    什么是JDBC?Java语言访问数据库的一种规范,是一套APIJDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类 ...

  9. 基于SSM之Mybatis接口实现增删改查(CRUD)功能

    国庆已过,要安心的学习了. SSM框架以前做过基本的了解,相比于ssh它更为优秀. 现基于JAVA应用程序用Mybatis接口简单的实现CRUD功能: 基本结构: (PS:其实这个就是用的Mapper ...

随机推荐

  1. RPC和微服务

    1 什么是RPC 是remote procedure call的缩写. 2 什么是微服务 所谓的微服务就是说,把一个应用分解成一组小的服务,每个服务运行在自己的进程中.每个服务都可以单独部署,可以用自 ...

  2. hdu 4990 Reading comprehension(等比数列法)

    题目链接:pid=4990" style="color:rgb(255,153,0); text-decoration:none; font-family:Arial; line- ...

  3. flask的nocache防止js不刷新

    原文:http://librelist.com/browser/flask/2011/8/8/add-no-cache-to-response/#952cc027cf22800312168250e59 ...

  4. Android7.0源码编译运行指南【转】

    见连接: http://blog.csdn.net/HardReceiver/article/details/52650303

  5. presentModalViewController和dismissModalViewControllerAnimated的使用总结

    在实际开发中,如果要弹出视图: 我们常用到presentModalViewController方法和dismissModalViewControllerAnimated方法. presentModal ...

  6. 学习MAP 地图好地址

    http://www.cnblogs.com/beniao/archive/2010/01/13/1646446.html Bēniaǒ成长笔记在IT江湖里我不是一名老手,我只是一名普通的程序员,愿意 ...

  7. Ural 1382 2SAT

    ural1382 直接套用 2SAT模板 缩点 拓扑排序... #include<iostream> #include<cstdio> #include<cstdlib& ...

  8. 用msys1.0+mingw gcc4.7.1编译libodb(C++ ORM)

    这里主要使用的是libodb 对sqlite数据库的支持. (1)下载编译sqlite3,当初编译go-sqlite3的时候下载过sqlite3,就直接拿过来用了. start msys.bat gc ...

  9. 6. extjs panel layoutconfig属性

    转自:https://blog.csdn.net/xingtianyiyun/article/details/7686811 layoutConfig: Object 这是一个包含指定布局详细属性的对 ...

  10. 30. extjs getEl方法 怎么用

    转自:https://blog.csdn.net/evilcry2012/article/details/50586861 2014-10-27 11:57 提问者采纳   getEl = compo ...