freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

學(xué)生選課管理系統(tǒng)-實(shí)訓(xùn)需求開發(fā)指導(dǎo)書(編輯修改稿)

2025-02-09 14:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 邏輯控制層)/service(bs業(yè)務(wù)邏輯層)/dao(數(shù)據(jù)訪問(wèn)層),本文將以用戶管理為示例,講解各層代碼的編寫過(guò)程。 理解需求 通過(guò)系統(tǒng)用戶管理的用例圖或流程圖,來(lái)理解項(xiàng)目的用戶管理需求信息。 理解設(shè)計(jì) 根據(jù)系統(tǒng)設(shè)計(jì)首先理解數(shù)據(jù)庫(kù)表的設(shè)計(jì),再根據(jù)用戶管理的功能時(shí)序圖來(lái)理解用戶是如何提交請(qǐng)求到servlet中,并調(diào)用相關(guān)的業(yè)務(wù)邏輯組件,訪問(wèn)數(shù)據(jù)信息的。在此基礎(chǔ)上,依照本系統(tǒng)的代碼結(jié)構(gòu)去完成各個(gè)層級(jí)的類文件的編寫。 VO對(duì)象封裝 采用面向?qū)ο蟮木幊趟枷耄诔绦虼a中所操作的數(shù)據(jù)都應(yīng)該封裝成對(duì)象,針對(duì)示例操作的是用戶管理,所以將數(shù)據(jù)庫(kù)中的用戶表封裝成程序代碼中的用戶對(duì)象,其中包括了用戶的基本屬性,以及每個(gè)屬性對(duì)應(yīng)的getXXX()方法、 setXXX()方法。示例代碼如下:package 。import 。public class UserVo { // id private String id。 // 編號(hào) private int code。 // 姓名 private String name。 // 地址 private String address。 // 出生年月日 private Date birthday。 // 性別 private String sex。 // 電話 private String telephone。 // Email private String 。 // 備注 private String note。 public String getId() { return id。 } public void setId(String id) { = id。 } public String getName() { return name。 } public void setName(String name) { = name。 } public String getAddress() { return address。 } public void setAddress(String address) { = address。 } public String getSex() { return sex。 } public void setSex(String sex) { = sex。 } public Date getBirthday() { return birthday。 } public void setBirthday(Date birthday) { = birthday。 } public int getCode() { return code。 } public void setCode(int code) { = code。 } public String getTelephone() { return telephone。 } public void setTelephone(String telephone) { = telephone。 } public String getEmail() { return 。 } public void setEmail(String ) { = 。 } public String getNote() { return note。 } public void setNote(String note) { = note。 }} Servlet層實(shí)現(xiàn) 該層處理用戶提交的請(qǐng)求,獲取并封裝用戶的請(qǐng)求數(shù)據(jù)后提交給業(yè)務(wù)邏輯層,根據(jù)業(yè)務(wù)邏輯層返回的結(jié)果進(jìn)行頁(yè)面的控制跳轉(zhuǎn)。我們?yōu)榱耸箍刂铺D(zhuǎn)更為方便,結(jié)構(gòu)更為清晰,采用一個(gè)功能模塊對(duì)應(yīng)一個(gè)servlet的方式,(獲取客服端請(qǐng)求參數(shù)),在servlet中去調(diào)用與之對(duì)應(yīng)的方法來(lái)實(shí)現(xiàn)和后臺(tái)的交互與跳轉(zhuǎn),下面看用戶基本信息處理的代碼示例package 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。public class UserServlet extends HttpServlet { Logger log = ()。 protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException { // 設(shè)置字符編碼 (utf8)。 (arg0, arg1)。 } private UserService userBs = new UserService()。 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 獲得用戶執(zhí)行的操作方法 String opt = (opt)。 (opt=====+opt)。 if (opt == null || ()) { ()。 return。 } // 模糊查詢 if ((queryUserList)) { (req, resp)。 return。 } // 查找所有用戶信息 if ((getUserList)) { (req, resp)。 return。 } // 刪除用戶信息 if ((deleteUser)) { (req, resp)。 return。 } // 增加用戶信息 if ((addUser)) { addUser(req, resp)。 return。 } // 修改用戶信息 if ((editUser)) { editUser(req, resp)。 return。 } // 根據(jù)ID查詢,再進(jìn)行修改處理 if ((getUserById)) { getUserbyId(req, resp)。 return。 } } protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Autogenerated method stub (req, resp)。 } /* * 條件查找用戶信息 */ public void queryUserList(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String code = (code)。 String name = (name)。 ListUserVo getUserList = (code, name)。 (getUserList, getUserList)。 (/jsp/user/).forward(req, resp)。 } /* * 查詢所有用戶信息 */ public void getUserList(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ListUserVo getUserList = ()。 (getUserList, getUserList)。 (/jsp/user/).forward(req, resp)。 } /* * 刪除所有用戶信息 */ public void deleteUser(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 處理亂碼 (text/html。charset=utf8)。 (utf8)。 PrintWriter out = ()。 String userId = null。 // 獲得要?jiǎng)h除的id并放入check數(shù)組 String check[] = (checkbox)。 // 循環(huán)取出所有要?jiǎng)h除員工的id for (int i = 0。 i 。 i++) { userId = check[i]。 if ((userId)) { out .print(scriptalert(39。刪除成功39。)。javascript:=39。UserServlet?opt=getUserList39。/script)。 } else { out .print(scriptalert(39。刪除失敗39。)。javascript:=39。UserServlet?opt=getUserList39。/script)。 } } } /* * 增加用戶信息 */ public void addUser(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 處理亂碼 (text/html。charset=utf8)。 (utf8)。 PrintWriter out = ()。 // 創(chuàng)建User對(duì)象 UserVo user = new UserVo()。 // 獲取修改后的信息并寫入U(xiǎn)ser對(duì)象中 ((id))。 String code = (code)。 ((name))。 ((address))。 ((sex))。 String strBirthday = ((birthday))。 ((telephone))。 (())。 ((note))。 if ((user, code, strBirthday)) { // 輸出增加成功并跳回查詢頁(yè)面進(jìn)行查詢 out .print(scriptalert(39。增加成功39。)。javascript:=39。UserServlet?opt=getUserList39。/script)。 } else { // 輸出增加失敗頁(yè)面并跳回增加頁(yè)面重新增加 out .print(scriptalert(39。增加失敗39。)。javascript:=39。UserServlet?opt=getUserList39。/script)。 } } /* * 根據(jù)ID查詢,再進(jìn)行修改處理 */ public void getUserbyId(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String userId = (id)。 UserVo user = new UserVo()。 user = (userId)。 (user, user)。 // 跳轉(zhuǎn)頁(yè)面 RequestDispatcher rd = req .getRequestDispatcher(jsp/user/)。 (req, resp)。 } /* * 修改用戶信息 */ public void editUser(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 處理亂碼 (text/html。charset=utf8)。 (utf8)。 PrintWriter out = ()。 // 創(chuàng)建User對(duì)象 UserVo user = new UserVo()。 // 獲取修改后的信息并寫入U(xiǎn)ser對(duì)象中 ((id))。 String code = (code)。 ((name))。 ((address))。 ((sex))。 String strBirthday = ((birthday))。 ((telephone)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1