1、 member表的详细结构设计如图9-1所示。9.3 系统管理图9-1 member表的结构 本系统使用的Web服务目录是mkfriend,是在Tomcat安装目录的webapps目录下建立的Web服务目录。 现在需要在当前web服务目录下建立如下的目录结构: 然后根据servlet的包名,在classes下再建立相应的子目录,比如Servlet类的包名为myservlet.control,那么在classes下建立子目录myservletcontrol;如果JavaBean类的包名为mybean data,那么在classes下建立子目录hnybeandata。为了让Tomcat服务器启用上
2、述目录,必须重新启动Tomcat服务器。1.页面管理 本系统用的JSP页面全部保存在Web服务目录mkfriend中。 所有的页面将包括一个导航条,该导航条由注册、登录、上传照片、浏览会员、修改密码、修改个人信息组成。为了便于维护,其他页面通过使用JSP的标记将导航条文件head.txt嵌入自己的页面,head.txt保存在Web服务目录mkfriend中。head.txt的内容如下:head.txtCENTERFont size=5P网络交友/CENTERtable cellSpacing=”1”cellPadding=1”width=560”align=centerborder=O” td
3、A href=”register.j sp”font size=2会员注册/A/tdA href:”login.j spfont s1,厶匕一/.石zx贝m登录f。nt size=2卜传照片font si。ze=2汶0览会员A href=inputModifyMess.j sp”font sl。修改注册信息ze:2修改密码font size:退fJ登录返I旦J丰页/tabe 主页indexjsp由导航条、一个欢迎语和一幅图片welcomeJpg组成,welcome.jpg保存在mk衔end中。 用户町以通过在浏览器的地址栏中输入“htq):/月艮务器lP:8080/indexjsp”或“htq
4、):/服务器IP:8080/”访问该主页,主页运行效果如图9.2所示。图92 主页indexjspindex.jspcharset=GB2312”HEADinclude file=”head.txt/HEADHTMLBODY bgcolor=cyanh1Font size:4 color:red欢迎您来这里结交朋友image src:welcome.jpg”Wldth=300 height=2 00/i。mage/BODY/HTML2.JavaBean与Servlet管理本系统的JavaBean类的包名均为mybean.data;Servlet类的包名均为myseletcontrol。由于Se
5、rvlet类中要使用JavaBean,所以为了能顺利地编译Servlet类,首先将JavaBean类和Servlet类分别保存到:和D:myservletcontrolmybeandatamyservletcontrol目录中,分别进入上述目录,编译JavaBean类和Servlet类。然后将编译通过的JavaBean类和Servlet类的字节码件分别复制到:mkfriendWEBINFclassesmybeandatamkfriendWEBINFclassesmyservletcontrol目录中。3.配置文件 本系统的Servlet类的包名均为myservlet.control,需要配置W
6、eb服务目录的web.xml文件,根据本书使用的Tomcat安装目录及使用的Web服务目录,需将下面的web.xml文件保存到:apachetomcat一5.5.20webappsmkfriendWEBINFweb.xmi?xml versi。on=”1.O”encoding=”ISO一88591”?webappservletservlet。nameregisterservletclassmyservlet.contr01.HandleRegister/servletservletmappingservletnameurl。pattern/helpRegisterI servletmappin
7、gservletnameloginmyservlet.contr01.HandleLoginservletname/servletnameurlpattern/helpL0gin/serVletmappinguploadmyserVlet.c。ntr01.HandleUploadserVletmapping/helpUpload100kRecordmyservlet.contr01.HandleDatabase/helpShowMembermodifvPasswordmyserVlet.contr01.HandlePassword/helpModifyPasswordmodifyOldMess
8、ntr01.HandleM0difyMessmodifvOldMess/helpM0difyMessserV上etnameexitmyserVlet.contr01.HandleExit/helpExitL0gin9.4 会员注册 当新会员注册时,该模块要求用户必须输入会员名、密码信息,否则不允许注册。用户的注册信息被存入数据库的meNber表中。 该模块的模型JavaBean描述用户的注册信息;该模块的视图部分由两个JSP页面构成,一个JsP页面负责提交用户的注册信息到控制器,另一个JsP页面负责显示注册是否成功的信息;该模块的控制器servlet负责将视图提交的信息写入数据库的member
9、表中,并负责更新视图。1.模型(JavaBean)下列JavaBean用来描述用户注册信息。RegisteLj avapage contentType=text/html j charset=GB2312” lnclude file=head.txt”BODY bgcolor:cyanFont size=2FORM action=”helpRegister”name:formtable 输入您的信息,会员名字必须由字母和数字组成,带+号项必须填写。tr会员名称:Input type=text name-l。gname”木木电子邮件:Input type=text name:email”联系电话
10、:phone/tableFont si。输入您的陶历和交友标准:TextArea name-message”Rows=”6”C0ls=”30”/TextAreaInput type-submlt name=”g”value=”提交”/Form/B0dv2.视图(JSP页面)本模块视图有两个JsP页面:Register.jsp和shOWRegisterMessJsp。Register.jsp页面负责提供输入注册信息界面(效果如图93所示);showRegistefMessjsp负责显示注册反馈信息(效果如图94所示),比如注册是否成功等。图9.3填写注册信息图94显示注册结果RegisteLjs
11、ppage contentType=”text/htmlj charset=GB2312” include file=”head.txt” FORM actlon=”helpRegister” name=formtabe输入您的信息,会员名字必须由字母和数字组成,带+号项必须填写。工nput type=Input type电r邮件:工nput typefahptext name:”logname”=password name=”password”丰text name=text name=”phone”Font slze:输入您的简历和交友标准:TextArea name=message”Row
12、s=”6”Cols=”30Input type=submlt name=g”valme=”提交”showRegisterMess.jspcharset=GB2312” page i。mport=”mybean.data.Register”j sp:useBean id=”register” type=”mybean.data.Register” scope=”request”/ i。nclude file=”head.txt- Font size=4 color=blueBRgetProperty name:”register pr。perty=”backNews”/注册的会员名称:sp:ge
13、tproperty name=register” property=”logname/注册的电子邮件:getProperty name=register”pr。perty=email/注册的联系电话:getProperty name=”reglster”property=”phone”/您的简历和交友标准:TextArea name:getpr。perty name=”register”property=message”/TextAtea3.控制器(Servlet)控制器ser、,let对象的名字是register(见register负责连接数据库,将用户提交的信shOWRegisterMes
14、sJsp页面查看注册反馈信息。HandleRegister.j aVapackage myservlet.control;import mybeaR.data.。;i。mport java.sql.。jmport java.i0.。import javax.servlet.。9-3节给出的web.xml配置文件)。控制器息写入到metuber表,并将用户转发到import jaVax.serVlet.http.木jpublic class HandleRegister extends HttpServlet public Void init(SerVletC。nfig c。nfig) thro
15、ws ServletExcepti。n super.init(config); try class.forName(com.microsoft.sqlserVer.jdbc.sQLserverDriver”); catch(Exception e)public String handleString(String s)try byte bb=s.getBytes(”is088591)j s=new String(bb)jcatch(Exception ee)return s:public V。id d。P。st(HttpSerVletRequest request,HttpServletRes
16、p。nserespOnse) throws SerVletException,工OException f C0nnection con; Statement sql j Register reg=new Register(); request.setAttribute(”register”,reg)j String 10gname=request.getParameter(logname”).trim(), password=request.getParameter(”password。).trim(), email=request.getParameter(email”).trim(), p
17、hone=request.getParameter(”phone).trim(), message=request.getParameter(”message”)j string uri=”jdbc:sqlserVer:/127.O.O.1:1433;DatabaseName: MakeFriend”; if(10gname=null) 10gname=; if(password=null) password=”j b00lean isLD=true; for(int i=Oj i10gname.1ength()j i+) f char c=10gname.charAt(i); if(!(c=
18、a)l l(c=A)l 1(c=0) isLD=false; b。lean bOo=10gname.1ength()0passw。rd.1ength()0&isLD; String backNews=”;lOgname=handleString(10gname);password=handleString(password)phone=handleString(phone)jemail=handleString(email);message=handleString(message)jString pic=”public.jpg”;String insertRecord=ll,IIl- ,C0nStri+10gname+”+message十”DriVerManagerng insertC0nd”+DaSS”+Dic.aetC01t10n=”+insertRecord:sql=con.createStatementif(b00)1n七mif(m!word+”,+phone+”,”+email+”)”jnnection(uri,”sa”,”sa”)j”INSERT 工NTO member VALUES=sql.exec
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1