這次任務是實現乙個簡單的人口普查系統,功能是從介面輸入人口資訊,修改人口資訊,刪除人口資訊,查詢人口資訊,以及瀏覽已有的人口資訊。
剛開始也是不知道從**下手,東邊學一點,西邊學一點,但是連不起來。好在,臨近期末的時候,終於把所有的東西連在了一起,實現了乙個簡單的增刪改查,不至於老師一發布測試,倆眼就黑了。
對於乙個j**aweb專案來說,首先要具備j**a編譯器,tomcat,資料庫,最好有資料庫視覺化軟體。然後就是程式設計,我把它理解為三個板塊,分別為前端,中端,後端。大體思路就是,從前端輸入東西,然後由前端傳到中端,也就是servlet介面,再由selvlet傳到後端進行操作。前端一般就是jsp介面,中端就是乙個srevlet裡面包括各個函式,後端就是實現功能的函式。在函式部分,通常分為4個包,bean包包括類的封裝,dao包包括對資料庫的操作,dbutil包是資料庫的連線,servlet包是中端操作。
先建立乙個web專案,file->new->other->dynamic web project
然後先來看一下總體的各個頁面的布局:
前端介面建立jsp file,以我的命名講解,命名不規範,主要講的是思路:
這個是對資料庫進行的操作,所以首先把連線資料庫的函式完成,在dbutil中建立類:
**://db是資料庫的名稱,user是資料庫使用者名稱,pastword是資料庫密碼
private static string url="jdbc:mysql://localhost:3306/db?servertimezone=utc";
private static string user="";
private static string pastword="";
private static string jdbcname="com.mysql.cj.jdbc.driver";
private connection con=null;
public static connection getconnection() catch (exception e)
return con;
}public static void close(connection con) catch (sqlexception e)
}public static void close(statement state, connection conn) catch (sqlexception e)
}if(conn!=null) catch (sqlexception e) }}
public static void close(resultset rs, statement state, connection conn) catch (sqlexception e)
}if(state!=null) catch (sqlexception e)
}if(conn!=null) catch (sqlexception e) }}
然後寫前端介面,因為由5個功能,所以我第乙個介面(login.jsp)建立5個鏈結,分別鏈結到各個實現功能的介面。
第乙個介面:人口增加資訊介面(peopledengji.jsp),錄入所需要的各個資訊,介面設計自己設計。
**:效果展示:
提交到servlet中(servlet是建立servlet,不是建立包,在建立類)在servlet中寫增加資訊的**實現:
request.setcharacterencoding("utf-8");
//從前端介面傳入資料
string hubie=request.getparameter("hubie");
string haoma=request.getparameter("haoma");
string minzu=request.getparameter("minzu");
string leixing=request.getparameter("leixing");
string mianji=request.getparameter("mianji");
string shuliang=request.getparameter("shuliang");
string xingming=request.getparameter("xingming");
string xingbie=request.getparameter("xingbie");
string jiaoyu=request.getparameter("jiaoyu");
//封裝到類中
peopledengji people=new peopledengji(hubie,leixing,mianji,shuliang,xingming,haoma,xingbie,minzu,jiaoyu);
//用creatdao類中add方法,在add中實現傳入資料庫
creatdao.add(people);
creatdao中add方法:
public static void add(peopledengji people) catch (sqlexception e) finally
}第2個jsp介面:人口資訊修改
**:效果:
傳到servlet中:
在後端updatedao中修改資料庫資訊:
public static void update(string xingming,string haoma,string xingbie,string minzu,string jiaoyu) catch(sqlexception e) finally
}第三個jsp介面:人口刪除介面
效果:
servlet中方法:
shandao方法:
public static void shanchu(string xingming) catch(sqlexception e) finally
}第四個介面,查詢介面
戶別住房型別
住房面積
住房數量
姓名號碼
性別民族
受教育程度
$.ajax(
liulan方法:
connection connection=dbutil.getconnection();
preparedstatement preparedstatement = null;
resultset rs=null;
listlist=new arraylist();
string sql="select * from people";
try
}catch(sqlexception e) finally
return list;
}以上就是功能的實現,資料庫的連線可以去菜鳥j**a裡學習,資料庫操作去菜鳥搜尋sql學習,增刪改查**比較簡單,但是要把他顯示到前端相對有點難,但同時方法也有很多,我用的是ajax方法,可以自己選擇方法。同時還要匯入包,資料庫匯入mysql包,在lib下,別的就是根據顯示介面的方法不同,用到的東西不一樣,這個需要學一下。
人口普查 20
題目描述 某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。這裡確保每個輸入的日期都是合法的,但不一定是合理的 假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未出生的生日都是不合理的,應該被過濾掉。輸入描述 輸入在第一行給...
人口普查 20
題目描述 某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。這裡確保每個輸入的日期都是合法的,但不一定是合理的 假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200 歲的生日和未出生的生日都是不合理的,應該被過濾掉。輸入描述 輸入在第一行...
PTA人口普查
某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。這裡確保每個輸入的日期都是合法的,但不一定是合理的 假設已知鎮上沒有超過 200 歲的老人,而今天是 2014 年 9 月 6 日,所以超過 200 歲的生日和未出生的生日都是不合理的,應該被過濾掉。這個是我最開始...