




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)課程名稱: web程序設(shè)計(jì)實(shí)踐 實(shí)驗(yàn)題目: 購物系統(tǒng)項(xiàng)目的實(shí)現(xiàn) 學(xué) 院: 計(jì)算機(jī)學(xué)院 專 業(yè): 網(wǎng)絡(luò)工程 姓名/學(xué)號: 指導(dǎo)教師: 日 期: 目 錄一、實(shí)踐內(nèi)容的基本要求1二、系統(tǒng)需求12.1開發(fā)工具及技術(shù)12.1.1 JSP1Servlet2JavaBean22.2 系統(tǒng)需求32.2.1 系統(tǒng)的安全性32.2.2 數(shù)據(jù)的完整性32.3 界面需求3三、系統(tǒng)分析與設(shè)計(jì)43.1 系統(tǒng)架構(gòu)設(shè)計(jì)43.3.1 運(yùn)行環(huán)境43.1.2 系統(tǒng)的架構(gòu)分層53.2 系統(tǒng)詳細(xì)設(shè)計(jì)53.2.1 數(shù)據(jù)庫設(shè)計(jì)53.2.2 數(shù)據(jù)庫的連接7四、系統(tǒng)實(shí)現(xiàn)74.1 管理員模塊7管理員登錄74.1.2 管理員主頁面94.1
2、.3 修改個(gè)人密碼94.1.4 網(wǎng)站公告管理104.1.5 類別信息管理124.1.6 商品信息管理144.1.7 會員信息管理184.1.8 訂單信息管理214.1.9 安全退出234.2 普通用戶模塊234.2.1 系統(tǒng)主頁面234.2.2 用戶注冊234.2.3 用戶登錄254.2.4 用戶購物26五、系統(tǒng)測試285.1 登錄模塊測試285.2 刪除功能測試305.3 添加功能測試31結(jié)束語31參考文獻(xiàn)32一、實(shí)踐內(nèi)容的基本要求1、獨(dú)立設(shè)計(jì)并完成一個(gè)Java web應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)可以是:購物車、學(xué)生信息管理系統(tǒng)、教師信息管理系統(tǒng)等(可以自選);2、 系統(tǒng)分為:前臺頁面顯示(JSP),
3、后臺邏輯控制(Servlet);3、 系統(tǒng)的功能包括:(1) 注冊、登陸功能;(2) 數(shù)據(jù)的增、刪、改、查功能4、 系統(tǒng)必須使用數(shù)據(jù)庫,數(shù)據(jù)庫包含至少3個(gè)以上的表。5、 系統(tǒng)必須使用JavaBean技術(shù)。二、系統(tǒng)需求2.1開發(fā)工具及技術(shù)此次設(shè)計(jì)主要采用MyEclipse加Tomcat后臺服務(wù)器進(jìn)行,設(shè)計(jì)過程中頁面視圖主要使用JSP技術(shù)實(shí)現(xiàn),后臺控制使用Servlet技術(shù)實(shí)現(xiàn),業(yè)務(wù)邏輯控制使用JavaBean技術(shù)實(shí)現(xiàn),構(gòu)成MVC框架。下面對JSP技術(shù)、Servlet技術(shù)、JavaBean技術(shù)進(jìn)行簡要介紹。2.1.1 JSPJSP(Java Server Pages)技術(shù)是一個(gè)純Java平臺的技術(shù)
4、,它主要用來產(chǎn)生動(dòng)態(tài)網(wǎng)頁內(nèi)容,包括HTML、DHTML、和XML。JSP技術(shù)能夠讓網(wǎng)頁人員輕易建立起功能強(qiáng)大、有彈性的動(dòng)態(tài)內(nèi)容。Servlet/JSP容器收到客戶端發(fā)出的請求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML合適響應(yīng)給客戶端。其中程序片段可以是操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)阿松E-mail等,這些都是建立動(dòng)態(tài)網(wǎng)站所需要的功能,所有程序片段和JSP標(biāo)記都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,與客戶端的瀏覽器無關(guān)。因此,JSP成為服務(wù)器端語言。JSP的有點(diǎn)如下:1)“一次編寫,各處執(zhí)行”特性。一個(gè)JSP程序可以運(yùn)行于支持JSP的任何應(yīng)用服務(wù)器,而不需要對代碼做任何修
5、改。2)搭配可重用組件。JSP技術(shù)科使用跨平臺、可重用的組件(如JavaBean或Enterprise JavaBean組件)來執(zhí)行更復(fù)雜的運(yùn)算、數(shù)據(jù)處理。3)采用標(biāo)記化頁面開發(fā)。Web頁面開發(fā)人員可以運(yùn)用自己定義好的標(biāo)記,無需再寫復(fù)雜的Java語法,就能快速開發(fā)出動(dòng)態(tài)內(nèi)容網(wǎng)頁。4)實(shí)現(xiàn)了角色的分離。JSP技術(shù)允許將工作分為兩類:頁面的圖形內(nèi)容和頁面的動(dòng)態(tài)內(nèi)容。不具備Java編程語言知識的人員可以創(chuàng)建頁面的圖形內(nèi)容,然后由Java程序員向此文檔插入Java代碼,實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容。5)N層企業(yè)應(yīng)用架構(gòu)的支持。JSP技術(shù)主要負(fù)責(zé)前端顯示,而分散性的對象系統(tǒng)則主要依賴EJB(Enterprise Jav
6、aBean)和JNDI(Java Naming and Directory Interface)構(gòu)建而成。內(nèi)部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數(shù);respons網(wǎng)頁傳回客戶端的響應(yīng);pageContext 網(wǎng)頁的屬性是在這里管理; session 與請求有關(guān)的會話;application servlet正在執(zhí)行的內(nèi)容;out用來傳送響應(yīng)的輸出流;config代碼片段配置對象;pageJSP網(wǎng)頁本身; exception針對錯(cuò)誤網(wǎng)頁,未捕捉的例外。2.1.2 ServletServlet是用Java語言編寫的服務(wù)器端程序,是由服務(wù)器端調(diào)用和執(zhí)行的、按
7、照Servlet自身規(guī)范編寫的Java類。 Servlet程序就是百分之百的Java程序。 Servlet是使用Java Servlet API編寫的,運(yùn)行在Web服務(wù)器端的Java類。 當(dāng)服務(wù)器會加載Servlet,創(chuàng)建Servlet實(shí)例,調(diào)用Servlet實(shí)例的init()方法進(jìn)行初始化,然后調(diào)用 service()方法處理請求,最后調(diào)用destroy()方法銷毀Servlet。其中,init()方法、destroy()方法均只執(zhí)行一次。Servlet控制過程中需要用到ServletContext或者ServletRequest對象和RequestDispacher對象,通過Request
8、Dispacher的forward()方法和include()方法。2.1.3 JavaBeanJavaBean是Java Web程序的重要組件,它是一個(gè)面向?qū)ο缶幊讨蟹庋b了屬性和方法的類,它封裝了數(shù)據(jù)和業(yè)務(wù)邏輯;JavaBean供JSP或Servlet調(diào)用,完成數(shù)據(jù)封裝和數(shù)據(jù)處理等功能。 使用JavaBean可以實(shí)現(xiàn)代碼的重用。在JSP中使用JavaBean有三種動(dòng)作標(biāo)記:<jsp:useBean>動(dòng)作標(biāo)記、<jsp:getProperty>動(dòng)作標(biāo)記、<jsp:setProperty>動(dòng)作標(biāo)記。 JavaBean的設(shè)計(jì)規(guī)范(1)JavaBean是一個(gè)pub
9、lic類。(2)JavaBean有一個(gè)公共的、無參的構(gòu)造方法。(3)JavaBean所有的屬性定義為private。 (4)JavaBean中,需要對每個(gè)屬性提供兩個(gè)公共方法。: setXxx():設(shè)置屬性xxx的值。getXxx():獲取屬性xxx的值(若屬性類型是boolean,則方法名為isXxx())。 (5)定義JavaBean時(shí),通常放在一個(gè)命名的包下。2.2 系統(tǒng)需求 2.2.1 系統(tǒng)的安全性本購物系統(tǒng)在管理權(quán)限上要嚴(yán)格進(jìn)行控制,具體要求如下:1)管理員要想管理本系統(tǒng)的商品信息,必須先要憑用戶名和密碼登陸到系統(tǒng)中,沒有權(quán)限的用戶不能通過任何方式登錄系統(tǒng)查看并修改系統(tǒng)的任何信息和數(shù)
10、據(jù),以確保系統(tǒng)的嚴(yán)密性和安全性。普通用戶能在線瀏覽信息,但是想要把商品加入購物車、購買商品、查看購物車、查看訂單等功能。2)在具體實(shí)現(xiàn)中設(shè)定不同權(quán)限,不同權(quán)限用戶登錄到系統(tǒng)后,不能越級操作,管理員可以使用所有模塊,除了修改用戶信息;普通用戶能在線瀏覽信息,不能刪除修改商品信息。 數(shù)據(jù)的完整性1)各種記錄信息的完整性,信息記錄內(nèi)容不能為空2)各種數(shù)據(jù)間相互聯(lián)系的正確性3) 相同數(shù)據(jù)在不同記錄中的一致性2.3 界面需求 界面設(shè)計(jì)目前已經(jīng)成為評價(jià)軟件質(zhì)量的一條重要指標(biāo),一個(gè)好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP技術(shù)是用JAVA語言作為腳本語言的,JSP網(wǎng)頁為整個(gè)服務(wù)器端的
11、JAVA庫單元提供了一個(gè)接口來服務(wù)于HTTP的應(yīng)用程序。 創(chuàng)建動(dòng)態(tài)頁面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人-機(jī)對話的界面格式等。(1)輸出設(shè)計(jì)輸出是由計(jì)算機(jī)對輸入的原始信息進(jìn)行加工處理,形成高質(zhì)量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設(shè)計(jì)的主要職責(zé)和目標(biāo)。系統(tǒng)設(shè)計(jì)的過程正好和實(shí)施過程相反,并不是從輸入設(shè)計(jì)到輸出設(shè)計(jì),而是從輸出設(shè)計(jì)到輸入設(shè)計(jì),這是因?yàn)檩敵霰砀裰苯优c使用者相聯(lián)系,設(shè)計(jì)的出發(fā)點(diǎn)應(yīng)當(dāng)是保證輸出表格方便地為使用者服務(wù),正確及時(shí)反映和組成用于各部門的有用信息。輸出設(shè)計(jì)的原則是考慮既要全面反映不同管理層的各項(xiàng)需要,又要言簡意賅,不要將用
12、戶需要和不需要的都提供給用戶。(2)輸入設(shè)計(jì)輸入數(shù)據(jù)的收集和錄入是比較費(fèi)事的,需要大量的人力和一定設(shè)備,并且容易出錯(cuò)。如果輸入系統(tǒng)的數(shù)據(jù)有錯(cuò)誤,則處理后的輸出將擴(kuò)大這些錯(cuò)誤,因此輸入數(shù)據(jù)的正確性對于整個(gè)系統(tǒng)質(zhì)量的好壞是具有決定性意義的。輸入設(shè)計(jì)的原則有如下幾點(diǎn):1)輸入量應(yīng)保持在能滿足處理要求的最低限度。設(shè)計(jì)中可采用設(shè)置字段初值,下拉式數(shù)據(jù)窗口等方式盡量減少用戶鍵盤輸入量。輸入量越少,錯(cuò)誤率就越少,數(shù)據(jù)準(zhǔn)備時(shí)間也減少。2)輸入的準(zhǔn)備及輸入過程應(yīng)盡量容易進(jìn)行,從而減少錯(cuò)誤的發(fā)生。3)應(yīng)盡量早對輸入數(shù)據(jù)進(jìn)行檢查(盡量接近原數(shù)據(jù)發(fā)生點(diǎn)),以便使錯(cuò)誤及時(shí)得到更正。4)輸入數(shù)據(jù)盡早地用其處理所需的形式被
13、記錄,以避免數(shù)據(jù)由一種介質(zhì)轉(zhuǎn)移到另一種介質(zhì)時(shí)需要轉(zhuǎn)錄而可能發(fā)生的錯(cuò)誤三、系統(tǒng)分析與設(shè)計(jì)3.1 系統(tǒng)架構(gòu)設(shè)計(jì)3.3.1 運(yùn)行環(huán)境操作系統(tǒng)版本:Win7開發(fā)工具:MyEclipse 10開發(fā)語言:Java數(shù)據(jù)庫:SQL Server2008瀏覽器:搜狗瀏覽器3.1.2 系統(tǒng)的架構(gòu)分層2.3 普通用戶用戶功能模塊圖圖2.4 管理員用戶功能模塊圖3.2 系統(tǒng)詳細(xì)設(shè)計(jì)3.2.1 數(shù)據(jù)庫設(shè)計(jì)(1)普通用戶表(t_user)列名數(shù)據(jù)類型長度允許空是否主鍵說明idint4否是 用戶idloginnamevarchar50否否 用戶名loginpwvarchar50否否 用戶密碼namevarchar50是否真
14、實(shí)姓名sexvarchar50是否性別agevarchar20是否年齡addressvarchar20是否住址 telint20是否電話emailvarchar20是否email qqint20是否qq(2)商品類別信息表(t_catelog)列名數(shù)據(jù)類型長度允許空是否主鍵說明idint 4 否 是類別IDnamevarchar50否否類別名稱delvarchar50否否是否刪除(3)商品信息表(t_goods)列名數(shù)據(jù)類型長度允許空是否主鍵說明idint4否是商品IDcatelog_idint4否否類別IDbianhaovarchar50否否商品編號mingchengvarchar50否否名
15、稱jieshaovarchar50否否介紹pinpaivarchar50否否商品品牌fujianDate50否否商品圖片shichangjiavarchar50否否商品價(jià)格(4)公告信息表(t_gonggao)列名數(shù)據(jù)類型長度允許空是否主鍵說明idint4否是公告idtitlevarchar50否否公告標(biāo)題contentvarchar50否否公告內(nèi)容shijianvarchar50否否發(fā)布日期(5)管理員信息表(t_admin)列名數(shù)據(jù)類型長度允許空是否主鍵說明userIdint4否是編號userNamevarchar50否否用戶名userPwvarchar50否否密碼(6)訂單信息表(t_o
16、rder)列名數(shù)據(jù)類型長度允許空是否主鍵說明idint 50 否 否用戶idbianhaoint4否是編號shijianvarchar50否否下單時(shí)間zhuangtaivarchar50否否訂單狀態(tài)songhuodizhivarchar50否否送貨地址fukuanfangshivarchar50否否付款方式j(luò)inevarchar50否否總金額user_idint4否否會員ID3.2.2 數(shù)據(jù)庫的連接關(guān)鍵代碼如下:public DBContent()String CLASSFORNAME=" com.microsoft.jdbc.sqlserver.SQLServerDriver&qu
17、ot;/連接數(shù)據(jù)庫的驅(qū)動(dòng)String url=" jdbc:microsoft:sqlserver:/localhost:1433;databaseName=bs "String user="root"/連接數(shù)據(jù)庫的用戶名String password="root"/連接數(shù)據(jù)庫的密碼tryClass.forName(CLASSFORNAME);con= DriverManager.getConnection(url,user,password);/加載數(shù)據(jù)庫的驅(qū)動(dòng)stmt=con.createStatement(ResultSet.T
18、YPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);catch(Exception ex)ex.printStackTrace();四、系統(tǒng)實(shí)現(xiàn)4.1 管理員模塊4.1.1管理員登錄1、說明:為了提高安全性,防止用戶繞過前臺進(jìn)入后臺,設(shè)置對特定人員的登錄,對普通用戶進(jìn)行攔截操作。在登陸頁面輸入用戶名和密碼以,點(diǎn)擊提交按鈕,跳轉(zhuǎn)到登陸的service中,在該service中會對用戶名,密碼進(jìn)行判斷,如果正確提示“通過驗(yàn)證”,進(jìn)入到管理界面,如果錯(cuò)誤則提示“用戶名和密碼不正確”,頁面調(diào)轉(zhuǎn)到登陸頁。2、loginservice關(guān)鍵代碼如下:public
19、String login(String userName,String userPw,int userType)tryThread.sleep(700); catch (InterruptedException e)/ TODO Auto-generated catch blocke.printStackTrace();String result="no"if(userType=0)/系統(tǒng)管理員登陸String sql="from TAdmin where userName=? and userPw=?"Object con=userName,userP
20、w;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(adminList.size()=0) result="no"else WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); session.setAttribute("userType", 0); session.setAttribute(&
21、quot;admin", admin); result="yes"if(userType=2)return result;4.1.2 管理員主頁面說明:顯示管理員可操作的功能。4.1.3 修改個(gè)人密碼1、說明:管理員可修改自己的密碼,但不能修改登錄名2、關(guān)鍵代碼如下:public String adminPwEdit(String userPwNew) System.out.println("DDDD"); try Thread.sleep(700); catch (InterruptedException e)e.printStackTrac
22、e();WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)session.getAttribute("admin");String sql="update t_admin set userPw=? where userId=?"Object params=userPwNew,admin.getUserId();DB mydb=new DB();mydb.doPstm(sql, params);return
23、 "yes"4.1.4 網(wǎng)站公告管理 1、說明:服務(wù)器收到客戶端發(fā)出的請求,調(diào)用后臺的公告Servlet查詢出所有的公告信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳轉(zhuǎn)到相應(yīng)的jsp,顯示出公告信息。還可以對公告進(jìn)行添加和刪除。2、關(guān)鍵代碼如下:public void gonggaoAdd(HttpServletRequest req,HttpServletResponse res)String id=String.valueOf(new Date().getTime();String title=req.getParameter(&quo
24、t;title");String content=req.getParameter("content");String shijian=new Date().toLocaleString();String sql="insert into t_gonggao values(?,?,?,?)"Object params=id,title,content,shijian;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message&quo
25、t;, "操作成功");req.setAttribute("path", "gonggao?type=gonggaoMana"); String targetURL = "/common/success.jsp"dispatch(targetURL, req, res); public void gonggaoDel(HttpServletRequest req,HttpServletResponse res)String id=req.getParameter("id");String sql
26、="delete from t_gonggao where id=?"Object params=id;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "gonggao?type=gonggaoMana"); String targetURL = "/common/success.jsp"di
27、spatch(targetURL, req, res);public void gonggaoMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionList gonggaoList=new ArrayList();String sql="select * from t_gonggao"Object params=;DB mydb=new DB();trymydb.doPstm(sql, params);ResultSet rs=mydb.getRs()
28、;while(rs.next()Tgonggao gonggao=new Tgonggao();gonggao.setId(rs.getString("id");gonggao.setTitle(rs.getString("title");gonggao.setContent(rs.getString("content");gonggao.setShijian(rs.getString("shijian");gonggaoList.add(gonggao); rs.close();catch(Exception e
29、)e.printStackTrace();mydb.closed();req.setAttribute("gonggaoList", gonggaoList);req.getRequestDispatcher("admin/gonggao/gonggaoMana.jsp").forward(req, res);4.1.5 類別信息管理1、說明:調(diào)用后臺的action類查詢所有商品,還可以對類別信息進(jìn)行添加和刪除的操作。2、關(guān)鍵代碼如下:public void catelogAdd(HttpServletRequest req,HttpServletRes
30、ponse res)String name=req.getParameter("name").trim();String del="no"String sql="insert into t_catelog(name,del) values(?,?)"Object params=name,del;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAtt
31、ribute("path", "catelog?type=catelogMana"); String targetURL = "/common/success.jsp"dispatch(targetURL, req, res);public void catelogDel(HttpServletRequest req,HttpServletResponse res)String sql="update t_catelog set del='yes' where id="+Integer.parseI
32、nt(req.getParameter("id");Object params=;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "catelog?type=catelogMana"); String targetURL = "/common/success.jsp"dispatch(targ
33、etURL, req, res);public void catelogMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionList catelogList=new ArrayList();String sql="select * from t_catelog where del='no'"Object params=;DB mydb=new DB();trymydb.doPstm(sql, params);ResultSet rs=
34、mydb.getRs();while(rs.next()Tcatelog catelog=new Tcatelog();catelog.setId(rs.getInt("id");catelog.setName(rs.getString("name");catelogList.add(catelog); rs.close();catch(Exception e)e.printStackTrace();mydb.closed();req.setAttribute("catelogList", catelogList);req.getRe
35、questDispatcher("admin/catelog/catelogMana.jsp").forward(req, res);4.1.6 商品信息管理1、說明:在此頁面主要是輸入商品信息,包括商品編號、名稱、商品介紹、商品品牌、商品圖片、商品價(jià)格等,其中商品介紹這個(gè)地方,使用的是開源的在線文本編輯器fckEditor這個(gè)富文本框?qū)崿F(xiàn)。是否為空也是通過form表單中的onsubmit="return checkForm()來檢查。服務(wù)器調(diào)用后臺的商品Action類查詢出所有的商品信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳
36、轉(zhuǎn)到相應(yīng)的jsp,顯示出商品信息。還可以對商品進(jìn)行添加和刪除的操作。2、流程圖如圖:登陸系統(tǒng)管理員錄入商品類別信息系統(tǒng)驗(yàn)證錄入普通用戶信息錄入成功結(jié) 束通過未通過圖4.4 商品類別信息錄入流程圖3、關(guān)鍵代碼如下:public void goodsAdd(HttpServletRequest req,HttpServletResponse res)int catelog_id=Integer.parseInt(req.getParameter("catelog_id");String nannvkuan=req.getParameter("nannvkuan&quo
37、t;);String bianhao=req.getParameter("bianhao");String mingcheng=req.getParameter("mingcheng");String jieshao=req.getParameter("jieshao");String pinpai=req.getParameter("pinpai");String fujian=req.getParameter("fujian");int shichangjia=Integer.parseIn
38、t(req.getParameter("shichangjia");int tejia=Integer.parseInt(req.getParameter("shichangjia");String shifoutejia="fou"int kucun=0;String del="no"String sql="insert into t_goods(catelog_id,nannvkuan,bianhao,mingcheng,jieshao,pinpai,fujian,shichangjia,tejia,
39、shifoutejia,kucun,del) " + "values(?,?,?,?,?,?,?,?,?,?,?,?)"Object params=catelog_id,nannvkuan,bianhao,mingcheng,jieshao,pinpai,fujian,shichangjia,tejia,shifoutejia,kucun,del;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功"
40、);req.setAttribute("path", "goods?type=goodsMana"); String targetURL = "/common/success.jsp"dispatch(targetURL, req, res);public void goodsDel(HttpServletRequest req,HttpServletResponse res)int id=Integer.parseInt(req.getParameter("id");String sql="update
41、 t_goods set del='yes' where id="+id;Object params=;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "goods?type=goodsMana"); String targetURL = "/common/success.jsp"dis
42、patch(targetURL, req, res);public void goodsMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionList goodsList=new ArrayList();String sql="select * from t_goods where del='no' order by shifoutejia"Object params=;DB mydb=new DB();trymydb.doPstm(s
43、ql, params);ResultSet rs=mydb.getRs();while(rs.next()Tgoods goods=new Tgoods();goods.setId(rs.getInt("id");goods.setCatelog_id(rs.getInt("catelog_id");goods.setNannvkuan(rs.getString("nannvkuan");goods.setBianhao(rs.getString("bianhao");goods.setMingcheng(rs.g
44、etString("mingcheng");goods.setJieshao(rs.getString("jieshao");goods.setPinpai(rs.getString("pinpai");goods.setFujian(rs.getString("fujian");goods.setShichangjia(rs.getInt("shichangjia");goods.setTejia(rs.getInt("tejia");goods.setShifouteji
45、a(rs.getString("shifoutejia");goods.setKucun(rs.getInt("kucun");goods.setDel(rs.getString("del");goodsList.add(goods); rs.close();catch(Exception e)e.printStackTrace();mydb.closed();req.setAttribute("goodsList", goodsList);req.getRequestDispatcher("admin/
46、goods/goodsMana.jsp").forward(req, res);public void goodsDetailHou(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionint id=Integer.parseInt(req.getParameter("id");req.setAttribute("goods", liuService.getGoods(id);req.getRequestDispatcher(&q
47、uot;admin/goods/goodsDetailHou.jsp").forward(req, res);4.1.7 會員信息管理1、說明:管理員登陸后可以管理會員信息,點(diǎn)擊左側(cè)的“會員管理“,頁面調(diào)轉(zhuǎn)中后臺的是java類user_servlet,在此類中,讀取數(shù)據(jù)庫中,提取會員的信息,綁定到request對象,再輸出到相應(yīng)的jsp顯示頁面頁面。2、關(guān)鍵代碼如下:public void userDel(HttpServletRequest req,HttpServletResponse res)String id=req.getParameter("id");
48、String sql="delete from t_user where userId=?"Object params=id;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "user?type=userMana"); String targetURL = "/common/success.jsp&qu
49、ot;dispatch(targetURL, req, res);public void userMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionList userList=new ArrayList();String sql="select * from t_user where del='no'"Object params=;DB mydb=new DB();trymydb.doPstm(sql, params);Result
50、Set rs=mydb.getRs();while(rs.next()Tuser user=new Tuser(); user.setId(rs.getString("id");user.setLoginname(rs.getString("loginname");user.setLoginpw(rs.getString("loginpw");user.setLoginpw(rs.getString("loginpw");user.setName(rs.getString("name");use
51、r.setSex(rs.getString("sex");user.setAge(rs.getString("age");user.setAddress(rs.getString("address");user.setTel(rs.getString("tel");user.setEmail(rs.getString("email");user.setQq(rs.getString("qq");userList.add(user); rs.close();catch(Exce
52、ption e)e.printStackTrace();mydb.closed();req.setAttribute("userList", userList);req.getRequestDispatcher("admin/user/userMana.jsp").forward(req, res);public void userXinxi(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionString id=req.getParame
53、ter("user_id");List userList=new ArrayList(); String sql="select * from t_user where del='no' and id=?"Object params=id;DB mydb=new DB();trymydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()Tuser user=new Tuser();user.setId(rs.getString("id");use
54、r.setLoginname(rs.getString("loginname");user.setLoginpw(rs.getString("loginpw");user.setLoginpw(rs.getString("loginpw");user.setName(rs.getString("name");user.setSex(rs.getString("sex");user.setAge(rs.getString("age");user.setAddress(rs.ge
55、tString("address");user.setTel(rs.getString("tel");user.setEmail(rs.getString("email");user.setQq(rs.getString("qq");userList.add(user); rs.close();catch(Exception e)e.printStackTrace();mydb.closed();req.setAttribute("userList", userList);req.getRequestDispatcher("admin/order/us
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息傳遞的有效性與準(zhǔn)確性計(jì)劃
- 輸血護(hù)理查對制度
- 《貴州林東礦業(yè)集團(tuán)有限責(zé)任公司百里杜鵑風(fēng)景名勝區(qū)金坡鄉(xiāng)紅林煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評審意見
- 第六單元寫作《表達(dá)要得體》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文八年級上冊
- 2025年繪畫防疫創(chuàng)意口罩標(biāo)準(zhǔn)教案
- 2025年濟(jì)南貨運(yùn)從業(yè)資格證試題和答案
- 2025年濰坊道路貨運(yùn)從業(yè)資格證模擬考試官方題下載
- 2025年銅川貨運(yùn)上崗證考試題庫
- 2025年?duì)I口貨車從業(yè)資格證理考試
- 2025年安康道路貨運(yùn)輸從業(yè)資格證模擬考試題庫
- 風(fēng)力發(fā)電工程風(fēng)機(jī)安裝技術(shù)標(biāo)方案
- 2024年中國科學(xué)技術(shù)大學(xué)創(chuàng)新科學(xué)營測試數(shù)學(xué)試題真題
- 創(chuàng)新者的窘境讀書課件
- 《客艙安全與應(yīng)急處置》-課件:釋壓的類型和跡象
- (2024年)量子計(jì)算機(jī)課件(精)
- 任務(wù) 離心式壓縮機(jī)的性能曲線
- 海上風(fēng)電場選址與評估技術(shù)
- 港口航運(yùn)運(yùn)營管理專業(yè)總復(fù)習(xí)試題(四)及答案
- 《數(shù)字電子技術(shù)基礎(chǔ) 第4版》 課件 第 1 章 數(shù)字電路基礎(chǔ)(第4版)
- 高速鐵路客運(yùn)組織與服務(wù)通用課件
- 物業(yè)管理費(fèi)測算及物業(yè)增收途徑課件
評論
0/150
提交評論