java课程设计--电话号码查询系统
- 格式:doc
- 大小:515.19 KB
- 文档页数:15
实用文档山东建筑大学Java课程设计报告设计题目电话号码查询系统学生姓名黄瑜学号2010121187专业班级信计101指导教师王文1、设计目的1、通过JAVA课程设计,使大家能够将学到的面向对象的设计思想运用在具体工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类。
2、通过这次课程设计掌握JAVA的编程思想,为后续设计编程打下基础。
3、培养实际操作能力和实践能力,为以后的工作打下坚实的基础。
2、总体设计3、详细设计homework\src\com\work为工作空间bean文件夹下的TelBean.java为Bean类operate文件夹下的TelOperate.java为服务器接收信息端,可以对所获取的信息进行相应的方法调用。
TelSql.java对数据库中的数据进行增删改查。
sql文件夹下Conn.java为对数据库提供驱动加载等操作。
addInfo.jsp为添加信息页面(截图中有相应的运行图)index.jsp为首页页面信息listInfo.jsp为查询之后显示信息的页面searchInfo.jsp为查询条件选择页面4、调试与测试调试中部分功能的测试结果及截图:1、电话管理功能列表2、添加电话号码:添加成功3、显示所有电话号码信息4、按姓名查询功能及查询结果查询结果5、按电话号码查询功能及查询结果查询结果6、按部门查询5、源程序清单和执行结果if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[search]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[search]GOCREATE TABLE [dbo].[search] ([name] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,[tel] [varchar] (11) COLLATE Chinese_PRC_CI_AS NULL ,[dep] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY]GOBeanpackage com.work.bean;public class TelBean {private String name;private String tel;private String dep;public String getName() {return name;}public void setName(String name) { = name;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}public String getDep() {return dep;}public void setDep(String dep) {this.dep = dep;}}OperateTeloperatepackage com.work.operate;import java.io.IOException;import java.io.PrintWriter;import .URLDecoder;import java.util.ArrayList;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.work.bean.TelBean;public class TelOperate extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//初始化PrintWriter pw = response.getWriter();String type = request.getParameter("type");String name = request.getParameter("username");String tel = request.getParameter("tel");String dep = request.getParameter("dep");TelSql telSql = new TelSql();//根据出入type判断操作方式if(type.equals("search")){//根据条件查询ArrayList<TelBean> searchList = telSql.geTelListByInfo(name, tel, dep);request.getSession().setAttribute("listResult", searchList);request.getRequestDispatcher("listInfo.jsp").forward(request, response);}else if(type.equals("add")){//添加if(telSql.addTelInfo(name, tel, dep))pw.print("true");elsepw.print("false");}else if(type.equals("list")){//列表ArrayList<TelBean> displayList = telSql.geTelList();request.getSession().setAttribute("listResult", displayList);request.getRequestDispatcher("listInfo.jsp").forward(request, response);}else if(type.equals("del")){//删除指定信息telSql.delTelInfo(name);ArrayList<TelBean> displayList = telSql.geTelList();request.getSession().setAttribute("listResult", displayList);request.getRequestDispatcher("listInfo.jsp").forward(request, response);}}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}}Telsqlpackage com.work.operate;import java.sql.*;import java.util.*;import com.work.bean.*;import com.work.sql.*;public class TelSql {private Connection ct = null;private PreparedStatement ps = null;private ResultSet rs = null;public ArrayList<TelBean> geTelList() {ArrayList<TelBean> al = new ArrayList<TelBean>();TelBean telBean = null;try {ct = new Conn().getConn();ps = ct.prepareStatement("select * from search");rs = ps.executeQuery();while (rs.next()) {telBean = new TelBean();telBean.setName(rs.getString("name"));telBean.setTel(rs.getString("tel"));telBean.setDep(rs.getString("dep"));al.add(telBean);}} catch (Exception e) {e.printStackTrace();return al;// TODO: handle exception} finally {this.close();}return al;}public ArrayList<TelBean> geTelListByInfo(String name, String tel,String dep) {ArrayList<TelBean> al = new ArrayList<TelBean>();TelBean telBean = new TelBean();if(dep.equals("tech")){dep="技术部";}else if(dep.equals("sale")){dep="销售部";}else if(dep.equals("admin")){dep="行政部";}try {ct = new Conn().getConn();String sql = "select * from search where";if ((!name.equals("")) && (!tel.equals("")) && (!dep.equals("no"))) { sql = sql + " name='" + name + "' and tel='" + tel+ "' and dep='" + dep + "'";} else if ((!name.equals("")) && (!tel.equals(""))) {sql = sql + " name='" + name + "' and tel='" + tel + "'";} else if ((!name.equals("")) && (!dep.equals("no"))) {sql = sql + " name='" + name + "' and dep='" + dep + "'";} else if ((!tel.equals("")) && (!dep.equals("no"))) {sql = sql + " tel='" + tel + "' and dep='" + dep + "'";} else if (!name.equals("")) {sql = sql + " name='" + name + "'";} else if (!tel.equals("")) {sql = sql + " tel='" + tel + "'";} else if (!dep.equals("no")) {sql = sql + " dep='" + dep + "'";}ps = ct.prepareStatement(sql);rs = ps.executeQuery();while (rs.next()) {telBean.setName(rs.getString("name"));telBean.setTel(rs.getString("tel"));telBean.setDep(rs.getString("dep"));al.add(telBean);}} catch (Exception e) {e.printStackTrace();return al;// TODO: handle exception} finally {this.close();}return al;}public boolean addTelInfo(String name, String tel, String dep) { boolean flag = false;try {ct = new Conn().getConn();ps = ct.prepareStatement("insert into search values(?,?,?)");ps.setString(1, name);ps.setString(2, tel);if (dep.equals("tech")) {ps.setString(3, "技术部");} else if (dep.equals("sale")) {ps.setString(3, "销售部");} else {ps.setString(3, "行政部");}int temp = ps.executeUpdate();if (temp != 0)flag = true;} catch (Exception e) {e.printStackTrace();return flag;// TODO: handle exception} finally {this.close();}return flag;}public boolean delTelInfo(String name) {boolean flag = false;try {ct = new Conn().getConn();ps = ct.prepareStatement("delete from search where name=?");ps.setString(1, name);int temp = ps.executeUpdate();if (temp != 0)flag = true;} catch (Exception e) {e.printStackTrace();return flag;// TODO: handle exception} finally {this.close();}return flag;}public void close() {try {if (rs != null) {rs.close();rs = null;}if (ps != null) {ps.close();ps = null;}if (ct != null) {ct.close();ct = null;}} catch (Exception e) {e.printStackTrace();// TODO: handle exception}}}Sqlpackage com.work.sql;import java.sql.*;;public class Conn {private Connection ct = null;public Connection getConn() {try {Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=homework","sa", "");} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}return ct;}6. 设计心得我们完成了为期两周的课程设计,通过这次课程设计我深深体会到,在已度过的大学时间里,我们大多数接触的是专业课.我们在课堂上掌握的仅仅是专业课的理论知识, 如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。