实验16浏览会员广告 一、实验目的 1熟练掌握fom表单的应用 2.熟练掌握表格bable的应用 3.熟练竿握javabean的应用。 4.掌握分页显示数据。 5.掌握在mvc下的开发模式。 二、实验要求 L.会员查找页面choiceLookType.j 2.显示所有会员页面 how nber.j 3.显示查找到会员的页面showLookedMember.jsp。. 4.servlet处理页面HandleDatabas.java。 5.bean页面ShowByPage.java. 三、实验内容 ◆编写html会员查找页面choicelookType.isD,源代码如下。 contentType="text/html:charset= txt“多ED <BODY bgcolor=cyan><center>(Font size=3> <table> <FORM action="helpShowMember"method="post"name="form'> (R>分页显示全体会员 KINPUT type="hidden"value=1namo="showPage"size=6> INPUT type='submit”valu0e='显示”name=submit> 《/Form> <FORM action="helpShowMenber"sethod="get"name="form"> (br>输入要查找的会员名: (INPUT type=-text”name-'1 lognanesize-6> <INPUT type=-"submit valuo=显示name=subait </FORM</center> </BODY</HT> ·编写显示所有会员页面showAllMember.jsp,源代码如下 page contentType-"ext/himl.charset-B231 %page mp <jsp:useBean id="show"type="mybean.data ShowByPage"scope="session
实验 16 浏览会员广告 一、实验目的 1. 熟练掌握 form 表单的应用。 2. 熟练掌握表格 bable 的应用。 3. 熟练掌握 javabean 的应用。 4. 掌握分页显示数据。 5. 掌握在 mvc 下的开发模式。 二、实验要求 1. 会员查找页面 choiceLookType.jsp。 2. 显示所有会员页面 showAllMember.jsp。 3. 显示查找到会员的页面 showLookedMember.jsp。 4. servlet 处理页面 HandleDatabas.java。 5. bean 页面 ShowByPage.java。 三、实验内容 编写 html 会员查找页面 choiceLookType.jsp,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <HTML><HEAD><%@ include file="head.txt" %></HEAD> <BODY bgcolor=cyan><center><Font size=3> <table> <FORM action="helpShowMember" method="post" name="form"> <BR>分页显示全体会员 <INPUT type="hidden" value="1" name="showPage" size=6> <INPUT type="submit" valu0e="显示" name="submit"> </Form> <FORM action="helpShowMember" method="get" name="form"> <br>输入要查找的会员名: <INPUT type="text" name="logname" size=6> <INPUT type="submit" value="显示" name="submit"> </FORM></center> </BODY></HTML> 编写显示所有会员页面 showAllMember.jsp,源代码如下: <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="mybean.data.ShowByPage" %> <jsp:useBean id="show" type="mybean.data.ShowByPage" scope="session"/>
<HTML><%@include file="head.txt"%></HEAD> <P>显示会员信息 <BR>每页最多显示<p getProperty name="show property=-"pageSize'”条信息 <BR>当前显示第<Font colo=bue> <jsp:getProperty name="show"property="showPage" <FonP页共有 <Font color=bluejsp:getProperty name="show property="pageAllCoun <FonP项 <BR>当前显示的内容是: <table border=2> >会员名<><>广告标题<><>电话< h>cna<油><h>广告词<灿><h>广告照片<h <p <jsp:gctProperty name-"show"property="presentPageResult" <BR>单击“前一页”或“下一页”按组查看信息 <tr><td><FORM action="helpShowMember"method=post <Input type=hidden name="showPage"value="<%=show getshowPage0-1%> <Input types=submit name="g"valucs="前一页"> S/FORM> FORMaction="helpShowMember"method-post <Input type=hidden name="showPage"value="<%=show.getShowPage()+1%>"> <nput type=submit name="g"value="后一页"> </Form <d> <FORMaction-"helpShowMember mthod-post 输入页码:<Input type=text name-'showPage”size-5 <Input type-=submit name="g"vauc="提交"> </FORM> <hd> </Table </Center≥ <BODY><HTMI> ·编写查找到的会员显示页面showLookedMember.jsp,源代码如下 ntType="text/html:cha ECB2312% page import=-bean.data.Meaberinfor多 <jsp:useBean id="inforn"type="mybean.data.MemberInform"scope="request/> <Center> <HTML><BODY bgcolor=pink><%include file="head.txt"%></HEAD>
<HTML><%@ include file="head.txt" %></HEAD> <Body ><center> <P>显示会员信息. <BR>每页最多显示<jsp:getProperty name= "show" property="pageSize" />条信息 <BR>当前显示第<Font color=blue> <jsp:getProperty name= "show" property="showPage" /> </Font>页,共有 <Font color=blue><jsp:getProperty name= "show" property="pageAllCount" /> </Font>页。 <BR>当前显示的内容是: <table border=2> <tr> <th>会员名</th><th>广告标题</th><th>电话</th> <th>email</th><th>广告词</th><th>广告照片</th> </tr> <jsp:getProperty name= "show" property="presentPageResult" /> </table> <BR>单击“前一页”或“下一页”按纽查看信息 <Table> <tr><td><FORM action="helpShowMember" method=post> <Input type=hidden name="showPage" value="<%=show.getShowPage()-1 %>" > <Input type=submit name="g" value="前一页"> </FORM> </td> <td><FORM action="helpShowMember" method=post> <Input type=hidden name="showPage" value="<%=show.getShowPage()+1 %>" > <Input type=submit name="g" value="后一页"> </Form> </td> <td> <FORM action="helpShowMember" method=post> 输入页码:<Input type=text name="showPage" size=5 > <Input type=submit name="g" value="提交"> </FORM> </td> </tr> </Table> </Center> </BODY></HTML> 编写查找到的会员显示页面 showLookedMember.jsp,源代码如下: <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="mybean.data.MemberInform" %> <jsp:useBean id="inform" type="mybean.data.MemberInform" scope="request"/> <Center> <HTML><BODY bgcolor=pink><%@ include file="head.txt" %></HEAD>
(table border=2> <tr> <h>会员名h>h>广告标愿/hXh>电话/h <th>eai1/h><th>广告词</h>th>广告照片/h, </tr> <tr> <td><isp:getProperty name="inform"property="logname"/></td> Ktd<jsp:getProperty name= inform property=phone//d <td><jsp:getProperty name="inform"property="email"/></td> (tdD<jsp:getProperty names=“inform°property="message'”/>(/td <tding src=image/<jsp:getProperty name="inform"property="pie"/>width=50 height=50> </imgX/td> (/table> </Center> (/BODY>×/HTL ◆servlet处理页面HandleDatabas.java,源码如下: package myservlet.control: ybean.data.: import com.sun.rowset. import java.sql.*: imoort iava.io.*: m0 rt iavar servlet inport javax.servlet.http.* publicclass HandleDatabase extends CachedRowSetImpl rowSet=null: public void init(ServletConfig config)throws ServletException {super.init(config): try Class.forName("com microsoft.sqlserver.jdbe.SQLServerDriver") catch(Exception e) public void doPost(HttpServletRequest request,HttpServletResponse response) hrows ServletException,IOException HttpSession session-request.getSession(true) Login logim=(ogin)(ogin):/获取用户登录时的Javabean boolean ok=true: if(login==null) 【ok=false response.sendRedirect("login jsp"): /重定向到登录页面 if(ok==true) continueDoPost(request,response)
<table border=2> <tr> <th>会员名</th><th>广告标题</th><th>电话</th> <th>email</th><th>广告词</th><th>广告照片</th> </tr> <tr> <td><jsp:getProperty name= "inform" property="logname" /></td> <td><jsp:getProperty name= "inform" property="advertiseTitle" /></td> <td><jsp:getProperty name= "inform" property="phone" /></td> <td><jsp:getProperty name= "inform" property="email" /></td> <td><jsp:getProperty name= "inform" property="message" /></td> <td><img src=image/<jsp:getProperty name="inform" property="pic"/> width=50 height=50> </img></td> </table> </Center> </BODY></HTML> servlet 处理页面 HandleDatabas.java,源码如下: package myservlet.control; import mybean.data.*; import com.sun.rowset.*; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HandleDatabase extends HttpServlet { CachedRowSetImpl rowSet=null; public void init(ServletConfig config) throws ServletException { super.init(config); try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(Exception e){} } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { HttpSession session=request.getSession(true); Login login=(Login)session.getAttribute("login"); //获取用户登录时的 Javabean boolean ok=true; if(login==null) { ok=false; response.sendRedirect("login.jsp"); //重定向到登录页面 } if(ok==true) { continueDoPost(request,response); }
throws ServletException,IOException HttpSession session=request.getSession(true): Connection con=null: Stringbuffer presentPageresult=noy stringbufferd ShowByPage showBean=null: ge)session.getAttribute("show) if (showBean==null) {showBean=-new ShowByPage():∥创建Javabean对象 session.setAttribute("show",showBean); catch(Exception exp) showBean=new ShowByPage ( session.setattribute("show".showBean) showBean.setPageSize(3) /每页显示3条记录 int shoPage=-Integer.ar seInt etParameter(showPage)) if(showPage>showBean.getPageAlICount() showPage=1: if(shouPages=0) int pageSize-showBean.getPageSize( String uri="jdbc:sqlserver://127.0.0.1:1433:DatabaseNane=Friend"; try{con=DriverManager.getConnection (uri,"sa","sa"): Statement sal=con.createstatement (ResultSet.TYPE SCROLL SENSITIVE Resultset CONCIR READ ONLY) ResultSet rs-sqlexecuteQuery("SELECT FROM member") rowSet=new CachedRowSetImpl0:/创建行集对象 rowSet.populate(rs) con.closeO: //关闭连接 showBean.SetRowSet(rowSet)://数据在储在shovBean中 rowSet.last( int mrowSe getRow ( /总行数 int n=pageSize: int pageAllCount=((mn)==0)?(m/n):(m/n+1) showBean.setPageAlICount(pageAlICount):/数据存储在showean中 showBean.setPresentPageResult(presentPageResult) catch (SQLException exp) RequestDispatcher dispatcher=
} public void continueDoPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { HttpSession session=request.getSession(true); Connection con=null; StringBuffer presentPageResult=new StringBuffer(); ShowByPage showBean=null; try{ showBean=(ShowByPage)session.getAttribute("show"); if(showBean==null) { showBean=new ShowByPage(); //创建 Javabean 对象 session.setAttribute("show",showBean); } } catch(Exception exp) { showBean=new ShowByPage(); session.setAttribute("show",showBean); } showBean.setPageSize(3); //每页显示 3 条记录 int showPage=Integer.parseInt(request.getParameter("showPage")); if(showPage>showBean.getPageAllCount()) showPage=1; if(showPage<=0) showPage=showBean.getPageAllCount(); showBean.setShowPage(showPage); int pageSize=showBean.getPageSize(); String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName= Friend"; try{ con=DriverManager.getConnection(uri,"sa","sa"); Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs=sql.executeQuery("SELECT * FROM member"); rowSet=new CachedRowSetImpl(); //创建行集对象 rowSet.populate(rs); con.close(); //关闭连接 showBean.setRowSet(rowSet); //数据存储在 showBean 中 rowSet.last(); int m=rowSet.getRow(); //总行数 int n=pageSize; int pageAllCount=((m%n)==0)?(m/n):(m/n+1); showBean.setPageAllCount(pageAllCount);//数据存储在 showBean 中 presentPageResult=show(showPage,pageSize,rowSet); showBean.setPresentPageResult(presentPageResult); } catch(SQLException exp){} RequestDispatcher dispatcher=
request.getRequestDispatcher("showAlIMember.jsp"):// dispatcher.forward(request,response); show(int page,int pageSize,CachedRoSet roSet) StringBuffer str=new StringBuffer(): try{rowSet.absolute((page-1)*pageSize+1): for(int i=l:i<=pageSize:i++) (st append() str.append("td"+roSet.gotString(1)/td>) str.append("<td>"+rowSet.getString(3)+</td>") str.append("<td>"+rowSet.getstring(4)+</td>"): str.append("<td>"+rowSet.getString(5)+"</td>"): str.append(.geString(6)d ge/+ro Set.getString(7) +width=100 height=100/>" str.append(ts) str.append("</tr>"): rowSet.next () catch(SQLException exp)[ return str: public void doGet(HttpServletRequest request.HttpServletResponse response) HttpSession session-request.getSession(true) Login login=(Login)session.getAttribute("login)://获取用户登录时的Javabean boolean ok=true: if(login==null) ok=false: sendRedirect("login.jsp) /重定向到登录页面 if(ok==true) continueDoGet(request.response) public void response) throws ServletException,IOException MemberInform inform-new MemberInform(: request.setAttribute("inforn",inform) String logname ection con-nul1 String uri="jdbc:sqlserver://127.0.0.1:1433:DatabaseName=Friend" try{con=DriverManager.getConnection(uri,"sa","sa"): Statement sql=con.createStatement():
request.getRequestDispatcher("showAllMember.jsp");//转发 dispatcher.forward(request, response); } public StringBuffer show(int page,int pageSize,CachedRowSetImpl rowSet) { StringBuffer str=new StringBuffer(); try{ rowSet.absolute((page-1)*pageSize+1); for(int i=1;i<=pageSize;i++) { str.append("<tr>"); str.append("<td>"+rowSet.getString(1)+"</td>"); str.append("<td>"+rowSet.getString(3)+"</td>"); str.append("<td>"+rowSet.getString(4)+"</td>"); str.append("<td>"+rowSet.getString(5)+"</td>"); str.append("<td>"+rowSet.getString(6)+"</td>"); String s="<img src=image/"+rowSet.getString(7)+" width=100 height=100/>"; str.append("<td>"+s+"</td>"); str.append("</tr>"); rowSet.next(); } } catch(SQLException exp){} return str; } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { HttpSession session=request.getSession(true); Login login=(Login)session.getAttribute("login"); //获取用户登录时的 Javabean boolean ok=true; if(login==null) { ok=false; response.sendRedirect("login.jsp"); //重定向到登录页面 } if(ok==true) { continueDoGet(request,response); } } public void continueDoGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { MemberInform inform=new MemberInform(); request.setAttribute("inform",inform); String logname=request.getParameter("logname"); Connection con=null; String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName= Friend"; try{ con=DriverManager.getConnection(uri,"sa","sa"); Statement sql=con.createStatement();