作业:联系人管理
数据库表:
1.联系人表 contacts
1 -- Create table 2 create table CONTACTS 3 ( 4 id NUMBER not null, 5 name VARCHAR2(20) not null, 6 tel NVARCHAR2(20) not null, 7 groupid NUMBER not null 8 ) 9 tablespace TEST 10 pctfree 10 11 initrans 1 12 maxtrans 255 13 storage 14 ( 15 initial 64K 16 next 1M 17 minextents 1 18 maxextents unlimited 19 ); 20 -- Create/Recreate primary, unique and foreign key constraints 21 alter table CONTACTS 22 add constraint PK_CONTACTS primary key (ID) 23 using index 24 tablespace TEST 25 pctfree 10 26 initrans 2 27 maxtrans 255 28 storage 29 ( 30 initial 64K 31 next 1M 32 minextents 1 33 maxextents unlimited 34 );
2.分组信息表 groups
1 -- Create table 2 create table GROUPS 3 ( 4 id NUMBER not null, 5 name VARCHAR2(20) not null 6 ) 7 tablespace TEST 8 pctfree 10 9 initrans 1 10 maxtrans 255 11 storage 12 ( 13 initial 64K 14 next 1M 15 minextents 1 16 maxextents unlimited 17 ); 18 -- Create/Recreate primary, unique and foreign key constraints 19 alter table GROUPS 20 add constraint PK_GROUPS primary key (ID) 21 using index 22 tablespace TEST 23 pctfree 10 24 initrans 2 25 maxtrans 255 26 storage 27 ( 28 initial 64K 29 next 1M 30 minextents 1 31 maxextents unlimited 32 );
3,联系人id列自增长序列 SQ_CONTACTS_ID
1 -- Create sequence 2 create sequence SQ_CONTACTS_ID 3 minvalue 1 4 maxvalue 9999999999999999999999999999 5 start with 21 6 increment by 1 7 cache 20;
javaee工程:lxr
工具类放在com.haq.comm包中,包括:
1,数据库连接工具类 DBHelper.java
1 package com.haq.comm; 2 3 import java.sql.*; 4 5 //数据库连接工具类 6 public class DBHelper { 7 8 public static Connection getConnection() throws Exception 9 { 10 Connection conn = null; 11 12 Class.forName("oracle.jdbc.driver.OracleDriver"); 13 14 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; 15 16 conn = DriverManager.getConnection(url,"test","test"); 17 18 return conn; 19 } 20 21 }
2,中文编码过滤器 ZhongWen.java
1 package com.haq.comm; 2 3 import java.io.IOException; 4 import javax.servlet.Filter; 5 import javax.servlet.FilterChain; 6 import javax.servlet.FilterConfig; 7 import javax.servlet.ServletException; 8 import javax.servlet.ServletRequest; 9 import javax.servlet.ServletResponse; 10 import javax.servlet.annotation.WebFilter; 11 12 /** 13 * Servlet Filter implementation class ZhongWen 14 */ 15 @WebFilter("/*") 16 public class ZhongWen implements Filter { 17 18 /** 19 * Default constructor. 20 */ 21 public ZhongWen() { 22 // TODO Auto-generated constructor stub 23 } 24 25 /** 26 * @see Filter#destroy() 27 */ 28 public void destroy() { 29 // TODO Auto-generated method stub 30 } 31 32 /** 33 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) 34 */ 35 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 36 // TODO Auto-generated method stub 37 // place your code here 38 39 //处理中文乱码的过滤器 40 41 request.setCharacterEncoding("UTF-8"); 42 response.setCharacterEncoding("UTF-8"); 43 response.setContentType("text/html; charset=UTF-8"); 44 45 // pass the request along the filter chain 46 chain.doFilter(request, response); 47 } 48 49 /** 50 * @see Filter#init(FilterConfig) 51 */ 52 public void init(FilterConfig fConfig) throws ServletException { 53 // TODO Auto-generated method stub 54 } 55 56 }
模型层类:放在com.hanq.dao包中,包括:
1,封装联系人信息的实体类 Contacts.java
1 package com.haq.dao; 2 3 //实体类封装联系人信息 4 public class Contacts { 5 6 private int id; 7 private String name; 8 private String tel; 9 private int groupid; 10 11 public int getId() { 12 return id; 13 } 14 public void setId(int id) { 15 this.id = id; 16 } 17 public String getName() { 18 return name; 19 } 20 public void setName(String name) { 21 this.name = name; 22 } 23 public String getTel() { 24 return tel; 25 } 26 public void setTel(String tel) { 27 this.tel = tel; 28 } 29 public int getGroupid() { 30 return groupid; 31 } 32 public void setGroupid(int groupid) { 33 this.groupid = groupid; 34 } 35 36 37 38 }
2,封装联系人表数据库操作的类 ContDal.java
1 package com.haq.dao; 2 3 import java.util.*; 4 import java.sql.*; 5 6 import com.haq.comm.DBHelper; 7 8 //数据库操作类 9 public class ContDal { 10 11 //插入数据 12 public int insertCont(Contacts c ) throws Exception 13 { 14 //初始化返回值行数 15 int row = -1; 16 //获取数据库连接 17 Connection conn = DBHelper.getConnection(); 18 //如果获取成功 19 if(conn != null) 20 { 21 //声明PreparedStatement对象 22 PreparedStatement ps = null; 23 24 try 25 { 26 //组织sql插入语句 27 String sql = "insert into contacts(id,name,tel,groupid) values(sq_contacts_id.nextval,?,?,?)"; 28 //获取PreparedStatement对象; 29 ps = conn.prepareStatement(sql); 30 //对sql语句中的参数赋值 31 ps.setString(1, c.getName()); 32 ps.setString(2, c.getTel()); 33 ps.setInt(3, c.getGroupid()); 34 //执行插入操作,返回影响行数 35 row = ps.executeUpdate(); 36 } 37 catch(Exception e) 38 { 39 throw e; 40 } 41 finally 42 { 43 try 44 { 45 //释放资源 46 ps.close(); 47 conn.close(); 48 } 49 catch(Exception e) 50 { 51 //确保ps关闭失败时,数据库连接可正常关闭 52 conn.close(); 53 } 54 } 55 56 } 57 //返回插入行数 58 return row; 59 60 } 61 62 //查询方法 63 public ArrayList<Contacts> selectContList() throws Exception 64 { 65 ArrayList<Contacts> arr = null; 66 67 //获取数据库连接 68 Connection conn = DBHelper.getConnection(); 69 70 if(conn != null) 71 { 72 Statement st = null; 73 ResultSet rs = null; 74 75 try 76 { 77 //组织sql查询语句 78 String sql ="select * from contacts"; 79 //获取Statement 80 st = conn.createStatement(); 81 //执行sql语句,获取ResultSet 82 rs = st.executeQuery(sql); 83 //实例化ArrayList对象 84 arr = new ArrayList<Contacts>(); 85 if(rs != null) 86 { 87 //遍历rs 88 while(rs.next()) 89 { 90 //实例化实体类Contacts 91 Contacts c = new Contacts(); 92 93 c.setId(rs.getInt("id")); 94 c.setName(rs.getString("name")); 95 c.setTel(rs.getString("tel")); 96 c.setGroupid(rs.getInt("groupid")); 97 98 arr.add(c); 99 } 100 } 101 } 102 catch(Exception e) 103 { 104 throw e; 105 } 106 finally 107 { 108 try 109 { 110 st.close(); 111 rs.close(); 112 conn.close(); 113 } 114 catch(Exception e) 115 { 116 conn.close(); 117 } 118 } 119 } 120 121 122 return arr; 123 } 124 125 //删除方法 126 public int deleteCont(int id ) throws Exception 127 { 128 //初始化返回值行数 129 int row = -1; 130 //获取数据库连接 131 Connection conn = DBHelper.getConnection(); 132 //如果获取成功 133 if(conn != null) 134 { 135 //声明PreparedStatement对象 136 PreparedStatement ps = null; 137 138 try 139 { 140 //组织sql插入语句 141 String sql = "delete from contacts where id = ?"; 142 //获取PreparedStatement对象; 143 ps = conn.prepareStatement(sql); 144 //对sql语句中的参数赋值 145 ps.setInt(1, id); 146 //执行插入操作,返回影响行数 147 row = ps.executeUpdate(); 148 } 149 catch(Exception e) 150 { 151 throw e; 152 } 153 finally 154 { 155 try 156 { 157 //释放资源 158 ps.close(); 159 conn.close(); 160 } 161 catch(Exception e) 162 { 163 //确保ps关闭失败时,数据库连接可正常关闭 164 conn.close(); 165 } 166 } 167 168 } 169 //返回插入行数 170 return row; 171 172 } 173 174 //修改方法 175 public int updateCont(Contacts c, int id ) throws Exception 176 { 177 //初始化返回值行数 178 int row = -1; 179 //获取数据库连接 180 Connection conn = DBHelper.getConnection(); 181 //如果获取成功 182 if(conn != null) 183 { 184 //声明PreparedStatement对象 185 PreparedStatement ps = null; 186 187 try 188 { 189 //组织sql插入语句 190 String sql = "update contacts set name=?,tel=?,groupid=? where id=?"; 191 //获取PreparedStatement对象; 192 ps = conn.prepareStatement(sql); 193 //对sql语句中的参数赋值 194 ps.setString(1, c.getName()); 195 ps.setString(2, c.getTel()); 196 ps.setInt(3, c.getGroupid()); 197 ps.setInt(4, id); 198 //执行插入操作,返回影响行数 199 row = ps.executeUpdate(); 200 } 201 catch(Exception e) 202 { 203 throw e; 204 } 205 finally 206 { 207 try 208 { 209 //释放资源 210 ps.close(); 211 conn.close(); 212 } 213 catch(Exception e) 214 { 215 //确保ps关闭失败时,数据库连接可正常关闭 216 conn.close(); 217 } 218 } 219 220 } 221 //返回插入行数 222 return row; 223 224 } 225 226 //单条查询 227 public Contacts seleteCont(int id) throws Exception 228 { 229 //声明返回值 230 Contacts c = null; 231 232 //获得连接 233 Connection conn = DBHelper.getConnection(); 234 235 //如果获取到连接 236 if(conn != null) 237 { 238 PreparedStatement ps = null; 239 240 ResultSet rs = null; 241 242 try 243 { 244 //组织数据库查询的sql语句 245 String sql ="select * from contacts where id = ?"; 246 //获取PreparedStatement对象 247 ps = conn.prepareStatement(sql); 248 //添加sql语句参数 249 ps.setInt(1, id); 250 //执行sql语句,获取ResultSet对象 251 rs = ps.executeQuery(); 252 //如果ResultSet获取到 253 if(rs != null && rs.next()) 254 { 255 c = new Contacts(); 256 257 c.setId(rs.getInt("id")); 258 c.setName(rs.getString("name")); 259 c.setTel(rs.getString("tel")); 260 c.setGroupid(rs.getInt("groupid")); 261 } 262 263 } 264 catch(Exception e) 265 { 266 267 throw e; 268 269 } 270 finally 271 { 272 //释放资源 273 try 274 { 275 276 ps.close(); 277 rs.close(); 278 conn.close(); 279 } 280 catch(Exception e) 281 { 282 conn.close(); 283 } 284 } 285 286 } 287 288 //返回Groups对象 289 return c; 290 } 291 292 }
3,封装分组信息数据的实体类 Groups.java
1 package com.haq.dao; 2 3 //分组实体类 4 public class Groups { 5 6 //列作为属性,设为私有 7 private int id; 8 private String name; 9 //对外开放get,set方法 10 public int getId() { 11 return id; 12 } 13 public void setId(int id) { 14 this.id = id; 15 } 16 public String getName() { 17 return name; 18 } 19 public void setName(String name) { 20 this.name = name; 21 } 22 }
4,封装分组表数据库操作的类 GroupDal.java
1 package com.haq.dao; 2 3 import java.sql.*; 4 import java.util.ArrayList; 5 6 import com.haq.comm.DBHelper; 7 8 //分组表数据库操作类 9 public class GroupDal { 10 11 //查询全表信息 12 public ArrayList<Groups> seleteGroupsList() throws Exception 13 { 14 //声明返回值 15 ArrayList<Groups> arr = null; 16 17 //获得连接 18 Connection conn = DBHelper.getConnection(); 19 20 //如果获取到连接 21 if(conn != null) 22 { 23 Statement st = null; 24 25 ResultSet rs = null; 26 27 try 28 { 29 //组织数据库查询的sql语句 30 String sql ="select * from groups"; 31 //获取Statement对象 32 st = conn.createStatement(); 33 //执行sql语句,获取ResultSet对象 34 rs = st.executeQuery(sql); 35 //如果ResultSet获取到 36 if(rs != null) 37 { 38 //实例化ArrayList<Groups> 39 arr = new ArrayList<Groups>(); 40 41 //遍历rs,将数据添加到Groups实体类的对象中 42 while(rs.next()) 43 { 44 //实例化Groups 45 Groups g = new Groups(); 46 g.setId(rs.getInt("id")); 47 g.setName(rs.getString("name")); 48 //向集合中添加数据 49 arr.add(g); 50 } 51 52 } 53 } 54 catch(Exception e) 55 { 56 57 throw e; 58 59 } 60 finally 61 { 62 //释放资源 63 try 64 { 65 66 st.close(); 67 rs.close(); 68 conn.close(); 69 } 70 catch(Exception e) 71 { 72 conn.close(); 73 } 74 } 75 76 } 77 78 //返回Groups对象 79 return arr; 80 } 81 82 //查询单条记录方法 83 public Groups seleteGroups(int id) throws Exception 84 { 85 //声明返回值 86 Groups g = null; 87 88 //获得连接 89 Connection conn = DBHelper.getConnection(); 90 91 //如果获取到连接 92 if(conn != null) 93 { 94 PreparedStatement ps = null; 95 96 ResultSet rs = null; 97 98 try 99 { 100 //组织数据库查询的sql语句 101 String sql ="select * from groups where id = ?"; 102 //获取PreparedStatement对象 103 ps = conn.prepareStatement(sql); 104 //添加sql语句参数 105 ps.setInt(1, id); 106 //执行sql语句,获取ResultSet对象 107 rs = ps.executeQuery(); 108 //如果ResultSet获取到 109 if(rs != null && rs.next()) 110 { 111 g = new Groups(); 112 113 g.setId(rs.getInt("id")); 114 g.setName(rs.getString("name")); 115 } 116 117 } 118 catch(Exception e) 119 { 120 121 throw e; 122 123 } 124 finally 125 { 126 //释放资源 127 try 128 { 129 130 ps.close(); 131 rs.close(); 132 conn.close(); 133 } 134 catch(Exception e) 135 { 136 conn.close(); 137 } 138 } 139 140 } 141 142 //返回Groups对象 143 return g; 144 } 145 146 }
控制层Servlet:放于com.hanq包中,包括:
1,插入联系人 InsertCont.java
1 package com.haq; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 import com.haq.dao.ContDal; 11 import com.haq.dao.Contacts; 12 13 /** 14 * Servlet implementation class InsertCont 15 */ 16 @WebServlet("/InsertCont") 17 public class InsertCont extends HttpServlet { 18 private static final long serialVersionUID = 1L; 19 20 /** 21 * @see HttpServlet#HttpServlet() 22 */ 23 public InsertCont() { 24 super(); 25 // TODO Auto-generated constructor stub 26 } 27 28 /** 29 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 30 */ 31 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 32 // TODO Auto-generated method stub 33 //接收表单数据 34 String name = request.getParameter("name"); 35 String tel = request.getParameter("tel"); 36 String groupid = request.getParameter("groupid"); 37 //验证数据是否正确传递 38 if(name == null || name.trim().length() ==0) 39 { 40 response.getWriter().append("姓名不能为空"); 41 } 42 else if(tel == null || tel.trim().length() ==0) 43 { 44 response.getWriter().append("电话不能为空"); 45 } 46 else if(groupid == null || groupid.trim().length() ==0) 47 { 48 response.getWriter().append("分组不能为空"); 49 } 50 else 51 { 52 //实例化联系人实体类 53 Contacts c = new Contacts(); 54 //将接收到的数据添加到对象中 55 c.setName(name); 56 c.setTel(tel); 57 c.setGroupid(Integer.parseInt(groupid)); 58 59 //实例化数据库操作类 60 ContDal cd = new ContDal(); 61 //调用添加方法添加 62 try { 63 64 int row = cd.insertCont(c); 65 response.getWriter().append("成功添加" + row + "条数据"); 66 67 } catch (Exception e) { 68 69 response.getWriter().append("添加失败;错误信息:" + e.getMessage()); 70 } 71 72 73 } 74 75 //跳转回主页面 76 response.setHeader("refresh", "1;URL=ContMana.jsp"); 77 //response.getWriter().append("Served at: ").append(request.getContextPath()); 78 } 79 80 /** 81 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 82 */ 83 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 84 // TODO Auto-generated method stub 85 doGet(request, response); 86 } 87 88 }
2,删除联系人 DeleteCont.java
1 package com.haq; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 import com.haq.dao.*; 11 12 /** 13 * Servlet implementation class DeleteCont 14 */ 15 @WebServlet("/DeleteCont") 16 public class DeleteCont extends HttpServlet { 17 private static final long serialVersionUID = 1L; 18 19 /** 20 * @see HttpServlet#HttpServlet() 21 */ 22 public DeleteCont() { 23 super(); 24 // TODO Auto-generated constructor stub 25 } 26 27 /** 28 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 */ 30 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 // TODO Auto-generated method stub 32 33 //接收参数 34 String id = request.getParameter("id"); 35 36 if(id == null || id.trim().length() == 0) 37 { 38 response.getWriter().append("id不能为空"); 39 } 40 else 41 { 42 //实例化数据库操作类 43 ContDal cd = new ContDal(); 44 45 try { 46 int row = cd.deleteCont(Integer.parseInt(id)); 47 response.getWriter().append("成功删除" + row + "条数据"); 48 } catch (Exception e) { 49 // TODO Auto-generated catch block 50 response.getWriter().append(e.getMessage()); 51 } 52 53 } 54 55 //跳转回主页面 56 response.setHeader("refresh", "1;URL=ContMana.jsp"); 57 //response.getWriter().append("Served at: ").append(request.getContextPath()); 58 } 59 60 /** 61 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 62 */ 63 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 64 // TODO Auto-generated method stub 65 doGet(request, response); 66 } 67 68 }
3,修改联系人 UpdateCont.java
1 package com.haq; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 import com.haq.dao.ContDal; 11 import com.haq.dao.Contacts; 12 13 /** 14 * Servlet implementation class UpdateCont 15 */ 16 @WebServlet("/UpdateCont") 17 public class UpdateCont extends HttpServlet { 18 private static final long serialVersionUID = 1L; 19 20 /** 21 * @see HttpServlet#HttpServlet() 22 */ 23 public UpdateCont() { 24 super(); 25 // TODO Auto-generated constructor stub 26 } 27 28 /** 29 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 30 */ 31 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 32 // TODO Auto-generated method stub 33 34 //接收表单数据 35 String name = request.getParameter("name"); 36 String tel = request.getParameter("tel"); 37 String groupid = request.getParameter("groupid"); 38 String id = request.getParameter("id"); 39 //验证数据是否正确传递 40 if(name == null || name.trim().length() ==0) 41 { 42 response.getWriter().append("姓名不能为空"); 43 } 44 else if(tel == null || tel.trim().length() ==0) 45 { 46 response.getWriter().append("电话不能为空"); 47 } 48 else if(groupid == null || groupid.trim().length() ==0) 49 { 50 response.getWriter().append("分组不能为空"); 51 } 52 else if(id == null || id.trim().length() ==0) 53 { 54 response.getWriter().append("id不能为空"); 55 } 56 else 57 { 58 //实例化联系人实体类 59 Contacts c = new Contacts(); 60 //将接收到的数据添加到对象中 61 c.setName(name); 62 c.setTel(tel); 63 c.setGroupid(Integer.parseInt(groupid)); 64 65 //实例化数据库操作类 66 ContDal cd = new ContDal(); 67 //调用添加方法添加 68 try { 69 70 int row = cd.updateCont(c,Integer.parseInt(id)); 71 response.getWriter().append("成功修改" + row + "条数据"); 72 73 } catch (Exception e) { 74 75 response.getWriter().append("添加失败;错误信息:" + e.getMessage()); 76 } 77 78 79 } 80 81 //跳转回主页面 82 response.setHeader("refresh", "2;URL=ContMana.jsp"); 83 84 //response.getWriter().append("Served at: ").append(request.getContextPath()); 85 } 86 87 /** 88 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 89 */ 90 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 91 // TODO Auto-generated method stub 92 doGet(request, response); 93 } 94 95 }
表现层jsp页面,包括:
1,显示联系人列表及添加 ContMana.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ page import="com.haq.*" %> 4 <%@ page import="com.haq.dao.*" %> 5 <%@ page import="com.haq.comm.*" %> 6 <%@ page import="java.util.*" %> 7 8 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 9 <html> 10 <head> 11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 12 <title>联系人管理</title> 13 14 <script type="text/javascript" src="jquery-1.5.2.min.js"></script> 15 16 <script type="text/javascript"> 17 18 //验证表单数据函数 19 function checkform() 20 { 21 var name = form1.name.value; 22 var tel = form1.tel.value; 23 var group = form1.groupid.value; 24 25 var zhz = /\d{11}/; 26 27 if(name == "" || $.trim(name) == "") 28 { 29 alert("姓名不能为空"); 30 return false; 31 } 32 else if(tel == "" || $.trim(tel) == "") 33 { 34 alert("电话不能为空"); 35 return false; 36 } 37 else if(!zhz.test(tel)) 38 { 39 alert("电话格式错误"); 40 return false; 41 } 42 else if(group == "" || $.trim(group) == "") 43 { 44 alert("分组不能为空"); 45 return false; 46 } 47 else 48 { 49 return true; 50 } 51 52 } 53 54 //验证删除 55 function deletecheck() 56 { 57 return(confirm("确定删除联系人吗?")) 58 } 59 60 //修改联系人 61 62 //显示添加表单 63 64 $(document).ready(function(e) { 65 $("#show").click(function() 66 { 67 $("#add").toggle(); 68 } 69 ); 70 }); 71 72 73 74 </script> 75 76 </head> 77 78 79 <body> 80 <!--显示联系人表格--> 81 <table border="1" width="300"> 82 <tr> 83 <td></td> 84 <td>姓名</td> 85 <td>电话</td> 86 <td>分组</td> 87 </tr> 88 <% 89 //查询联系人信息 90 //实例化集合 91 ArrayList<Contacts> arr1 = new ArrayList<Contacts>(); 92 //实例化数据库操作类 93 ContDal cd = new ContDal(); 94 95 arr1 = cd.selectContList(); 96 97 if(arr1 != null) 98 { 99 for(Contacts c : arr1) 100 { 101 %> 102 <tr> 103 <td> 104 <a href="updateCont.jsp?id=<%=c.getId() %>" >编辑</a> 105 <a href="DeleteCont?id=<%=c.getId() %>" onclick="return deletecheck()">删除</a> 106 </td> 107 <td><%=c.getName() %></td> 108 <td><%=c.getTel() %></td> 109 110 <td> 111 <% 112 int gid = c.getGroupid(); 113 //实例化数据操作类 114 GroupDal gd1 = new GroupDal(); 115 116 Groups g1 = gd1.seleteGroups(gid); 117 118 out.print(g1.getName()); 119 %> 120 </td> 121 122 </tr> 123 124 <% 125 126 } 127 } 128 129 %> 130 131 </table> 132 <br> 133 <input type="button" id="show" name="show" value="添加联系人"> 134 135 <!--添加联系人表单--> 136 <div id="add" style="display:none"> 137 138 <form action="InsertCont" id="form1" name="form1" onsubmit="return checkform()" method="post"> 139 140 姓名:<input type="text" id="name" name="name"/><br> 141 电话:<input type="text" name="tel" id="tel" maxlength="11" /><br> 142 分组:<select id="groupid" name="groupid"> 143 <% 144 145 //查询分组信息 146 147 GroupDal gd = new GroupDal(); 148 149 ArrayList<Groups> arr = gd.seleteGroupsList(); 150 151 //遍历输出 152 if(arr != null) 153 { 154 for(Groups g : arr ) 155 { 156 %> 157 <option value="<%=g.getId()%>"><%=g.getName() %></option> 158 159 <% 160 } 161 } 162 163 %> 164 </select><br> 165 166 <input type="submit" value="添加"/> 167 168 </form> 169 170 </div> 171 172 </body> 173 </html>
2,修改联系人 updateCont.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 4 <%@ page import="com.haq.*" %> 5 <%@ page import="com.haq.dao.*" %> 6 <%@ page import="com.haq.comm.*" %> 7 <%@ page import="java.util.*" %> 8 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 9 <html> 10 <head> 11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 12 <title>修改联系人</title> 13 14 <script type="text/javascript" src="jquery-1.5.2.min.js"></script> 15 16 <script type="text/javascript"> 17 18 //验证表单数据函数 19 function checkform() 20 { 21 var name = form1.name.value; 22 var tel = form1.tel.value; 23 var group = form1.groupid.value; 24 25 var zhz = /\d{11}/; 26 27 if(name == "" || $.trim(name) == "") 28 { 29 alert("姓名不能为空"); 30 return false; 31 } 32 else if(tel == "" || $.trim(tel) == "") 33 { 34 alert("电话不能为空"); 35 return false; 36 } 37 else if(!zhz.test(tel)) 38 { 39 alert("电话格式错误"); 40 return false; 41 } 42 else if(group == "" || $.trim(group) == "") 43 { 44 alert("分组不能为空"); 45 return false; 46 } 47 else 48 { 49 return true; 50 } 51 52 } 53 54 55 </script> 56 </head> 57 <body> 58 59 <!--修改联系人表单--> 60 61 62 63 64 <% 65 //接收参数id 66 String id = request.getParameter("id"); 67 68 if(id == null || id.trim().length() == 0) 69 { 70 out.print("参数错误"); 71 response.setHeader("refresh","1;url=ContMana.jsp"); 72 } 73 else 74 { 75 //查询联系人信息 76 //实例化Contacts 77 Contacts c = new Contacts(); 78 //实例化数据库操作类 79 ContDal cd = new ContDal(); 80 81 c = cd.seleteCont(Integer.parseInt(id)); 82 83 %> 84 85 <form action="UpdateCont?id=<%=c.getId() %>" id="form1" name="form1" onsubmit="return checkform()" method="post"> 86 87 姓名:<input type="text" id="name" name="name" value="<%=c.getName() %>"><br> 88 电话:<input type="text" name="tel" id="tel" maxlength="11" value="<%=c.getTel() %>"><br> 89 分组:<select id="groupid" name="groupid"> 90 91 <% 92 //查询分组信息 93 GroupDal gd = new GroupDal(); 94 95 ArrayList<Groups> arr = gd.seleteGroupsList(); 96 97 //遍历输出 98 if(arr != null) 99 { 100 for(Groups g : arr ) 101 { 102 %> 103 <option value="<%=g.getId()%>" <%= ((c.getGroupid()==g.getId())? "selected" : "" ) %>><%=g.getName() %></option> 104 105 <% 106 } 107 } 108 109 %> 110 </select><br> 111 112 <input type="submit" value="修改"/> 113 <% 114 } 115 %> 116 </form> 117 </body> 118 119 </html>