这一学期的期末考试也就考了这些。以下是代码,由于简单,在此不多说。

index.jsp:

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5   <head>
 6     <title>My JSP 'index.jsp' starting page</title>
 7     <meta http-equiv="pragma" content="no-cache">
 8     <meta http-equiv="cache-control" content="no-cache">
 9     <meta http-equiv="expires" content="0">
10     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
11     <meta http-equiv="description" content="This is my page">
12     <link rel="stylesheet" href="layui/css/layui.css" media="all" />
13     <script src="js/jquery.3.2.1.js"></script>
14     <script src="js/jquery.cookie.js"></script>
15     <script type="text/javascript">
16          <%
17              String account = null;
18             if(request.getAttribute("is") != null){
19                 if((Integer)request.getAttribute("is") == 1){
20                     String account1 = (String)request.getAttribute("ACCOUNT");
21                     account = new String(account1.getBytes("iso-8859-1"),"utf-8");
22
23          %>
24                      var account = '<%=account%>';
25                      $.cookie('ACCOUNT',account);
26          <%
27                      response.setHeader("refresh", "1;URL=main.jsp");
28                 }else{
29          %>
30                     alert("账号或密码错误!");
31          <%
32                 }
33             }
34          %>
35         $(function(){
36             $('#register').click(function() {
37                     $(location).attr('href', 'register.jsp');
38             });
39         });
40     </script>
41   </head>
42
43   <body>
44     <div style="margin-top: 14%;">
45             <form class="layui-form" id="from1" action="LoginServlet.action" method="post">
46                 <div style="margin-right: 4%;" class="layui-form-item">
47                     <label class="layui-form-label">账号</label>
48                     <div class="layui-input-block">
49                         <input id="account" name="account" lay-verify="title" placeholder="请输入账号" class="layui-input" type="text">
50                     </div>
51                     <label style="margin-top: 1%;" class="layui-form-label">密码</label>
52                     <div style="margin-top: 1%;" class="layui-input-block">
53                         <input id="passwords" name="passwords" lay-verify="title" placeholder="请输入密码" class="layui-input" type="password">
54                     </div>
55                 </div>
56                 <center>
57                     <div class="layui-form-item">
58                         <input id="login" type="submit" value="登录" class="layui-btn layui-btn-warm layui-btn-radius" />
59                         <input id="register" type="button" value="注册" style="margin-left: 10%;" class="layui-btn layui-btn-warm layui-btn-radius" />
60                     </div>
61                 </center>
62             </form>
63         </div>
64 </body>
65 </html>

main.jsp:

  1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
  3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4 <html>
  5   <head>
  6     <title>My JSP 'main.jsp' starting page</title>
  7
  8     <meta http-equiv="pragma" content="no-cache">
  9     <meta http-equiv="cache-control" content="no-cache">
 10     <meta http-equiv="expires" content="0">
 11     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 12     <meta http-equiv="description" content="This is my page">
 13     <link rel="stylesheet" href="layui/css/layui.css" media="all" />
 14     <link rel="stylesheet" href="js/jexcel/css/jquery.jexcel.css" />
 15       <link rel="stylesheet" href="js/jexcel/css/jquery.jcalendar.css" />
 16     <script src="js/jquery.3.2.1.js"></script>
 17     <script type="text/javascript" src="js/jexcel/jquery.jexcel.js" ></script>
 18      <script type="text/javascript" src="js/jexcel/jquery.jcalendar.js" ></script>
 19     <script src="js/jquery.cookie.js"></script>
 20     <script type="text/javascript">
 21          $(function(){
 22             if('<%=(String)request.getAttribute("isSelect")%>' == '1'){
 23                 $('#update').show(1500);
 24                 $('#div2').show(1500);
 25                 $('#score-student-list').hide(1500);
 26                 $('#account').val('<%=(String)request.getAttribute("account")%>');
 27                 $('#phone').val('<%=(String)request.getAttribute("phone")%>');
 28                 $('#email').val('<%=(String)request.getAttribute("email")%>');
 29                 $('#ids').val('<%=(String)request.getAttribute("userId")%>');
 30                 $('#name').val('<%=(String)request.getAttribute("userName")%>');
 31                 $('#password').val('<%=(String)request.getAttribute("passwords")%>');
 32                 $('#sex').val('<%=(String)request.getAttribute("sex")%>');
 33             }
 34             if('<%=(String)request.getAttribute("isSelectAll")%>' == '1'){
 35                 $('#update').hide(1500);
 36                 $('#score-student-list').show(1500);
 37                 $('#div2').hide(1500);
 38                 var arrData = [];
 39                 var arr = null;
 40                 <%
 41                     int index = 0;
 42                     final int cloNumber = 6;
 43                     List<Object> selectDataAll = (List<Object>) request.getAttribute("listAllData");
 44                     if(selectDataAll != null){
 45                         for(int i=0 ; i<selectDataAll.size() ; i++){
 46                             if(index <= cloNumber){
 47                 %>
 48                                 if(arr == null){
 49                                     arr = new Array;
 50                                 }
 51                                 arr.push('<%=selectDataAll.get(i)%>');
 52                 <%
 53                                 if(index++ == cloNumber){
 54                                     index = 0;
 55                 %>
 56                                     arrData.push(arr);
 57                                     arr = null;
 58                 <%
 59                                 }
 60
 61                             }
 62                         }
 63                     }
 64                 %>
 65                 $('#score-student-list').jexcel({
 66                     data: arrData, // 数据(二维数组)
 67                     colHeaders: ['身份证', '真实姓名', '账号', '手机', '邮箱', '密码','性别'], // 表头
 68                     colWidths: [200, 200, 200, 200, 200, 200,180], // 每列的宽度
 69                     columns: [{
 70                         type: 'text'
 71                     },{
 72                         type: 'text'
 73                     },{
 74                         type: 'text'
 75                     },{
 76                         type: 'text'
 77                     },{
 78                         type: 'text'
 79                     }, {
 80                         type: 'text'
 81                     },{
 82                         type: 'text'
 83                     },
 84                     ]}
 85                 );
 86             }
 87
 88             if('<%=(String)request.getAttribute("isInsert")%>' == '1'){
 89                 alert("修改成功");
 90                 $('#div2').hide(1500);
 91             }
 92
 93             if('<%=(String)request.getAttribute("isDelete")%>' == '1'){
 94                 alert("删除成功");
 95                 $(location).attr('href', 'index.jsp');
 96             }
 97
 98             $('#select').click(function(){
 99             <%--<%=request.getParameter("ACCOUNT") %>"--%>
100                 document.demo.action="MainServlet.action?Type=select&accounts="+$.cookie('ACCOUNT');
101                 document.demo.submit();
102             });
103
104             $('#save').click(function(){
105                 document.demo.action="MainServlet.action?Type=saves";
106                 document.demo.submit();
107             });
108
109             $('#cancel').click(function(){
110                 document.demo.action="MainServlet.action?Type=cancel&accounts="+$.cookie('ACCOUNT');
111                 document.demo.submit();
112             });
113
114             $('#all').click(function(){
115                 document.demo.action="MainServlet.action?Type=all";
116                 document.demo.submit();
117             });
118
119             $('#update').click(function(){
120                     $('input').removeAttr("disabled");
121                     $('#div3').show(1500);
122             });
123          });
124     </script>
125   </head>
126
127   <body>
128     <form name="demo" method="post">
129         <div style="margin-left: 1%; margin-top: 2%;" class="layui-btn-group">
130             <input type="button" id="select" value="查看" class="layui-btn" ></input>
131             <input type="button" id="update" value="编辑" class="layui-btn "></input>
132             <input type="button" id="cancel" value="注销" class="layui-btn"></input>
133             <input type="button" id="all" value="查看所有" class="layui-btn"></input>
134         </div>
135         <hr />
136         <div id="div2" style="display:none">
137             <div class="layui-inline">
138                 <label class="layui-form-label">账号</label>
139                 <div class="layui-input-inline">
140                     <input name="account" id="account" class="layui-input" type="text" disabled />
141                 </div>
142             </div>
143         <hr />
144             <div class="layui-inline">
145                 <label class="layui-form-label">手机</label>
146                 <div class="layui-input-inline">
147                     <input name="phone" id="phone" class="layui-input" type="tel" disabled />
148                 </div>
149             </div>
150         <hr />
151             <div class="layui-inline">
152                 <label class="layui-form-label">邮箱</label>
153                 <div class="layui-input-inline">
154                     <input name="email" id="email" class="layui-input" type="email" disabled />
155                 </div>
156             </div>
157         <hr />
158             <div class="layui-inline">
159                 <label class="layui-form-label">身份证</label>
160                 <div class="layui-input-inline">
161                     <input name="ids" id="ids" class="layui-input" type="text" disabled />
162                 </div>
163             </div>
164         <hr />
165             <div class="layui-inline">
166                 <label class="layui-form-label">真实姓名</label>
167                 <div class="layui-input-inline">
168                     <input name="name" id="name" class="layui-input" type="text" disabled/>
169                 </div>
170             </div>
171         <hr />
172             <div class="layui-inline">
173                 <label class="layui-form-label">密码</label>
174                 <div class="layui-input-inline">
175                     <input name="password" id="password" class="layui-input" type="text" disabled/>
176                 </div>
177             </div>
178         <hr />
179             <div class="layui-inline">
180                 <label class="layui-form-label">性别</label>
181                 <div class="layui-input-inline">
182                     <input name="sex" id="sex" class="layui-input" type="text" disabled/>
183                 </div>
184             </div>
185         </div>
186     </form>
187     <div id="div3" style="margin-left: 7%;margin-top: 2%;display:none;">
188         <div style="margin-left: 2%;" class="layui-btn-group">
189             <input type="button" id="save" value="保存" class="layui-btn"></input>
190         </div>
191     </div>
192     <div class="score-student-list" id="score-student-list" style="display:none;margin-left: 1%;"></div>
193   </body>
194 </html>

register.jsp:

  1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2
  3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4 <html>
  5   <head>
  6
  7     <title>My JSP 'register.jsp' starting page</title>
  8
  9     <meta http-equiv="pragma" content="no-cache">
 10     <meta http-equiv="cache-control" content="no-cache">
 11     <meta http-equiv="expires" content="0">
 12     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 13     <meta http-equiv="description" content="This is my page">
 14     <link rel="stylesheet" href="layui/css/layui.css" media="all" />
 15     <script src="js/jquery.3.2.1.js"></script>
 16     <script src="layui/layui.js"></script>
 17     <script type="text/javascript">
 18     layui.use('form', function() {
 19         var form = layui.form;
 20         form.render();
 21     });
 22
 23     $(function(){
 24         $('#register').click(function(){
 25             var islen = ($('#password1').val().length >= 6 && $('#password1').val().length <= 12) && ($('#password2').val().length >= 6 && $('#password2').val().length <= 12);
 26             var isID = $('#user_id').val().length > 0 && $('#user_id').val().length <= 18;
 27             if (islen && isID) {
 28                 if ($('#password1').val() == $('#password2').val()) {
 29                     document.demo.action="RegisterServlet.action";
 30                     document.demo.submit();
 31                     <%
 32                         if(request.getAttribute("is") != null){
 33                             if((Integer)request.getAttribute("is") == 1){
 34                                 response.setHeader("refresh", "1;URL=index.jsp");
 35                             }else{
 36                     %>
 37                                 alert("注册失败");
 38                     <%
 39                             }
 40                         }
 41                     %>
 42                 } else {
 43                     alert('密码不一致!');
 44                 }
 45             } else {
 46                 if (!isID) {
 47                     alert('请输入正确的身份证!');
 48                 } else if(!islen){
 49                     alert('密码长度不一致');
 50                 }else{
 51                     alert('请输入合法的信息!');
 52                 }
 53             }
 54             });
 55     });
 56     </script>
 57   </head>
 58
 59   <body>
 60           <div style="margin-top: 5%;">
 61             <form name="demo" class="layui-form" method="post">
 62                 <div class="layui-form-item">
 63                     <label class="layui-form-label">账号</label>
 64                     <div class="layui-input-inline">
 65                         <input id="account" name="account" lay-verify="required" placeholder="请输入账号" class="layui-input" type="text">
 66                     </div>
 67                 </div>
 68
 69                 <div class="layui-form-item">
 70                     <div class="layui-inline">
 71                         <label class="layui-form-label">手机</label>
 72                         <div class="layui-input-inline">
 73                             <input id="phone" name="phone" lay-verify="required|phone" class="layui-input" type="tel">
 74                         </div>
 75                     </div>
 76                     <div class="layui-inline">
 77                         <label class="layui-form-label">邮箱</label>
 78                         <div class="layui-input-inline">
 79                             <input id="email" name="email" lay-verify="email" class="layui-input" type="email">
 80                         </div>
 81                     </div>
 82                 </div>
 83                 <div class="layui-form-item">
 84                     <label class="layui-form-label">身份证</label>
 85                     <div class="layui-input-inline">
 86                         <input id="user_id" name="user_id" lay-verify="required" placeholder="请输入身份证" class="layui-input" type="text">
 87                     </div>
 88                 </div>
 89                 <div class="layui-form-item">
 90                     <label class="layui-form-label">真实姓名</label>
 91                     <div class="layui-input-inline">
 92                         <input id="user_name" name="user_name" lay-verify="required" placeholder="请输入真实姓名" class="layui-input" type="text">
 93                     </div>
 94                 </div>
 95
 96                 <div class="layui-form-item">
 97                     <label class="layui-form-label">密码</label>
 98                     <div class="layui-input-inline">
 99                         <input id="password1" name="password1" lay-verify="pass" placeholder="请输入密码" class="layui-input" type="password">
100                     </div>
101                     <div class="layui-form-mid layui-word-aux">请填写6到12位密码</div>
102                 </div>
103                 <div class="layui-form-item">
104                     <label class="layui-form-label">确认密码</label>
105                     <div class="layui-input-inline">
106                         <input id="password2" name="password2" lay-verify="pass" placeholder="请输入密码" class="layui-input" type="password">
107                     </div>
108                     <div class="layui-form-mid layui-word-aux">请填写6到12位密码</div>
109                 </div>
110
111                 <div class="layui-form-item">
112                     <label class="layui-form-label">性别</label>
113                     <div class="layui-input-block">
114                         <input name="sex" value="男" title="男" checked="" type="radio">
115                         <input name="sex" value="女" title="女" type="radio">
116                         <input name="sex" value="人妖" title="人妖" disabled="" type="radio">
117                     </div>
118                 </div>
119                 <div class="layui-form-item">
120                     <div class="layui-input-block">
121                         <input id='register' type="button" class="layui-btn" lay-filter="demo1" value="立即注册"></input>
122                         <input type="reset" class="layui-btn layui-btn-primary" value="重置"></input>
123                     </div>
124                 </div>
125             </form>
126         </div>
127   </body>
128 </html>

web.xml:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
 3   <display-name></display-name>
 4   <servlet>
 5     <servlet-name>LoginServlet</servlet-name>
 6     <servlet-class>com.yuw.servlet.LoginServlet</servlet-class>
 7   </servlet>
 8   <servlet>
 9     <servlet-name>MainServlet</servlet-name>
10     <servlet-class>com.yuw.servlet.MainServlet</servlet-class>
11   </servlet>
12   <servlet>
13     <servlet-name>RegisterServlet</servlet-name>
14     <servlet-class>com.yuw.servlet.RegisterServlet</servlet-class>
15   </servlet>
16   <servlet-mapping>
17     <servlet-name>LoginServlet</servlet-name>
18     <url-pattern>/LoginServlet.action</url-pattern>
19   </servlet-mapping>
20   <servlet-mapping>
21     <servlet-name>MainServlet</servlet-name>
22     <url-pattern>/MainServlet.action</url-pattern>
23   </servlet-mapping>
24   <servlet-mapping>
25     <servlet-name>RegisterServlet</servlet-name>
26     <url-pattern>/RegisterServlet.action</url-pattern>
27   </servlet-mapping>
28   <welcome-file-list>
29     <welcome-file>index.jsp</welcome-file>
30   </welcome-file-list>
31 </web-app>

LoginDB.java:

 1 package com.yuw.accessDB;
 2
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.util.List;
 8
 9 import com.yuw.dataAccess.SelectData;
10 import com.yuw.jdbc.example.JDBCDataBase;
11 import com.yuw.transfer.DataTransfer;
12
13
14 public class LoginDB implements SelectData{
15
16     private List<Object> listDataReceive = null;
17     private Connection connection = null;
18     private PreparedStatement preparedStatement = null;
19     private ResultSet resultSet = null;
20
21     public LoginDB(){
22
23     }
24     /*
25      * @base    当前数据库连接
26      * @dataTransfer 当前数据库连接的数据
27      */
28     public LoginDB(DataTransfer<List<Object>> dataTransfer , JDBCDataBase base){
29         this.connection = base.example();
30         this.listDataReceive = dataTransfer.transfer();
31     }
32
33
34     public int select(String sql) {
35         // TODO Auto-generated method stub
36         try {
37             preparedStatement = connection.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
38             int index = 1;
39             for(Object object : listDataReceive){
40                 preparedStatement.setString(index++, (String)object);
41                 System.out.println((String)object);
42             }
43             resultSet = preparedStatement.executeQuery();
44             resultSet.last();
45             if(resultSet.getRow() == 1){
46                 return 1;
47             }
48         } catch (SQLException e) {
49             // TODO Auto-generated catch block
50             e.printStackTrace();
51         }finally{
52             close();
53         }
54         return 0;
55     }
56
57     public void close(){
58         if(resultSet != null){
59             try {
60                 resultSet.close();
61             } catch (SQLException e) {
62                 // TODO Auto-generated catch block
63                 e.printStackTrace();
64             }
65         }
66         if(preparedStatement != null){
67             try {
68                 preparedStatement.close();
69             } catch (SQLException e) {
70                 // TODO Auto-generated catch block
71                 e.printStackTrace();
72             }
73         }
74         if(connection != null){
75             try {
76                 connection.close();
77             } catch (SQLException e) {
78                 // TODO Auto-generated catch block
79                 e.printStackTrace();
80             }
81         }
82     }
83     public int selectAll(String sql) {
84         // TODO Auto-generated method stub
85         return 0;
86     }
87 }

MainDB.java:

  1 package com.yuw.accessDB;
  2
  3 import java.sql.Connection;
  4 import java.sql.PreparedStatement;
  5 import java.sql.ResultSet;
  6 import java.sql.SQLException;
  7 import java.util.ArrayList;
  8 import java.util.Arrays;
  9 import java.util.List;
 10
 11 import com.yuw.dataAccess.DeleteData;
 12 import com.yuw.dataAccess.InsertData;
 13 import com.yuw.dataAccess.SelectData;
 14 import com.yuw.jdbc.example.JDBCDataBase;
 15 import com.yuw.transfer.DataTransfer;
 16 import com.yuw.transfer.DataTransferReport;
 17
 18 public class MainDB implements DataTransferReport<List<Object>>,SelectData,InsertData,DeleteData{
 19     private List<Object> listDataReceive = null;
 20     private List<Object> listDataSend = null;
 21     private Connection connection = null;
 22     private PreparedStatement preparedStatement = null;
 23     private ResultSet resultSet = null;
 24
 25     public MainDB(){
 26
 27     }
 28     /*
 29      * @base    当前数据库连接
 30      * @dataTransfer 当前数据库连接的数据
 31      */
 32     public MainDB(DataTransfer<List<Object>> dataTransfer , JDBCDataBase base){
 33         this.connection = base.example();
 34         this.listDataReceive = dataTransfer.transfer();
 35     }
 36
 37     public List<Object> getListDataSend() {
 38         return listDataSend;
 39     }
 40     public void setListDataSend(List<Object> listDataSend) {
 41         this.listDataSend = listDataSend;
 42     }
 43     public int select(String sql) {
 44         // TODO Auto-generated method stub
 45         try {
 46             preparedStatement = connection.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
 47             int index = 1;
 48             for(Object object : listDataReceive){
 49                 preparedStatement.setString(index++, (String)object);
 50             }
 51             resultSet = preparedStatement.executeQuery();
 52             resultSet.last();
 53             if(resultSet.getRow() == 1){
 54                 List<Object> list = new ArrayList<Object>();
 55                 list.addAll(Arrays.asList(resultSet.getString("userId")
 56                         ,resultSet.getString("userName")
 57                         ,resultSet.getString("account")
 58                         ,resultSet.getString("password")
 59                         ,resultSet.getString("phone")
 60                         ,resultSet.getString("email")
 61                         ,resultSet.getString("sex")));
 62                 setListDataSend(list);
 63                 return 1;
 64             }
 65
 66
 67         } catch (SQLException e) {
 68             // TODO Auto-generated catch block
 69             e.printStackTrace();
 70         }finally{
 71             //close();
 72         }
 73
 74         return 0;
 75     }
 76
 77     public List<Object> transfer() {
 78         // TODO Auto-generated method stub
 79         return this.listDataSend;
 80     }
 81
 82     public void close(){
 83         if(resultSet != null){
 84             try {
 85                 resultSet.close();
 86             } catch (SQLException e) {
 87                 // TODO Auto-generated catch block
 88                 e.printStackTrace();
 89             }
 90         }
 91         if(preparedStatement != null){
 92             try {
 93                 preparedStatement.close();
 94             } catch (SQLException e) {
 95                 // TODO Auto-generated catch block
 96                 e.printStackTrace();
 97             }
 98         }
 99         if(connection != null){
100             try {
101                 connection.close();
102             } catch (SQLException e) {
103                 // TODO Auto-generated catch block
104                 e.printStackTrace();
105             }
106         }
107     }
108     public int insert(String sql) {
109         int msg = 0;
110         try {
111             if(listDataReceive != null){
112                 preparedStatement = connection.prepareStatement(sql);
113                 int index = 1;
114                 for(Object object : listDataReceive){
115                     preparedStatement.setString(index++, (String)object);
116                 }
117                 msg = preparedStatement.executeUpdate();
118             }
119         } catch (SQLException e) {
120             // TODO Auto-generated catch block
121             e.printStackTrace();
122         }finally{
123             close();
124         }
125         return msg;
126     }
127
128     public int delete(String sql) {
129         int msg = 0;
130         try {
131             if(listDataReceive != null){
132                 preparedStatement = connection.prepareStatement(sql);
133                 int index = 1;
134                 for(Object object : listDataReceive){
135                     preparedStatement.setString(index++, (String)object);
136                 }
137                 msg = preparedStatement.executeUpdate();
138             }
139         } catch (SQLException e) {
140             // TODO Auto-generated catch block
141             e.printStackTrace();
142         }finally{
143             close();
144         }
145         return msg;
146
147     }
148     public int selectAll(String sql) {
149         // TODO Auto-generated method stub
150         List<Object> total = new ArrayList<Object>();
151         List<Object> row = null;
152         try {
153             PreparedStatement preparedStatement = connection.prepareStatement(sql);
154             resultSet = preparedStatement.executeQuery();
155             while (resultSet.next()) {
156                 if(row == null){
157                     row = new ArrayList<Object>();
158                     row.addAll(Arrays.asList(resultSet.getString("userId"),
159                             resultSet.getString("userName"),
160                             resultSet.getString("account"),
161                             resultSet.getString("phone"),
162                             resultSet.getString("email"),
163                             resultSet.getString("password"),
164                             resultSet.getString("sex")));
165                     total.addAll(row);
166                 }
167                 row = null;
168             }
169             setListDataSend(total);
170             //if(listDataSend != null){171                 return 1;
172             //}
173         } catch (SQLException e) {
174             // TODO Auto-generated catch block
175             e.printStackTrace();
176         }
177         return 0;
178     }
179 }

RegisterDB.java:

 1 package com.yuw.accessDB;
 2
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.SQLException;
 6 import java.util.List;
 7
 8 import com.yuw.dataAccess.InsertData;
 9 import com.yuw.jdbc.example.JDBCDataBase;
10 import com.yuw.transfer.DataTransfer;
11
12 public class RegisterDB implements InsertData {
13
14     // 接收数据
15     private List<Object> listDataReceive = null;
16     private Connection connection = null;
17     private PreparedStatement preparedStatement = null;
18
19     public RegisterDB(){
20
21     }
22     /*
23      * @base    当前数据库连接
24      * @dataTransfer 当前数据库连接的数据
25      */
26     public RegisterDB(DataTransfer<List<Object>> dataTransfer , JDBCDataBase base){
27         this.connection = base.example();
28         this.listDataReceive = dataTransfer.transfer();
29     }
30     /*
31      * @see dataAccess.InsertData#insert(java.lang.String)
32      */
33     public int insert(String sql) {
34         int msg = 0;
35         try {
36             if(listDataReceive != null){
37                 preparedStatement = connection.prepareStatement(sql);
38                 int index = 1;
39                 for(Object object : listDataReceive){
40                     preparedStatement.setString(index++, (String)object);
41                 }
42                 msg = preparedStatement.executeUpdate();
43             }
44         } catch (SQLException e) {
45             // TODO Auto-generated catch block
46             e.printStackTrace();
47         }finally{
48             close();
49         }
50         return msg;
51     }
52     /*
53      * 关闭
54      */
55     public void close(){
56         if(preparedStatement != null){
57             try {
58                 preparedStatement.close();
59             } catch (SQLException e) {
60                 // TODO Auto-generated catch block
61                 e.printStackTrace();
62             }
63         }
64         if(connection != null){
65             try {
66                 connection.close();
67             } catch (SQLException e) {
68                 // TODO Auto-generated catch block
69                 e.printStackTrace();
70             }
71         }
72     }
73 }

AlterData.java:

1 package com.yuw.dataAccess;
2
3 /*
4  * 修改数据
5  */
6 public interface AlterData
7 {
8     int alter(String sql);
9 }

DeleteData.java:

1 package com.yuw.dataAccess;
2 /*
3  * 删除数据
4  */
5 public interface DeleteData
6 {
7
8    int delete(String sql);
9 }

InsertData.java:

1 package com.yuw.dataAccess;
2
3 /*
4  * 插入数据
5  */
6 public interface InsertData{
7
8     int insert(String sql);
9 }

SelectData.java:

 1 package com.yuw.dataAccess;
 2 /*
 3  * 查询数据
 4  */
 5 public interface SelectData
 6 {
 7
 8     int select(String sql);
 9
10     int selectAll(String sql);
11 }

JDBCDataBase.java:

 1 package com.yuw.jdbc.example;
 2
 3 import java.sql.Connection;
 4 /**
 5  * 数据库连接
 6  */
 7 public interface JDBCDataBase{
 8
 9     Connection example();
10 }

SQLserverJDBC.java:

 1 package com.yuw.jdbc.example;
 2
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 /*
 6  * 连接 sql server 2012 数据库
 7  */
 8 public class SQLserverJDBC implements JDBCDataBase{
 9     private static final String DriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
10     private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=testDB";
11     private static final String UserName = "sa";
12     private static final String UserCipher = "123456";
13     /*
14      * 单例模式:整个应用只实例化JDBC一个
15      */
16     private SQLserverJDBC() {
17
18     }
19     private static class LazyHolder {
20            private static final SQLserverJDBC sqlserverJDBC = new SQLserverJDBC();
21     }
22
23     public static final SQLserverJDBC getInstance() {
24            return LazyHolder.sqlserverJDBC;
25     }
26     public Connection example() {
27         Connection dataBase = null;
28         try{
29             Class.forName(DriverName);
30             dataBase = DriverManager.getConnection(URL, UserName, UserCipher);
31         } catch (Exception e ){
32             // TODO Auto-generated catch block
33             System.out.println("连接失败");
34             e.printStackTrace();
35         }
36         return dataBase;
37     }
38
39 }

LoginServlet.java:

 1 package com.yuw.servlet;
 2
 3 import java.io.IOException;
 4 import java.io.UnsupportedEncodingException;
 5 import java.util.ArrayList;
 6 import java.util.Arrays;
 7 import java.util.List;
 8
 9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 import com.yuw.accessDB.LoginDB;
15 import com.yuw.dataAccess.SelectData;
16 import com.yuw.jdbc.example.SQLserverJDBC;
17 import com.yuw.transfer.DataTransfer;
18
19
20 public class LoginServlet extends HttpServlet implements DataTransfer<List<Object>>{
21
22     private static final long serialVersionUID = 1L;
23     // 发送数据
24     private List<Object> listDataSend = null;
25
26     public List<Object> getListDataSend() {
27         return listDataSend;
28     }
29
30     public void setListDataSend(List<Object> listDataSend) {
31         this.listDataSend = listDataSend;
32     }
33
34     public void doPost(HttpServletRequest request, HttpServletResponse response)
35             throws ServletException, IOException {
36         response.setContentType("text/plain; charset=utf-8");
37
38         List<Object> data = new ArrayList<Object>();
39         data.addAll(Arrays.asList(toCharacterEncoding(request.getParameter("account")),
40                 toCharacterEncoding(request.getParameter("passwords"))));
41         setListDataSend(data);
42         final String sql = "select * from user_Account where account = ? and password = ?;";
43         int t = select(sql);
44         request.setAttribute("is",t);
45         request.setAttribute("ACCOUNT",request.getParameter("account"));
46         request.getRequestDispatcher("index.jsp").forward(request, response);
47
48
49     }
50     /*
51      * 查询
52      */
53     public int select(String sql){
54         //正在发送数据信息
55         LoginDB loginDB = new LoginDB(this, SQLserverJDBC.getInstance());
56         return selectUsersAccount(loginDB,sql);
57
58     }
59     private int selectUsersAccount(SelectData selectData ,String sql){
60
61         return selectData.select(sql);
62
63     }
64     public List<Object> transfer() {
65         // TODO Auto-generated method stub
66         return this.listDataSend;
67     }
68     /*
69      * 处理乱码
70      */
71     public String toCharacterEncoding(String str) throws UnsupportedEncodingException{
72
73         return new String(str.getBytes("iso-8859-1"),"utf-8");
74
75     }
76
77 }

MainServlet.java:

  1 package com.yuw.servlet;
  2
  3 import java.io.IOException;
  4 import java.io.UnsupportedEncodingException;
  5 import java.util.ArrayList;
  6 import java.util.Arrays;
  7 import java.util.List;
  8
  9 import javax.servlet.ServletException;
 10 import javax.servlet.http.HttpServlet;
 11 import javax.servlet.http.HttpServletRequest;
 12 import javax.servlet.http.HttpServletResponse;
 13
 14 import org.junit.Test;
 15
 16 import com.yuw.accessDB.MainDB;
 17 import com.yuw.dataAccess.DeleteData;
 18 import com.yuw.dataAccess.InsertData;
 19 import com.yuw.dataAccess.SelectData;
 20 import com.yuw.jdbc.example.SQLserverJDBC;
 21 import com.yuw.transfer.DataTransfer;
 22 import com.yuw.transfer.DataTransferReport;
 23
 24 public class MainServlet extends HttpServlet implements DataTransfer<List<Object>>{
 25
 26     private static final long serialVersionUID = 1L;
 27     private static final int ONE = 1;
 28     // 发送数据
 29     private List<Object> listDataSend = null;
 30     // 接收数据
 31     private List<Object> listDataReceive = null;
 32     private MainDB mainDB = null;
 33     //前台标识
 34     private final String[] flag = new String[]{"userId","userName","account","passwords","phone","email","sex"};
 35     static String le = "";
 36     public List<Object> getListDataReceive() {
 37         return listDataReceive;
 38     }
 39
 40     public void setListDataReceive(DataTransferReport<List<Object>> dataTransferReport) {
 41         this.listDataReceive = dataTransferReport.transfer();
 42     }
 43
 44     public List<Object> getListDataSend() {
 45         return listDataSend;
 46     }
 47
 48
 49     public void setListDataSend(List<Object> listDataSend) {
 50         this.listDataSend = listDataSend;
 51     }
 52
 53     public void doPost(HttpServletRequest request, HttpServletResponse response)
 54             throws ServletException, IOException {
 55
 56         response.setContentType("text/plain; charset=utf-8");
 57         List<Object> data = new ArrayList<Object>();
 58         if("select".equals(request.getParameter("Type"))){
 59             data.addAll(Arrays.asList(toCharacterEncoding(request.getParameter("accounts"))));
 60             setListDataSend(data);
 61             final String sql = "select users.*,user_Account.password from users,user_Account where users.account = user_Account.account and user_Account.account = ?;";
 62             int index = 0;
 63             if(select(sql) == ONE){
 64                 for(Object object : listDataReceive){
 65                     request.setAttribute(flag[index++], (String)object);
 66                 }
 67                 request.setAttribute("isSelect", "1");
 68                 request.getRequestDispatcher("main.jsp").forward(request, response);
 69             }
 70         }else if("saves".equals(request.getParameter("Type"))){
 71             data.addAll(Arrays.asList(toCharacterEncoding(request.getParameter("account")),
 72                     toCharacterEncoding(request.getParameter("account")),
 73                     toCharacterEncoding(request.getParameter("account")),
 74                     toCharacterEncoding(request.getParameter("password")),
 75                     toCharacterEncoding(request.getParameter("ids")),
 76                     toCharacterEncoding(request.getParameter("name")),
 77                     toCharacterEncoding(request.getParameter("account")),
 78                     toCharacterEncoding(request.getParameter("phone")),
 79                     toCharacterEncoding(request.getParameter("email")),
 80                     toCharacterEncoding(request.getParameter("sex"))));
 81             setListDataSend(data);
 82             final String sql = "begin tran saves "+
 83                        "delete users where account=?;"+
 84                        "delete user_Account where account=?;"+
 85                        "insert into user_Account values(?,?);"+
 86                        "insert into users values(?,?,?,?,?,?);"+
 87                        "commit tran saves";
 88             if(insert(sql) == ONE){
 89                 request.setAttribute("isInsert", "1");
 90                 request.getRequestDispatcher("main.jsp").forward(request, response);
 91             }
 92         }else if("cancel".equals(request.getParameter("Type"))){
 93             data.addAll(Arrays.asList(toCharacterEncoding(request.getParameter("accounts")),
 94                     toCharacterEncoding(request.getParameter("accounts"))));
 95             setListDataSend(data);
 96             final String sql ="begin tran deletes "+
 97                         "delete users where account=?;"+
 98                        "delete user_Account where account=?;"+
 99                        "commit tran deletes";
100             if(delete(sql) == ONE){
101                 request.setAttribute("isDelete", "1");
102                 request.getRequestDispatcher("main.jsp").forward(request, response);
103             }
104         }else if("all".equals(request.getParameter("Type"))){
105             final String sql = "select users.*,user_Account.password  from users, user_Account where  users.account = user_Account.account;";
106             if(selectAll(sql) == ONE){
107                 request.setAttribute("isSelectAll", "1");
108                 request.setAttribute("listAllData", listDataReceive);
109                 request.getRequestDispatcher("main.jsp").forward(request, response);
110             }
111         }
112     }
113     @Test
114     public void TestselectAll(){
115         final String sql = "select * from users, user_Account where  users.account = user_Account.account;";
116         MainServlet mainServlet = new MainServlet();
117         if(mainServlet.selectAll(sql) ==1){
118             for(Object object : listDataReceive){
119                 System.out.println(object);
120             }
121         }
122     }
123     public int selectAll(String sql){
124         //正在发送数据信息
125         mainDB = new MainDB(this, SQLserverJDBC.getInstance());
126         return selectAllUsersAccount(mainDB,sql);
127     }
128
129     private int selectAllUsersAccount(SelectData selectData,String sql){
130         int t = selectData.selectAll(sql);
131         setListDataReceive(mainDB);
132         return t;
133     }
134     public int delete(String sql){
135         //正在发送数据信息
136         mainDB = new MainDB(this, SQLserverJDBC.getInstance());
137         return deleteUsersAccount(mainDB,sql);
138     }
139
140     private int deleteUsersAccount(DeleteData deleteData,String sql){
141         return deleteData.delete(sql);
142     }
143
144     public int insert(String sql){
145         //正在发送数据信息
146         mainDB = new MainDB(this, SQLserverJDBC.getInstance());
147         return insertUsersAccount(mainDB,sql);
148     }
149
150     private int insertUsersAccount(InsertData insertData,String sql){
151         return insertData.insert(sql);
152     }
153
154     public int select(String sql){
155         //正在发送数据信息
156         mainDB = new MainDB(this, SQLserverJDBC.getInstance());
157         return selectUsersAccount(mainDB,sql);
158
159     }
160
161     private int selectUsersAccount(SelectData selectData ,String sql){
162         int t = selectData.select(sql);
163         setListDataReceive(mainDB);
164         return t;
165
166     }
167
168     public List<Object> transfer() {
169         // TODO Auto-generated method stub
170         return this.listDataSend;
171     }
172
173     public String toCharacterEncoding(String str) throws UnsupportedEncodingException{
174         return new String(str.getBytes("iso-8859-1"),"utf-8");
175
176     }
177 }

RegisterServlet.java:

 1 package com.yuw.servlet;
 2
 3 import java.io.IOException;
 4 import java.io.UnsupportedEncodingException;
 5 import java.util.ArrayList;
 6 import java.util.Arrays;
 7 import java.util.List;
 8
 9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 import com.yuw.accessDB.RegisterDB;
15 import com.yuw.dataAccess.InsertData;
16 import com.yuw.jdbc.example.SQLserverJDBC;
17 import com.yuw.transfer.DataTransfer;
18
19
20 public class RegisterServlet extends HttpServlet implements DataTransfer<List<Object>>{
21
22     private static final long serialVersionUID = 1L;
23     // 发送数据
24     private List<Object> listDataSend = null;
25
26     public List<Object> getListDataSend() {
27         return listDataSend;
28     }
29
30
31     public void setListDataSend(List<Object> listDataSend) {
32         this.listDataSend = listDataSend;
33     }
34
35
36     public void doPost(HttpServletRequest request, HttpServletResponse response)
37             throws ServletException, IOException {
38
39         response.setContentType("text/plain; charset=utf-8");
40         List<Object> data = new ArrayList<Object>();
41         data.addAll(Arrays.asList(toCharacterEncoding(request.getParameter("account")),
42                 toCharacterEncoding(request.getParameter("password1")),
43                 toCharacterEncoding(request.getParameter("user_id")),
44                 toCharacterEncoding(request.getParameter("user_name")),
45                 toCharacterEncoding(request.getParameter("account")),
46                 toCharacterEncoding(request.getParameter("phone")),
47                 toCharacterEncoding(request.getParameter("email")),
48                 toCharacterEncoding(request.getParameter("sex"))));
49
50         setListDataSend(data);
51         final String sql = "begin tran insets "+
52                             "insert into user_Account values(?,?);"+
53                             "insert into users values(?,?,?,?,?,?);"+
54                             "commit tran insets";
55         int t = insert(sql);
56         request.setAttribute("is",t);
57         request.getRequestDispatcher("register.jsp").forward(request, response);
58     }
59     /*
60      * 插入
61      */
62     public int insert(String sql) {
63         //正在发送数据信息
64         RegisterDB registerDB = new RegisterDB(this, SQLserverJDBC.getInstance());
65         return insertUser(registerDB,sql);
66     }
67     /*
68      * 插入
69      */
70     private int insertUser(InsertData insertData , String sql){
71
72         return insertData.insert(sql);
73
74     }
75
76     public String toCharacterEncoding(String str) throws UnsupportedEncodingException{
77         return new String(str.getBytes("iso-8859-1"),"utf-8");
78
79     }
80
81     public List<Object> transfer() {
82         // TODO Auto-generated method stub
83         return this.listDataSend;
84     }
85 }

DataTransfer.java:

1 package com.yuw.transfer;
2
3 public interface DataTransfer<T>{
4     /*
5      * 数据集通讯
6      * Selvlet与DB进行数据交互的中间件
7      */
8     T transfer();
9 }

DataTransferReport.java:

 1 package com.yuw.transfer;
 2
 3 public interface DataTransferReport<T>
 4 {
 5
 6     /*
 7      * 数据集通讯(回送)
 8      * DB与Servlet进行数据交互的中间件
 9      */
10     T transfer();
11
12 }

转载于:https://www.cnblogs.com/YuWeiXiF/p/8385363.html

jsp + servlet 实现简单的增、删、改、查相关推荐

  1. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  2. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  3. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  4. PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理

    笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...

  5. 简单的php数据库操作类代码(增,删,改,查)

    数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...

  6. pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...

  7. list 增 删 改 查 及 公共方法

    1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...

  8. Python 操作 Elasticsearch 实现 增 删 改 查

    Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...

  9. Linux技术--mysql数据库增-删-改-查

    # mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器   Linux或者 windows  * 数据库  * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...

最新文章

  1. pytorch中网络loss传播和参数更新理解
  2. AutoFac在项目中的应用
  3. 中国非动物胶市场来产销需求及发展潜力研究报告2022版
  4. 【Android笔记】MediaPlayer基本使用方式
  5. windows 包管理器scoop的使用
  6. 江湖急诏令:腾讯数据库王者挑战赛赏金万两募英豪!
  7. MIP技术进展月报第2期: 数据绑定,异步脚本加速
  8. respondsToSelector的相关使用
  9. Java的重写equals但不重写hashCode方法的影响
  10. Python天天学_03_基础三
  11. 分享一些使用电脑的小技巧
  12. selenium爬取裁判文书网
  13. 你是探索者,还是归客?用大数据说话
  14. dfuse——最顺畅的区块链 API 现已接入 Worbli
  15. python实现图片rgb通道分离
  16. NonlinearFactorGraph.h/NonlinearFactorGraph.cpp
  17. 改造Android手机为,便携式linux服务器,跑tomcat
  18. MPLAB 创建新项目
  19. STM32 OLED显示屏--SPI通信知识汇总
  20. 统计学 回归分析( Regression Analysis)

热门文章

  1. Mybatis -study
  2. Vue 项目优化图片
  3. Python之HTML解析
  4. MPI编程——分块矩阵乘法(cannon算法)
  5. ant design pro v5 总结
  6. 电脑运行缓慢?原因分析及解决方法一览
  7. 太阳与彩虹---开始!
  8. 计算机专业 拒绝清华,2次拒绝北大邀请,获清华保送生资格,网友:清华计算机全球第一...
  9. solidworks装配体另存为时报错 如题,提示:输入的文件名无效,无法被发现、被锁住或者为不兼容的类型
  10. DFS深度优先搜索 岛屿问题 涂色问题 扫雷游戏