亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP+Servlet培訓班作業管理系統[6]-人員管理功能實現

2019-11-06 07:46:37
字體:
來源:轉載
供稿:網友

本篇來具體實現校長角色下的人員管理功能——task4-x

task4-1,首先大體腦海里設計下,人員管理,無非是增、刪、改、查。

查:以一個列表的形式顯示所有人員信息增:有一個網頁,可以輸入一個人員的信息,點擊確定后新增一個人員,并跳轉到“查”頁面改:有一個網頁,可以修改人員信息,網頁樣式可以服用“增”刪:在“查”頁面刪除人員后,更新列表

由以上想法,貓哥大體想把人員管理頁面設計為上中下三部分,上為功能標題,中間為人員列表顯示區域,下面為操作按鈕區域。

task4-2,設計userManage.jsp頁面外觀布局如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib CSS"> /*一定需要注意,該頁面因為和index.jsp有嵌套關系, 所以通過id選取元素時,id千萬別和index.jsp中重名了 其余部分之前都講過了,不再詳述*/ #user_top{ height:30px; font-family:"微軟雅黑"; font-size:16px; border-bottom: 1px solid #D4D5D7; } #user_mid{ height:400px; margin-top:5px; } #user_bottom{ background-color:#D4D5D7; margin:5px auto; width:240px; height:20px; line-height:20px; text-align:center; } </style> </head> <body> <div id="user_top"> 人員管理 </div><!-- user_top end --> <div id="user_mid"> 人員列表 </div><!-- user_mid end --> <div id="user_bottom"> 這里是按鈕 </div><!-- "user_bottom" end --> </body></html>

task4-3,現在開始加載列表,應該在RouteServlet里面就設定好attribute,然后在userManage.jsp頁面中加載。如下:

package servlet;import java.io.IOException;import javax.jms.session;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class RouteServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//處理post請求 //設置輸入輸出格式、編碼 response.setContentType("text/html"); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //獲取用戶在網頁輸入的用戶名和密碼 String type=request.getParameter("type"); //將type設置為根據Session中的loginRoleMenu匹配 String[][] loginRoleMenu=(String[][])request.getSession().getAttribute("loginRoleMenu"); //尋找對應Servlet路徑的jsp文件名 for(String[] menu:loginRoleMenu){ if(menu[1].equals(type)){ type=menu[2]; } } //此處應該將人員信息放入request的attribute request.setAttribute("type",type); request.getRequestDispatcher("/index.jsp").forward(request,response);//跳轉到index.jsp }}

但是此時有個問題,RouteServlet是一個Servlet啊,跟數據庫交互應該不歸它管。Servlet是個領導啊,只管接受下屬的信息,然后下達指令,哪里還管從數據取數這樣的具體事物。

再深一步想想,其實下面的代碼也不該歸它具體負責,從內存中取數和從數據庫中取數一個事情,下個命令就完事。

//尋找對應Servlet路徑的jsp文件名 for(String[] menu:loginRoleMenu){ if(menu[1].equals(type)){ type=menu[2]; } } //此處應該將人員信息放入request的attribute request.setAttribute("type",type);

task4-4,我們先重新整理下,將從內存中匹配jsp頁面邏輯寫在一個新類RouteCommand里面,然后將RouteServlet簡化,同時Session中的loginRoleMenu也沒有了存在的必要。所以具體改動如下:

改動1,修改RouteServlet.doPost方法如下:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//處理post請求 //設置輸入輸出格式、編碼 response.setContentType("text/html"); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //將獲取type和Session中的loginUser User loginUser=(User)request.getSession().getAttribute("loginUser"); String type=request.getParameter("type"); //根據登錄用戶角色名稱,和用戶點擊菜單的type類型,獲取要定向的jsp地址 RouteCommand routeCmd=new RouteCommand(); String jspUrl=routeCmd.findJsp(loginUser.getUserRole().getRoleName(),type); //此處應該將人員信息放入request的attribute request.setAttribute("type",jspUrl); request.getRequestDispatcher("/index.jsp").forward(request,response);//跳轉到index.jsp }

清爽了很多啊。

改動2,RouteCommand

package command;import java.util.Date;import util.Constant;import entity.EntityFactory;import entity.User;import exception.MyException;public class RouteCommand {//接受RouteServlet指令的服務類 //根據登錄用戶角色名稱,和用戶點擊菜單的type類型,獲取要定向的jsp地址 public String findJsp(String roleName,String requestType){ String[][] loginRoleMenu=Constant.roleMenu.get(roleName); for(String[] menu:loginRoleMenu){ if(menu[1].equals(requestType)){ return menu[2]; } } return null; }}

task4-5,依照這個邏輯,我們將查詢人員列表的功能添加進來。首先修改RouteServlet:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//處理post請求 //設置輸入輸出格式、編碼 response.setContentType("text/html"); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //將獲取type和Session中的loginUser User loginUser=(User)request.getSession().getAttribute("loginUser"); String type=request.getParameter("type"); RouteCommand routeCmd=new RouteCommand(); if(type.equals("userManage")){//如果type是userManage,應該將人員信息放入request的attribute try { request.setAttribute("users",routeCmd.getAllUser()); } catch (MyException e) {//如果有錯誤,跳轉到error.jsp request.setAttribute("errorInfo", e.getInfo());//設置錯誤信息 request.getRequestDispatcher("/error.jsp").forward(request,response);//跳轉到error.jsp } } //根據登錄用戶角色名稱,和用戶點擊菜單的type類型,獲取要定向的jsp地址 String jspUrl=routeCmd.findJsp(loginUser.getUserRole().getRoleName(),type); request.setAttribute("type",jspUrl); request.getRequestDispatcher("/index.jsp").forward(request,response);//跳轉到index.jsp }

然后在RouteCommand里面添加getAllUser方法

//獲取人員列表 public List<User> getAllUser() throws MyException{//此處不處理異常,交由外部調用地方處理 List<User> users=null; try{ //從數據庫中執行查詢,此處暫時使用測試工廠類創建一個代替 users=(List<User>)EntityFactory.CreateEntity("UserList"); }catch(Exception e){ throw new MyException(new Date(),e.getMessage(),"數據庫訪問異常"); } return users; }

最后為了測試,在測試工廠繼續修改:

else if(type.equals("UserList")){//獲取人員列表 List<User> users=Arrays.asList( (User)EntityFactory.CreateEntity("User"), (User)EntityFactory.CreateEntity("User"), (User)EntityFactory.CreateEntity("User") ); return users;}

task4-6,最后,修改userManage.jsp頁面中列表部分,以顯示人員列表

<div id="user_mid"> <table id="user_table"> <thead> <tr>人員編碼</tr> <tr>姓名</tr> <tr>角色</tr> </thead> <c:forEach items="${users}" var="item"> <tr> <td>${item.userId}</td> <td>${item.userName}</td> <td>${item.userRole.roleName}</td> </tr> </c:forEach> </table> </div><!-- user_mid end -->

稍微加點css美工下(PS,表格樣式是別人分享的,貓哥無一點藝術細胞….尷尬,此處想告訴大家,美工要多學多練,然后才能寫出專屬于自己的美麗):

/* 以下為表格美工*/ #user_table thead, #user_table tr { border-top-width: 1px; border-top-style: solid; border-top-color: rgb(230, 189, 189); } #user_table { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(230, 189, 189); } /* Padding and font style */ #user_table td, #user_table th { padding: 5px 10px; font-size: 12px; font-family: Verdana; color: rgb(177, 106, 104); } /* Alternating background colors */ #user_table tr:nth-child(even) { background: rgb(238, 211, 210) } #user_table tr:nth-child(odd) { background: #FFF }

程序運行如下,還是可以的: 這里寫圖片描述

至此,查詢已實現。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美疯狂性受xxxxx另类| 亚洲最大福利网站| 精品国产鲁一鲁一区二区张丽| 97精品久久久中文字幕免费| 亚洲日韩中文字幕在线播放| 欧美激情一区二区三区在线视频观看| 久久久久久成人精品| 国产亚洲精品久久久| 国产69精品久久久久99| 日本免费在线精品| 亚洲变态欧美另类捆绑| 久久精品久久精品亚洲人| 国产精品欧美激情在线播放| 欧美亚洲免费电影| 色综合亚洲精品激情狠狠| 伊人久久综合97精品| 91久久精品国产| 日韩风俗一区 二区| 91产国在线观看动作片喷水| 日韩精品一区二区视频| 中文字幕欧美日韩va免费视频| 久久成人亚洲精品| 久久天天躁夜夜躁狠狠躁2022| 欧美中文字幕视频在线观看| 社区色欧美激情 | 国产婷婷成人久久av免费高清| 精品亚洲夜色av98在线观看| 国产在线视频一区| 色中色综合影院手机版在线观看| 91美女片黄在线观| 黑人精品xxx一区一二区| 91产国在线观看动作片喷水| 亚洲a成v人在线观看| 国产日韩欧美在线观看| 欧美亚洲午夜视频在线观看| 成人免费直播live| 亚洲成人av在线| 久久国产一区二区三区| 国产欧亚日韩视频| 亚洲欧美中文在线视频| 欧美性资源免费| 日韩在线观看免费| 日韩在线视频二区| 国产一区视频在线播放| 久久久女女女女999久久| 欧美激情一区二区三区在线视频观看| 国产精品女人久久久久久| 亚洲天堂网站在线观看视频| 欧美黑人国产人伦爽爽爽| 日韩av色在线| 国外日韩电影在线观看| 日韩在线观看精品| 日韩大陆毛片av| 亚洲夜晚福利在线观看| 国产成人欧美在线观看| 亚洲欧美精品中文字幕在线| 欧美另类99xxxxx| 久久精品亚洲国产| 日韩高清中文字幕| 亚洲欧美国产精品久久久久久久| 亚洲一二三在线| 国产日韩在线播放| 亚洲热线99精品视频| 久久影视电视剧免费网站清宫辞电视| 日韩中文字幕视频在线观看| 国产91免费观看| 在线观看欧美www| 国产精品成熟老女人| 久久久久久久av| 亚洲欧美激情精品一区二区| 亚洲精品美女网站| 国产精品色悠悠| 国产精品羞羞答答| 奇米成人av国产一区二区三区| 国产欧美精品日韩精品| 精品伊人久久97| 欧美性xxxxxx| 中文字幕欧美视频在线| 97精品国产91久久久久久| 奇米影视亚洲狠狠色| 91精品国产综合久久香蕉922| 亚洲天堂影视av| 久久影视电视剧免费网站| 欧美电影电视剧在线观看| 亚洲剧情一区二区| 国产精品亚发布| 97av在线视频免费播放| xxxxx成人.com| 亚洲一区二区久久久久久久| 97超级碰碰人国产在线观看| 久久精品国产99国产精品澳门| 久久99国产精品久久久久久久久| 欧美电影免费观看| 日韩男女性生活视频| 国产91成人video| 亚洲欧洲视频在线| 成人免费高清完整版在线观看| 欧美国产激情18| 亚洲国产私拍精品国模在线观看| 久久男人av资源网站| 正在播放欧美视频| 一区二区三区亚洲| 国产亚洲精品一区二区| 日韩av在线网页| 欧美另类极品videosbest最新版本| 久久精品视频在线播放| 一区二区三区无码高清视频| 亚洲男人天堂九九视频| 黄网动漫久久久| 亚洲欧洲高清在线| 久久久久久九九九| 欧美黑人极品猛少妇色xxxxx| 日韩a**中文字幕| 91亚洲国产成人久久精品网站| 欧日韩不卡在线视频| 国产欧美一区二区三区在线| 欧美限制级电影在线观看| 日韩激情av在线免费观看| 亚洲精美色品网站| 亚洲韩国日本中文字幕| 欧美又大又粗又长| 中文字幕亚洲欧美日韩高清| 两个人的视频www国产精品| 黑人巨大精品欧美一区二区三区| 国产精品人人做人人爽| 亚洲va码欧洲m码| 青青青国产精品一区二区| 精品久久中文字幕| 日韩性xxxx爱| 亚洲高清av在线| 亚洲精品综合久久中文字幕| 国产一区在线播放| 成人免费在线视频网址| 亚洲欧美在线第一页| 国产日韩欧美在线看| 欧美日韩精品在线| 国外成人免费在线播放| 欧美在线性视频| 91av网站在线播放| 黑人巨大精品欧美一区二区免费| 91精品国产91久久久久久吃药| 日韩激情av在线免费观看| 一个人www欧美| 久久久久久久影视| 亚洲资源在线看| 久久成人亚洲精品| 久久亚洲影音av资源网| 日韩精品在线免费播放| 欧美精品18videos性欧| 欧美在线观看网址综合| 成人黄色免费看| 欧美制服第一页| 亚洲第一av在线| 国产精品视频专区| 日韩中文av在线| 欧美日韩福利在线观看| 国产精品精品国产| 性视频1819p久久| 国产美女主播一区| 亚洲激情视频在线观看| 国产精品久久视频| 欧美激情在线观看视频| 精品久久久一区二区| 国产极品精品在线观看|