实验13会员注册 一、实验目的 1.熟练掌握form表单的应用 2熟练掌握表格的应用 3.了解用户注册的流程。 4.掌握在mvc下的开发模式。 二、实验要求 1.完成完整html注册页面register.jsp。 2.实现跳转后servlet页面,hand1eRegister.java 3.连接数据库,先判断用户是否存在,存在,提示用户已存在,不存在,写入数据库注册 成功。 4.显示注册页面showRegisterMess.jsp。 三、实验内容 ·编写html页面register.jsp,源代码如下。 page contentType="text/html:charset=GB2312"> KBODY bgcolor=cyan>Font size=2>CENTER (FORM action="handleRegister"name=form> <table> 输入您的信息,会员名字必须由字母和数字组成,带*号项必须填写。 trXtd会员名称:/td<td>KInput type=text name='logname")*/hd/r> (tr>(td》广告标题:(/td)(td(Input types=text names="advertiseTitle">*</tdD(/tr) <trX<td>电子邮件:</tdD<td>(Input type=text name='email"/tdD/r> <r>XLdD联系电话:</LdD<tdD<Input type=text name='phone"></dD</Lr> </tahle> <table> <rXtd KFont size=-2>输入您的广告词:/td/r> <tr> (td><TextArea name="message"Rows="6"Cols="30"</TextAreax/td> </tr> <trXtd>KInput type=-submit namc-'g”value=提交">/dr </table> </Form></CENTER>
实验 13 会员注册 一、实验目的 1. 熟练掌握 form 表单的应用。 2. 熟练掌握表格的应用。 3. 了解用户注册的流程。 4. 掌握在 mvc 下的开发模式。 二、实验要求 1. 完成完整 html 注册页面 register.jsp。 2. 实现跳转后 servlet 页面,handleRegister.java。 3. 连接数据库,先判断用户是否存在,存在,提示用户已存在,不存在,写入数据库注册 成功。 4. 显示注册页面 showRegisterMess.jsp。 三、实验内容 编写 html 页面 register.jsp,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <HTML><HEAD><%@ include file="head.txt" %></HEAD> <BODY bgcolor=cyan><Font size=2><CENTER> <FORM action="handleRegister" name=form> <table> 输入您的信息,会员名字必须由字母和数字组成,带*号项必须填写。 <tr><td>会员名称:</td><td><Input type=text name="logname" >*</td></tr> <tr><td>设置密码:</td><td><Input type=password name="password">*</td></tr> <tr><td>广告标题:</td><td><Input type=text name="advertiseTitle">* </td></tr> <tr><td>电子邮件:</td><td><Input type=text name="email"></td></tr> <tr><td>联系电话:</td><td><Input type=text name="phone"></td></tr> </table> <table> <tr><td><Font size=2>输入您的广告词:</td></tr> <tr> <td><TextArea name="message" Rows="6" Cols="30"></TextArea></td> </tr> <tr><td><Input type=submit name="g" value="提交"></td> </tr> </table> </Form></CENTER>
</BodyX/HTML> ◆编写servlet页面handleRegister.java,源代码如下 package yservlet.control import mybean.data. import java.sql.*: imort lava.io.*: import javax.servlet.* public class HandleRegister extends HttpServlet public void init(ServletConfig config)throws ServletException super.init(config): try{Class.forName ("com microsoft.salserver,jdbe.SQLServerDriver"): 1 catch(Exception e) public String handleString(String s) try(byte bb[]=s.getBytes("iso-8859-1): s=new String(bb): 1 catch(Exception ee) return s: oublic void doPost(HttpServletRequest request.HttpServletResponse response) throws ServletException.10Exception Connection con, PreparedStatement sql; Register reg=new Register(: request.setAttribute("register",reg) String logname-request.getParameter("logname).trim() a ord= quest.getPar ter(password).trim .getParameter("advertiseTitle)trim email=request.getParameter ("email).trim() phone=request.getParameter("phone").trim() message=request.getParameter("message"): String uri="jdbc:sqlserver://127.0.0.1:1433:DatabaseName=Friend" if(logname if(password==null) nassw0Td=”=: boolean is-true for(int i-0:i(logname.length(:+ char c=logname.charAt (i) if(!((c<='z'&c>='a')(c<='Z'&c>'A')(c<='g'>))) isLD=false:
</Body></HTML> 编写 servlet 页面 handleRegister.java,源代码如下: package myservlet.control; import mybean.data.*; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HandleRegister extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(Exception e){} } public String handleString(String s) { try{ byte bb[]=s.getBytes("iso-8859-1"); s=new String(bb); } catch(Exception ee){} return s; } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { Connection con; PreparedStatement sql; Register reg=new Register(); request.setAttribute("register",reg); String logname=request.getParameter("logname").trim(), password=request.getParameter("password").trim(), advertiseTitle=request.getParameter("advertiseTitle").trim(), email=request.getParameter("email").trim(), phone=request.getParameter("phone").trim(), message=request.getParameter("message"); String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Friend"; if(logname==null) logname=""; if(password==null) password=""; boolean isLD=true; for(int i=0;i<logname.length();i++) { char c=logname.charAt(i); if(!((c<='z'&&c>='a')||(c<='Z'&&c>='A')||(c<='9'&&c>='0'))) isLD=false;
boolean boo=logname.length(password.length(isLD String backNews- try{con=riverManager.getConnection(uri,"sa","sa"); String insertCondition="INSERT INTO menber VALUES (???????)" sql=con.prepareStatement (insertCondition): if(boo) (sql.setString(1,handleString(logname)) sql.setString(2,handleString(password)) sql.setString(3,handleString(advertiseTitle)) sal.setstring(4.phone): sal.setstring(5.email): (message)) sql.setString(亿,public.jpg int m=sql.executeUpdate(): if (m!=0) (backNews=“注册成功 reg.setLogna reg.setPassword (handleString(password)): reg.setAdvertiseTitle(handleString(advertiseTitle)) reg.setEmail(handleString(email)): reg.setMessage(handloString(message)) else {backNews:=“信息填写不完整或名字中有非法字符” reg.setBackNews (backNews) con.close() catch(SOLException exp) 【backNews=“该会员名己被使用,请您更换名字“+exD: reg.setBackNe RequestDispatcher dispatcher= request.getRequestDispatcher("showRegisterMess.jsp"):// dispatcher.forward(request.response): public void dGet(HtpServletRequest request,HttpServletResponse response) throws ServletException,I0Exception doPost(request.response)
} boolean boo=logname.length()>0&&password.length()>0&&isLD; String backNews=""; try{ con=DriverManager.getConnection(uri,"sa","sa"); String insertCondition="INSERT INTO member VALUES (?,?,?,?,?,?,?)"; sql=con.prepareStatement(insertCondition); if(boo) { sql.setString(1,handleString(logname)); sql.setString(2,handleString(password)); sql.setString(3,handleString(advertiseTitle)); sql.setString(4,phone); sql.setString(5,email); sql.setString(6,handleString(message)); sql.setString(7,"public.jpg"); int m=sql.executeUpdate(); if(m!=0) { backNews="注册成功"; reg.setBackNews(backNews); reg.setLogname(logname); reg.setPassword(handleString(password)); reg.setAdvertiseTitle(handleString(advertiseTitle)); reg.setEmail(handleString(email)); reg.setPhone(phone); reg.setMessage(handleString(message)); } } else { backNews="信息填写不完整或名字中有非法字符"; reg.setBackNews(backNews); } con.close(); } catch(SQLException exp) { backNews="该会员名已被使用,请您更换名字"+exp; reg.setBackNews(backNews); } RequestDispatcher dispatcher= request.getRequestDispatcher("showRegisterMess.jsp");//转发 dispatcher.forward(request, response); } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { doPost(request,response);
1 显示注册页面showRegisterMessjsp,源码如下 page contentType-="text/html:charset=GB2312 (稀page import=-'mybean.data.*“%) <jsp:useBean id="register"type="mybean.data.Register"scope="request"/> <HTML>KHEAD><%include file="head.txt"%</HEAD> <Font size=4 color=blue <BR><jsp:getProperty name="register"property="backNews"/> </Eont> <table> <trXtd>注册的会员名称 </td><td<jsp:getProperty name=register"property="logname"/> 《/td>/tr> <trXtdDi注册的广告标题:/td> <tdXjsp:etProperty name=register"property="advertiseTitle//d/r> <trXtd> 注册的电子件:/d<td>jsp:getProperty nae='register'property=emil“D </d/r> <trXtd> 注册的联系电话:/tdD<tdjsp:getProperty name=register property='phone"D (/td>/t> <table>(tr>(td)您的广告词:(/td>(/tr> <tr><td><TextArea name="message"Rows="6"Cols="30"> isp:getProperty name="register"property="message"/> </TextArea> </tdD (/table> </CENTER></BODY></HTML> ◆编译并运行该程序,如有错误请改正
} } 显示注册页面 showRegisterMess.jsp,源码如下: %@ page contentType="text/html;charset=GB2312" %> <%@ page import="mybean.data.*"%> <jsp:useBean id="register" type="mybean.data.Register" scope="request"/> <HTML><HEAD><%@ include file="head.txt" %></HEAD> <HTML><BODY bgcolor=cyan > <CENTER> <Font size=4 color=blue > <BR> <jsp:getProperty name="register" property="backNews"/> </Font> <table> <tr><td>注册的会员名称: </td><td><jsp:getProperty name="register" property="logname"/> </td></tr> <tr><td>注册的广告标题:</td> <td><jsp:getProperty name="register" property="advertiseTitle"/></td></tr> <tr><td> 注册的电子邮件:</td><td><jsp:getProperty name="register" property="email"/> </td></tr> <tr><td> 注册的联系电话:</td><td><jsp:getProperty name="register" property="phone"/> </td></tr> </table> <table><tr><td>您的广告词:</td></tr> <tr><td><TextArea name="message" Rows="6" Cols="30"> <jsp:getProperty name="register" property="message"/> </TextArea> </td> </tr> </table> </CENTER></BODY></HTML> 编译并运行该程序,如有错误请改正