JavaWeb程序設(shè)計(jì)(項(xiàng)目式)(微課版)課件 項(xiàng)目九 JavaBean技術(shù)與JSP開發(fā)模型_第1頁
JavaWeb程序設(shè)計(jì)(項(xiàng)目式)(微課版)課件 項(xiàng)目九 JavaBean技術(shù)與JSP開發(fā)模型_第2頁
JavaWeb程序設(shè)計(jì)(項(xiàng)目式)(微課版)課件 項(xiàng)目九 JavaBean技術(shù)與JSP開發(fā)模型_第3頁
JavaWeb程序設(shè)計(jì)(項(xiàng)目式)(微課版)課件 項(xiàng)目九 JavaBean技術(shù)與JSP開發(fā)模型_第4頁
JavaWeb程序設(shè)計(jì)(項(xiàng)目式)(微課版)課件 項(xiàng)目九 JavaBean技術(shù)與JSP開發(fā)模型_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

項(xiàng)目九JavaBean技術(shù)與JSP開發(fā)模型9.1

JavaBean技術(shù)如果使HTML代碼與Java代碼相分離,將Java代碼單獨(dú)封裝成一個(gè)處理某種業(yè)務(wù)邏輯的類,然后在JSP頁面中調(diào)用此類,可以降低HTML代碼與Java代碼之間的耦合度,簡化JSP頁面,提高Java代碼的重用性及靈活性。這種由Java代碼封裝形成的類,就是JavaBean。在JavaWeb開發(fā)中,可以使用JavaBean組件完成業(yè)務(wù)邏輯的處理。JavaBean與JSP結(jié)合的開發(fā)模式如圖所?示。9.1.1

JavaBean概述JavaBean與JSP結(jié)合的開發(fā)模式9.1

JavaBean技術(shù)9.1.2

JavaBean種類目前,JavaBean主要用于實(shí)現(xiàn)業(yè)務(wù)邏輯或封裝業(yè)務(wù)對(duì)象,由于這種JavaBean并沒有可視化界面,所以又稱為非可視化的JavaBean。下面通過一個(gè)案例演示非可視化的JavaBean的應(yīng)用,通過非可視化的JavaBean封裝用戶對(duì)象,并在JSP頁面調(diào)用該對(duì)象驗(yàn)證用戶名和密碼是否合法。案例創(chuàng)建名稱為User的JavaBean對(duì)象(資源位置:項(xiàng)目9\源文件\User.java)packagecom.test.model;importjava.io.Serializable;publicclassUserimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateStringusername;privateStringpassword;publicUser(){}publicUser(Stringusername,Stringpassword){this.username=username;this.password=password;}publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}9.1

JavaBean技術(shù)在項(xiàng)目JavaBeanDemo的Web文件夾下創(chuàng)建DemoJavaBean01.jsp,用于輸入并提交用戶名和密碼,代碼如下所?示。案例

DemoJavaBean01(資源位置:項(xiàng)目9\源文件\DemoJavaBean01.jsp)<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>JavaBeanDemo01</title></head><body><formaction="DemoJavaBean02.jsp"method="post"><tablealign="center"width="300"border="1"height="150"><tr><tdcolspan="2"align="center"><b>登錄頁面</b></td></tr><tr><tdalign="right">用戶名:<inputtype="text"name="username"></input></td></tr><tr><tdalign="right">密碼:<inputtype="password"name="password"></input></td></tr><tr><tdcolspan="2"align="center"><inputtype="submit"/></td></tr></table></form></body></html>9.1

JavaBean技術(shù)在項(xiàng)目JavaBeanDemo的Web文件夾下創(chuàng)建DemoJavaBean02.jsp,用于輸出登錄的處理結(jié)果,其代碼如下所?示。案例

DemoJavaBean02.jsp(資源位置:項(xiàng)目9\源文件\DemoJavaBean02.jsp)<%@pageimport="com.test.model.User"%><%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>JavaBeanDemo02</title></head><body><divalign="center"><%Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");Useruser=newUser(username,password);if(user.getUsername().equals("admin")&&user.getPassword().equals("admin123")){out.print("恭喜您,登錄成功!");}else{out.print("請(qǐng)輸入正確的用戶名和密碼!");}%><br/><br/><ahref="DemoJavaBean01.jsp">返回</a></div></body></html>9.1

JavaBean技術(shù)登錄頁面在IDEA中缺啟動(dòng)Tomcat服務(wù)器啟動(dòng)項(xiàng)目JavaBeanDemo,使用瀏覽器訪問地址“http://localhost:8080/JavaBeanDemo01.jsp”,登錄頁面如圖所?示。輸入正確的用戶名、密碼后,單擊“提交”按鈕,登錄成功的頁面如圖所?示。登錄成功的頁面9.1

JavaBean技術(shù)下面通過一個(gè)案例演示如何獲取JavaBean屬性信息,在JavaBeanDemo項(xiàng)目的srm目錄下創(chuàng)建com.test.model目錄,并創(chuàng)建Student的JavaBean對(duì)象,具體代碼如?下。案例創(chuàng)建名稱為Student的JavaBean對(duì)象(資源位置:項(xiàng)目

9\源文件\Student.java)9.1.3

JavaBean應(yīng)用packagecom.test.model;publicclassStudent{privateStringname="張三";privateintage=23;privateStringsex="男";publicStringgetName(){returnname;}publicintgetAge(){returnage;}publicStringgetSex(){returnsex;}}9.1

JavaBean技術(shù)在項(xiàng)目JavaBeanDemo的Web文件夾下創(chuàng)建DemoJavaBean03.jsp,其代碼如下所?示。案例

DemoJavaBean03.jsp(資源位置:項(xiàng)目9\源文件\DemoJavaBean03.jsp)<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>DemoJavaBean03</title></head><body><jsp:useBeanid="student"class="com.test.model.Student"></jsp:useBean><div><ul><li>姓名:<jsp:getPropertyname="student"property="name"></jsp:getProperty></li><li>年齡:<jsp:getPropertyname="student"property="age"></jsp:getProperty></li><li>性別:<jsp:getPropertyname="student"property="sex"></jsp:getProperty></li></ul></div></body></html>9.1

JavaBean技術(shù)下面通過一個(gè)案例演示在JSP頁面中對(duì)JavaBean屬性賦值。修改Student.java,在該文件中提供與各個(gè)屬性相對(duì)應(yīng)setter方法,具體代碼如?下。案例創(chuàng)建名稱為Student的JavaBean對(duì)象(資源位置:項(xiàng)目9\源文件\Student.java)packagecom.test.model;publicclassStudent{privateStringname;privateintage;privateStringsex;publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicStringgetSex(){returnsex;}publicvoidsetSex(Stringsex){this.sex=sex;}}9.1

JavaBean技術(shù)在項(xiàng)目JavaBeanDemo的Web文件夾下創(chuàng)建DemoJavaBean04.jsp,其代碼如下所?示。案例

DemoJavaBean04.jsp(資源位置:項(xiàng)目9\源文件\DemoJavaBean04.jsp)<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>DemoJavaBean04</title></head><body><jsp:useBeanid="student"class="com.test.model.Student"></jsp:useBean><jsp:setPropertyname="student"property="name"value="小花"></jsp:setProperty><jsp:setPropertyname="student"property="age"value="20"></jsp:setProperty><jsp:setPropertyname="student"property="sex"value="女"></jsp:setProperty><div><ul><li>姓名:<jsp:getPropertyname="student"property="name"></jsp:getProperty></li><li>年齡:<jsp:getPropertyname="student"property="age"></jsp:getProperty></li><li>性別:<jsp:getPropertyname="student"property="sex"></jsp:getProperty></li></ul></div></body></html>9.1

JavaBean技術(shù)在IDEA中啟動(dòng)Tomcat服務(wù)器并使用瀏覽器訪問地址“http://localhost:8080/DemoJavaBean04.jsp”,頁面會(huì)顯示對(duì)JavaBean屬性賦值的結(jié)果,如圖所?示。對(duì)JavaBean屬性賦值的結(jié)果JavaBean在JSP中的應(yīng)用十分廣泛。在JSP頁面中,幾乎所有的業(yè)務(wù)對(duì)象及業(yè)務(wù)邏輯的實(shí)現(xiàn)方法都由JavaBean進(jìn)行封裝。在JSP頁面中使用JavaBean,不僅可以減少JSP頁面中的Java代碼,而且可以增強(qiáng)程序的可讀性,使程序易于維?護(hù)。9.2

JSP開發(fā)模型使用JSP技術(shù)開發(fā)Web應(yīng)用程序,有兩種開發(fā)模型可供選擇,分別是JSPModel1和JSPModel2。在早期使用JSP開發(fā)JavaWeb應(yīng)用時(shí),JSP文件是一個(gè)獨(dú)立的、能自主完成所有任務(wù)的模塊,它負(fù)責(zé)處理業(yè)務(wù)邏輯、控制網(wǎng)頁流程、向用戶展示頁面等。JSP早期模型的工作原理如圖所?示。JSP早期模型的工作原理9.2

JSP開發(fā)模型JSPModel1采用JSP+JavaBean技術(shù),將頁面顯示和業(yè)務(wù)邏輯分開。其中,JSP實(shí)現(xiàn)流程控制和頁面顯示,JavaBean對(duì)象封裝數(shù)據(jù)和業(yè)務(wù)邏輯。JSPModel1的工作原理如圖所?示。9.2.1

JSPModel1JSPModel1的工作原理9.2

JSP開發(fā)模型JSPModel2采用JSP+Servlet+JavaBean技術(shù),將JSP中的流程控制代碼提取出來,封裝到Servlet中,實(shí)現(xiàn)了頁面顯示、流程控制和業(yè)務(wù)邏輯的分離。JSPModel2遵循MVC(ModelViewController,模型

視圖

控制器模式),其中模型的功能由JavaBean實(shí)現(xiàn),視圖的功能由JSP實(shí)現(xiàn),控制器的功能由Servlet實(shí)現(xiàn)。JSPModel2的工作原理如圖所?示。9.2.2

JSPModel2JSPModel2的工作原理9.3

MVC9.3.1

MVC核心模塊介紹模型負(fù)責(zé)管理應(yīng)用程序的業(yè)務(wù)數(shù)據(jù)、定義訪問控制以及修改這些數(shù)據(jù)的業(yè)務(wù)規(guī)則。當(dāng)模型的狀態(tài)進(jìn)行更新時(shí),它會(huì)通知視圖,并為視圖提供查詢模型狀態(tài)的方?法。模型01視圖負(fù)責(zé)與用戶進(jìn)行交互,它從模型中獲取數(shù)據(jù)并向用戶展示,同時(shí)也能將用戶操作請(qǐng)求傳遞給控制器進(jìn)行處理。當(dāng)模型的狀態(tài)發(fā)生改變時(shí),視圖會(huì)對(duì)用戶界面進(jìn)行同步更新,從而保持用戶界面與模型的狀態(tài)的一致?性。視圖02控制器負(fù)責(zé)處理應(yīng)用程序中的用戶交互,它從視圖中讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)?據(jù)??刂破?39.3

MVC9.3.2

MVC核心模塊之間的關(guān)系MVC三個(gè)模塊之間的關(guān)系【商業(yè)實(shí)例】任務(wù)一在項(xiàng)目中創(chuàng)建C3P0Utils工具類和User實(shí)體類創(chuàng)建C3P0Utils工具類,具體代碼如?下。(代碼位置:項(xiàng)目9\商業(yè)實(shí)例\C3P0Utils.java)仿公司OA管理系統(tǒng)按照J(rèn)SPModel2實(shí)現(xiàn)用戶注冊(cè)功能importcom.mchange.v2.c3p0.ComboPooledDataSource;importjavax.servlet.http.HttpServlet;importjava.beans.PropertyVetoException;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassC3P0UtilsextendsHttpServlet{//加載數(shù)據(jù)庫驅(qū)動(dòng)并且建立鏈接publicstaticConnectiongetConnection()throwsSQLException{Connectionconnection=null;//初始化C3P0數(shù)據(jù)庫連接池ComboPooledDataSourcecpds=newComboPooledDataSource();try{cpds.setDriverClass("com.mysql.cj.jdbc.Driver");【商業(yè)實(shí)例】cpds.setJdbcUrl("jdbc:mysql://20:3306/mydatabase?serverTimezone=UTC");cpds.setUser("root");cpds.setPassword("root");//設(shè)置數(shù)據(jù)庫連接池的參數(shù)cpds.setInitialPoolSize(10);cpds.setMaxPoolSize(15);//返回?cái)?shù)據(jù)庫連接對(duì)象connection=cpds.getConnection();returnconnection;}catch(PropertyVetoExceptione){e.printStackTrace();}returnconnection;}//關(guān)閉數(shù)據(jù)庫連接,釋放資源publicstaticvoidrelease(ResultSetresultSet,Statementstatement,Connectionconnection){if(resultSet!=null){try{resultSet.close();}catch(SQLExceptione){e.printStackTrace();}resultSet=null;}if(statement!=null){try{statement.close();}catch(SQLExceptione){e.printStackTrace();}statement=null;}if(connection!=null){try{connection.close();}catch(SQLExceptione){e.printStackTrace();}connection=null;}}}【商業(yè)實(shí)例】創(chuàng)建User實(shí)體類,具體代碼如?下。(代碼位置:項(xiàng)目9\商業(yè)實(shí)例\User.java)packagecom.test.model;publicclassUser{privateLongid;privateStringname;privateStringpassword;privateStringphone;privateStringaddress;privateStringhobby;privateStringrealName;privateStringcreatetime;privateStringupdateTime;publicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringgetPhone(){returnphone;}publicvoidsetPhone(Stringphone){this.phone=phone;}publicStringgetAddress(){returnaddress;}publicvoidsetAddress(Stringaddress){this.address=address;}publicStringgetHobby(){returnhobby;}publicvoidsetHobby(Stringhobby){this.hobby=hobby;}publicStringgetRealName(){returnrealName;}publicvoidsetRealName(StringrealName){this.realName=realName;}publicStringgetCreatetime(){returncreatetime;}publicvoidsetCreatetime(Stringcreatetime){this.createtime=createtime;}publicStringgetUpdateTime(){returnupdateTime;}publicvoidsetUpdateTime(StringupdateTime){this.updateTime=updateTime;}}【商業(yè)實(shí)例】任務(wù)二

創(chuàng)建RegisterFormBean類(代碼位置:項(xiàng)目9\商業(yè)實(shí)例\RegisterFormBean.java)本段代碼是封裝注冊(cè)表單信息的JavaBean,用于校驗(yàn)從Servlet中獲取到的注冊(cè)表單信息中的各個(gè)屬性(也就是注冊(cè)表單內(nèi)的各個(gè)字段中所對(duì)應(yīng)的數(shù)據(jù))。仿公司OA管理系統(tǒng)按照J(rèn)SPModel2實(shí)現(xiàn)用戶注冊(cè)功能packagecom.test.model;importjava.util.HashMap;importjava.util.Map;publicclassRegisterFormBean{privateStringname;//定義用戶名privateStringpassword;//定義密碼privateStringpassword1;//定義確認(rèn)密碼privateStringphone;//定義手機(jī)號(hào)碼privateStringaddress;privateStringhobby;privateStringrealName;publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicStringgetPassword(){returnpassword;}【商業(yè)實(shí)例】publicvoidsetPassword(Stringpassword){this.password=password;}publicStringgetPassword1(){returnpassword1;}publicvoidsetPassword1(Stringpassword1){this.password1=password1;}publicStringgetPhone(){returnphone;}publicvoidsetPhone(Stringphone){this.phone=phone;}publicStringgetAddress(){returnaddress;}publicvoidsetAddress(Stringaddress){this.address=address;}publicStringgetHobby(){returnhobby;}publicvoidsetHobby(Stringhobby){this.hobby=hobby;}publicStringgetRealName(){returnrealName;}publicvoidsetRealName(StringrealName){this.realName=realName;}publicMap<String,String>getErrors(){returnerrors;}publicvoidsetErrors(Map<String,String>errors){this.errors=errors;}//定義成員變量errors,用于封裝表單驗(yàn)證時(shí)的錯(cuò)誤信息privateMap<String,String>errors=newHashMap<String,String>();//省略getter和setter方法publicbooleanvalidate(){booleanflag=true;//用戶名不能為空if(name==null||name.trim().equals("")){errors.put("name","用戶名不能為空。");flag=false;}//密碼不能為空if(password==null||password.trim().equals("")){errors.put("password","密碼不能為空。");flag=false;}

【商業(yè)實(shí)例】//兩次輸入的密碼要一致if(password1==null){errors.put("password1","確認(rèn)密碼不能為空。");flag=false;}else{if(!password.equals(password1)){errors.put("password1","兩次密碼輸入不一致。");flag=false;}}//此處只展示了對(duì)手機(jī)號(hào)格式進(jìn)行校驗(yàn),其他省略if(phone==null||phone.trim().equals("")){errors.put("phone","手機(jī)號(hào)碼不能為空。");flag=false;}returnflag;}}任務(wù)三

創(chuàng)建RegisterServlet(代碼位置:項(xiàng)目9\商業(yè)實(shí)例\RegisterServlet.java)本段代碼負(fù)責(zé)處理用戶的注冊(cè)請(qǐng)求。如果注冊(cè)成功,頁面會(huì)跳轉(zhuǎn)到loginSuccess.jsp頁面;如果注冊(cè)失敗,頁面會(huì)跳轉(zhuǎn)到register.jsp頁面并顯示錯(cuò)誤信息【商業(yè)實(shí)例】importcom.test.model.RegisterFormBean;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.text.SimpleDateFormat;importjava.util.Date;@WebServlet(name="RegisterServlet",urlPatterns="/RegisterServlet")publicclassRegisterServletextendsHttpServlet{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{request.setCharacterEncoding("UTF-8");//獲取用戶在注冊(cè)頁面填寫的信息Stringname=request.getParameter("name");Stringpassword=request.getParameter("password");Stringpassword1=request.getParameter("password1");【商業(yè)實(shí)例】StringrealName=request.getParameter("realName");Stringphone=request.getParameter("phone");Stringaddress=request.getParameter("address");Stringhobby=request.getParameter("hobby");SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");StringcreateTime=sdf.format(newDate());//將獲取的信息封裝到注冊(cè)表單相關(guān)的RegisterFormBean類中RegisterFormBeanformBean=newRegisterFormBean();formBean.setName(name);formBean.setPassword(password);formBean.setPassword1(password1);formBean.setPhone(phone);formBean.setAddress(address);formBean.setRealName(realName);formBean.setHobby(hobby);//驗(yàn)證信息是否符合要求,若不符合,跳轉(zhuǎn)到register.jsp,重新填寫if(!formBean.validate()){request.setAttribute("formBean",formBean);request.getRequestDispatcher("/register.jsp").forward(request,response);return;}【商業(yè)實(shí)例】//驗(yàn)證通過,進(jìn)行插入數(shù)據(jù)庫操作response.setContentType("application/json;charset=UTF-8");PrintWriterwriter=response.getWriter();Connectionconnection=null;Statementstatement=null;ResultSetresultSet=null;try{//從C3P0Utils獲取數(shù)據(jù)庫鏈接connection=C3P0Utils.getConnection();//獲取Statement對(duì)象statement=connection.createStatement();//根據(jù)用戶名,查詢當(dāng)前用戶是否已經(jīng)注冊(cè)//組裝SQL語句StringsqlQuery="SELECT*FROMuserWHEREname='"+name+"'";ResultSetresultQuerySet=statement.executeQuery(sqlQuery);//處理結(jié)果if(resultQuerySet.next()){writer.print(name+"賬號(hào)已存在!");return;}else{//組裝SQL語句【商業(yè)實(shí)例】Stringsql="INSERTINTOuser(name,password,phone,address,hobby,realName,createtime)"+"VALUES('"+name+"','"+password+"','"+phone+"','"+address+"','"+hobby+"','"+realName+"','"+createTime+"')";inti=statement.executeUpdate(sql);if(i>0){writer.print(name+"賬號(hào)注冊(cè)成功!");}else{writer.print(name+"賬號(hào)注冊(cè)失敗,請(qǐng)聯(lián)系管理員!");}}}catch(SQLExceptione){e.printStackTrace();}finally{C3P0Utils.release(resultSet,statement,connection);}}}任務(wù)四

創(chuàng)建register.jsp頁面本段代碼用于實(shí)現(xiàn)顯示用戶注冊(cè)表單的頁面,它將用戶的注冊(cè)請(qǐng)求提交給RegisterServlet處理。【商業(yè)實(shí)例】<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><head><title>注冊(cè)</title><styletype="text/css">.wForm{background-image:url("bg.jpg");/*替換為自己的圖片的路徑*/background-size:cover;width:100%;/*設(shè)置寬度(可選)*/height:100%;/*設(shè)置高度(可選)*/}</style><linkrel="stylesheet"href="bootstrap.min.css"><scripttype="text/javascript"src="jquery.min.js"></script></head><body><!--面包屑導(dǎo)航--><navaria-label="breadcrumb"><olclass="breadcrumb"><liclass="breadcrumb-itemactive">注冊(cè)</li><liclass="breadcrumb-item"><ahref="#">登錄</a></li><liclass="breadcrumb-item"><ahref="#">首頁</a></li><liclass="breadcrumb-item"><ahref="#">簡介</a></li><liclass="breadcrumb-item"><ahref="#">商務(wù)</a></li><liclass="breadcrumb-item"><ahref="#">關(guān)于我們</a></li></ol></nav><divclass="wForm"align="center"><h1>XXX公司OA注冊(cè)頁面</h1>【商業(yè)實(shí)例】<!--表單--><formaction="/RegisterServlet"method="POST"style="margin-top:100px"><divclass="form-group"style="width:50%;care:default"><tableborder="0"cellspacing="0"cellpadding="5px"><tr><tdwidth="30%"align="right"><labelfor="name">用戶名</label></td><tdwidth="40%"><inputtype="text"class="form-control"id="name"name="name"value="${formB}"></td><tdwidth="30%">${formB}${DBMes}</td></tr><tr><tdwidth="30%"align="right"><labelfor="password">密碼</label></td><tdwidth="40%"><inputtype="password"class="form-control"id="password"name="password"value="${formBean.password}"></td><tdwidth="30%">${formBean.errors.password}${DBMes}</td></tr><tr><tdwidth="30%"align="right"><labelfor="password1">確認(rèn)密碼</label></td><tdwidth="40%"><inputtype="password"class="form-control"id="password1"name="password1"value="${formBean.password1}"></td><tdwidth="30%">${formBean.errors.password1}${DBMes}</td></tr><tr><tdwidth="30%"align="right"><labelfor="realName">真實(shí)姓名</

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論