⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 清华版的jsp基础程序 对新手很有用
💻
📖 第 1 页 / 共 2 页
字号:
           password="";
    if(!(session.isNew()))
    {logname=request.getParameter("logname");
        if(logname==null)
           {logname="";
           }
     logname=codeString(logname);
     password=request.getParameter("password");
        if(password==null)
           {password="";
           }
     password=codeString(password);
   }
 %>
<%
   if(!(logname.equals("")))
    {
   %>
     <jsp:setProperty  name= "login"  property="logname"  value="<%=logname%>" />
     <jsp:setProperty  name= "login"  property="password"  value="<%=password%>" />
   <%
     message=login.getMessage(); //获取返回的验证信息。
        if(message==null)
          {message="";
          }  
   }
 %>
 <%  if(!(session.isNew()))
      { if(message.equals("ok"))
          {String meb=response.encodeURL("showMember.jsp");
           response.sendRedirect(meb); 
          }
        else
          {out.print(message);
          }
      }
  %>
</Body>
</HTML>

浏览会员页面使用的beans
PageNumber.java:
package tom.jiafei;
public class PageNumber
{  int  rowCount=1,   //总的记录数。
        pageSize=1,  //每页显示的记录数。
        showPage=1,  //设置欲显示的页码数。
        pageCount=1; //分页之后的总页数。
   public void setRowCount(int n)
       { rowCount=n;
       } 
   public int getRowCount()
       { return rowCount;
       }
   public void setPageCount(int r,int p)
       { rowCount=r;
         pageSize=p;
         int n=(rowCount%pageSize)==0?(rowCount/pageSize):(rowCount/pageSize+1) ;
         pageCount=n;
       } 
   public int getPageCount()
       {return pageCount;
       }
   public void setShowPage(int n)
       {showPage=n;
       }
   public int getShowPage()
       { return showPage;
       }
   public void setPageSize(int n)
       { pageSize=n;
       }
   public int getPageSize()
       { return pageSize;
       }
}

浏览会员页面(效果如图7.8、7.9所示)
showMemeber.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="tom.jiafei.Login" %>
<%@ page import="tom.jiafei.PageNumber" %>
<%@ page import="java.io.*" %>
<jsp:useBean id="handlePage" class="tom.jiafei.PageNumber" scope="session" >
</jsp:useBean>
<jsp:useBean id="login" class="tom.jiafei.Login" scope="session" >
</jsp:useBean>
<% //如果客户直接进入该页面将被转向登录页面。
   if(session.isNew())
    {response.sendRedirect("login.jsp"); 
    }
   //如果没有成功登录将被转向登录页面
   String success=login.getSuccess();
         if(success==null)
         {success="";
         } 
   if(!(success.equals("ok")))
     {response.sendRedirect("login.jsp"); 
     }
%>
<HTML>
<BODY ><Font size=1>
<%@ include file="head.txt" %>
<P> 会员列表:
 <%! //声明一个共享的连接对象:
    Connection con=null;
    //显示数据库记录的方法:
    public void showList(ResultSet rs,javax.servlet.jsp.JspWriter  out,int n,String find)
     {try
      { 
        out.print("<Table Border>");
         out.print("<TR>");
          out.print("<TH width=50>"+"<Font size=1>"+"会员名"+"</FONT>");
          out.print("<TH width=70>"+"<Font size=1>"+"性别"+"</FONT>");
          out.print("<TH width=70>"+"<Font size=1>"+"email"+"</FONT>");
          out.print("<TH width=70>"+"<Font size=1>"+"浏览详细信息"+"</FONT>");
         out.print("</TR>");
       for(int i=1;i<=n;i++)
       {  
          String logname=rs.getString("logname"); 
          String email=rs.getString("email");   
           out.print("<TR>");
             out.print("<TD >"+logname+"</TD>"); 
             out.print("<TD >"+rs.getString("sex")+"</TD>");
             out.print("<TD >"+email+"</TD>");
            //在每个会员的后面显示一个表单,该表单将内容提交到find.jsp,
            //以便查看该会员的详细信息:
            String s1="<Form action="+find+" method=get>";
            String s2="<input type=hidden name=logname value="+logname+">";
            String s3="<input type=submit value=详细信息></FORM> ";
            String s=s1+s2+s3;
             out.print("<TD >"+s+"</TD>");
           out.print("</TR>") ;
            rs.next();    
        }
       out.print("</Table>");
      }
      catch(Exception e1) {}
    }
  %>
 <% 
    Statement sql=null; 
    ResultSet rs=null; 
    int rowCount=0;   //总的记录数。
    String logname="";
     //第一个客户负责建立连接对象:
    if(con==null)
      { try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           }
           catch(ClassNotFoundException e)
           {out.print(e);
           }
        try
          {con=DriverManager.getConnection("jdbc:odbc:friend","","");
           sql=
     con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
           rs=sql.executeQuery("SELECT * FROM member"); //返回可滚动的结果集。
            rs.last();  //将游标移动到最后一行。
           int number=rs.getRow();//获取最后一行的行号。
            rowCount=number;  //获取记录数。
           handlePage.setPageSize(3); //设置每页显示的记录数。
           handlePage.setShowPage(1); //设置欲显示的页码数。
           handlePage.setPageCount(rowCount,handlePage.getPageSize());//计算总页数。
           out.print("共有"+handlePage.getPageCount()+"页,");
           out.print("每页显示"+ handlePage.getPageSize()+"条记录");   
          }
        catch(SQLException e) 
          {out.print(e);
          }
      }
     //其它客户通过同步块使用这个连接:
     else
      { synchronized(con)
        {  try {   sql=
  con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
           rs=sql.executeQuery("SELECT * FROM member");  //返回可滚动的结果集。
            rs.last(); //将游标移动到最后一行。
           int number=rs.getRow(); //获取最后一行的行号。
            rowCount=number; //获取记录数。
           handlePage.setPageSize(3); //设置每页显示的记录数。
           handlePage.setShowPage(1); //设置欲显示的页码数。
            handlePage.setPageCount(rowCount,handlePage.getPageSize());//计算总页数。
           out.print("共有"+handlePage.getPageCount()+"页,");  
           out.print("每页显示"+ handlePage.getPageSize()+"条记录"); 
          }
        catch(SQLException e) 
          {out.print(e);
          }
        }
      }
  %> 
  <%--选择显示某页的表单 --%>
<%String str=response.encodeURL("showMember.jsp");
  String find=response.encodeURL("find.jsp");
%>
 <Form action="<%=str%>" method="post" >
  输入欲要显示的页<Input type="text"  name="ok" value="1">
  <Input type="submit" value="submit">
  </FORM>
 <% //获取表单提交的信息:
     String s=request.getParameter("ok");
       if(s==null)
          {s="1";
          }
     int m=Integer.parseInt(s);
          handlePage.setShowPage(m);
          out.print("目前显示第"+handlePage.getShowPage()+"页");
          int n=handlePage.getShowPage();
           //将游标移到:
          rs.absolute((n-1)*handlePage.getPageSize()+1);
          showList(rs,out,handlePage.getPageSize(),find); //显示该页的内容。
 %>
</FONt>
</BODY>
</HTML>

查找会员页面使用的beans
HandleMessage.java:
package tom.jiafei;
import java.io.*;
public class HandleMessage
{ String content=null;
  public void setContent(String s)
    {content=s; 
    }    
 //获取属性content的值,为了能显示HTML或JSP源文件,需进行流的处理技术:
 public String getContent()
   { try{ StringReader in=new StringReader(content) ;//指向字符串的字符流。
          PushbackReader push=new PushbackReader(in);
          StringBuffer stringbuffer=new StringBuffer(); 
          int c; 
          char b[]=new char[1];              
          while ( (c=push.read(b,0,1))!=-1)//读取1个字符放入字符数组b。 
            { String s=new String(b);
              if(s.equals("<"))        //回压的条件  
               {  push.unread('&');
                  push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
                  stringbuffer.append(new String(b));
                  push.unread('L');
                  push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
                  stringbuffer.append(new String(b));
                  push.unread('T');
                  push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
                  stringbuffer.append(new String(b));
                }
              else if(s.equals(">"))        //回压的条件  
               {  push.unread('&');
                  push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
                  stringbuffer.append(new String(b));
                  push.unread('G');
                  push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
                  stringbuffer.append(new String(b));
                  push.unread('T');
                  push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
                  stringbuffer.append(new String(b));
               }
              else if(s.equals("\n"))        
               {  stringbuffer.append("<BR>");
               }
              else
               { stringbuffer.append(s);
               }
            }
          push.close();
          in.close();
          return  content=new String(stringbuffer);  
        }
   catch(IOException e)
      {return content=new String("不能读取内容");
      }   
 }
}

查找会员页面(效果如图7.10所示)
find.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="tom.jiafei.Login" %>
<%@ page import="tom.jiafei.HandleMessage" %>
<jsp:useBean id="login" class="tom.jiafei.Login" scope="session" >
</jsp:useBean>
<jsp:useBean id="handle" class="tom.jiafei.HandleMessage" scope="page" >
</jsp:useBean>
<%!//处理字符串的一个常用方法:
    public String getString(String s)
     { if(s==null) s="";
       try {byte a[]=s.getBytes("ISO-8859-1");
            s=new String(a);
           }
       catch(Exception e)
           {  }
       return s;
     }
 %>
<% //如果客户直接进入该页面将被转向登录页面。
   if(session.isNew())
    {response.sendRedirect("login.jsp"); 
    }
   //如果没有成功登录将被转向登录页面
   String success=login.getSuccess();
         if(success==null)
         {success="";
         } 
   if(!(success.equals("ok")))
     {response.sendRedirect("login.jsp"); 
     }
%>
<% //获取本页面或showMember页面表单提交的会员名字:
     String logname=request.getParameter("logname");
      if(logname==null)
        {logname="";
        }
    logname=getString(logname);
%>
<HTML>
<BODY  bgcolor=pink ><Font size=1>
<%@ include file="head.txt" %>
<%String find=response.encodeURL("find.jsp");
%>
<FORM action="<%=find%>" Method="post">
<BR>输入你想浏览的会员的名字:
<BR><Input type=text name="logname" >
<BR><Input type=submit name="g" value="提交">
</FORM>
<%    try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         }
     catch(ClassNotFoundException event){}
    //验证身份:
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
    boolean modify=false;
    try{ con=DriverManager.getConnection("jdbc:odbc:friend","","");
         sql=con.createStatement();
         String condition="SELECT * FROM member WHERE logname = "+"'"+logname+"'";
         rs=sql.executeQuery(condition);
         while(rs.next())
           { StringBuffer str=new StringBuffer();
             String 会员名=rs.getString("logname"),
             sex=rs.getString("sex"),
             age=rs.getString("age"),
             email=rs.getString("email"),
             phone=rs.getString("phone"),
             address=rs.getString("address"),
             message=rs.getString("message");
             str.append("会员名字:"+会员名+"\n");
             str.append("性别:"+sex+"\n");
             str.append("年龄:"+age+"\n");
             str.append("email:"+email+"\n");
             str.append("电话:"+phone+"\n");
             str.append("地址:"+address+"\n");
             str.append("主要简历和交友条件:"+message+"\n");
             //为了能显示会员信息中的原始HTML标记信息,信息做回压流处理:
             String content=new String(str);
             handle.setContent(content);
             out.print(handle.getContent());
           }
        }
   catch(SQLException e1) 
        { out.print("<BR>查找失败");
        }
%>
</FONT> 
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -