《java課程設(shè)計(jì)-電話號(hào)碼查詢系統(tǒng).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計(jì)-電話號(hào)碼查詢系統(tǒng).doc(15頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
山東建筑大學(xué)
Java課程設(shè)計(jì)報(bào)告
設(shè)計(jì)題目 電話號(hào)碼查詢系統(tǒng)
學(xué)生姓名 黃瑜
學(xué) 號(hào) 2010121187
專業(yè)班級(jí) 信計(jì)101
指導(dǎo)教師 王文
1、設(shè)計(jì)目的
1、通過(guò)JAVA課程設(shè)計(jì),使大家能夠?qū)W(xué)到的面向?qū)ο蟮脑O(shè)計(jì)思想運(yùn)用在具體工作和學(xué)習(xí)中,加深對(duì)類和對(duì)象的理解,要求學(xué)生對(duì)生活中許多具體的事物抽 象出類。
2、通過(guò)這次課程設(shè)計(jì)掌握J(rèn)AVA的編程思想,為后續(xù)設(shè)計(jì)編程打下基礎(chǔ)。
3、培養(yǎng)實(shí)際操作能力和實(shí)踐能力,為以后的工作打下堅(jiān)實(shí)的基礎(chǔ)。
2、總體設(shè)計(jì)
電話號(hào)碼查詢系統(tǒng)
相應(yīng)
操作
添加
號(hào)碼
向數(shù)據(jù)庫(kù)中添加號(hào)碼信息
刪除
號(hào)碼
刪除相應(yīng)號(hào)碼信息
修改
號(hào)碼
修改相應(yīng)號(hào)碼信息
查詢
號(hào)碼
按姓名查詢號(hào)碼
按電話號(hào)碼查詢
按部門(mén)查詢號(hào)碼
3、詳細(xì)設(shè)計(jì)
homework\src\com\work為工作空間
bean文件夾下的TelBean.java為Bean類
operate文件夾下的TelOperate.java為服務(wù)器接收信息端,可以對(duì)所獲取的信息進(jìn)行相應(yīng)的方法調(diào)用。TelSql.java對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改查。
sql文件夾下Conn.java為對(duì)數(shù)據(jù)庫(kù)提供驅(qū)動(dòng)加載等操作。
addInfo.jsp為添加信息頁(yè)面(截圖中有相應(yīng)的運(yùn)行圖)
index.jsp為首頁(yè)頁(yè)面信息
listInfo.jsp為查詢之后顯示信息的頁(yè)面
searchInfo.jsp為查詢條件選擇頁(yè)面
4、調(diào)試與測(cè)試
調(diào)試中部分功能的測(cè)試結(jié)果及截圖:
1、 電話管理功能列表
2、添加電話號(hào)碼:
添加成功
3、 顯示所有電話號(hào)碼信息
4、 按姓名查詢功能及查詢結(jié)果
查詢結(jié)果
5、按電話號(hào)碼查詢功能及查詢結(jié)果
查詢結(jié)果
6、按部門(mén)查詢
5、源程序清單和執(zhí)行結(jié)果
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[search]) and OBJECTPROPERTY(id, NIsUserTable) = 1)
drop table [dbo].[search]
GO
CREATE 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]
GO
Bean
package 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) {
this.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;
}
}
Operate
Teloperate
package com.work.operate;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.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.
*
* 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();
//根據(jù)出入type判斷操作方式
if(type.equals("search")){
//根據(jù)條件查詢
ArrayList
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");
else
pw.print("false");
}else if(type.equals("list")){
//列表
ArrayList displayList = telSql.geTelList();
request.getSession().setAttribute("listResult", displayList);
request.getRequestDispatcher("listInfo.jsp").forward(request, response);
}else if(type.equals("del")){
//刪除指定信息
telSql.delTelInfo(name);
ArrayList displayList = telSql.geTelList();
request.getSession().setAttribute("listResult", displayList);
request.getRequestDispatcher("listInfo.jsp").forward(request, response);
}
}
/**
* The doPost method of the servlet.
*
* 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);
}
}
Telsql
package 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 geTelList() {
ArrayList al = new ArrayList();
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 geTelListByInfo(String name, String tel,
String dep) {
ArrayList al = new ArrayList();
TelBean telBean = new TelBean();
if(dep.equals("tech")){
dep="技術(shù)部";
}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, "技術(shù)部");
} 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
}
}
}
Sql
package 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 exception
e.printStackTrace();
}
return ct;
}
6. 設(shè)計(jì)心得
我們完成了為期兩周的課程設(shè)計(jì),通過(guò)這次課程設(shè)計(jì)我深深體會(huì)到,在已度過(guò)的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專業(yè)課.我們?cè)谡n堂上掌握的僅僅是專業(yè)課的理論知識(shí), 如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識(shí)運(yùn)用到實(shí)踐中去呢?我想做類似的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)。
雖然以前我對(duì)這門(mén)課并沒(méi)有什么興趣, 覺(jué)得那些程序枯燥乏味, 但在這次課程設(shè)計(jì)后我發(fā)現(xiàn)自己在一點(diǎn)一滴的努力中對(duì)它的興趣也在逐步的增加。我們有七個(gè)同學(xué)一起合作,我們默契的配合使我們組順利完成了我們的設(shè)計(jì),而且設(shè)計(jì)達(dá)到了我們預(yù)期的效果。這次課程設(shè)計(jì)對(duì)我來(lái)說(shuō)學(xué)到的不僅是那些知識(shí),更多的是團(tuán)隊(duì)和合作?,F(xiàn)在想來(lái),也許學(xué)校安排的課程設(shè)計(jì)有著它更深層的意義吧, 它不僅僅讓我們綜合那些理論知識(shí)來(lái)運(yùn)用到設(shè)計(jì)和創(chuàng)新中, 還讓我們知道了一個(gè)團(tuán)隊(duì)凝聚在一起時(shí)所能發(fā)揮出的巨大潛能巨大力量!兩周來(lái)我們一起找資料,然后我們一起上網(wǎng)進(jìn)行查閱,最后我們的電話號(hào)碼查詢系統(tǒng)課程設(shè)計(jì)成功完成。兩個(gè)星期后的今天我已明白課程設(shè)計(jì)對(duì)我來(lái)說(shuō)的意義, 它不僅僅是讓我們把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,更重要的是同學(xué)間的團(tuán)結(jié)力量。
回顧起此課程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。
在這學(xué)期的課程設(shè)計(jì)中,不僅培養(yǎng)了我們的獨(dú)立思考、動(dòng)手操作的能力,在各個(gè)其它能力上也都有了提高。更重要的是,在課程設(shè)計(jì)中,我們學(xué)會(huì)了很多學(xué)習(xí)的方法,而這是今后最實(shí)用的,真的是受益匪淺。要面對(duì)社會(huì)的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。這對(duì)于我們的將來(lái)也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂(lè),找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國(guó)提倡的艱苦奮斗一樣,我們?cè)谕瓿蛇@次課程設(shè)計(jì)后變的更加成熟,能夠面對(duì)需要面對(duì)的事情。
鏈接地址:http://m.zhongcaozhi.com.cn/p-6682109.html