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

📄

📁 清华版的jsp基础程序 对新手很有用
💻
📖 第 1 页 / 共 2 页
字号:
第7章 基于会员制的网络交友
head.txt:
<table align="center" border="0" width="790" height="12" bgcolor=cyan cellspacing="0">
  <tr>
<td width="100%">
<a href="<%=response.encodeURL("showMember.jsp")%>">浏览会员</a> | 
<a href="<%=response.encodeURL("register.jsp")%>">会员注册</a> | 
<a href="<%=response.encodeURL("login.jsp")%>">会员登录   </a> |
<a href="<%=response.encodeURL("find.jsp")%>">查找会员     </a> | 
<a href="<%=response.encodeURL("message.jsp")%>">留言板</a>|
<a href="<%=response.encodeURL("publicMessage.jsp")%>">查看公共留言</a>|
<a href="<%=response.encodeURL("secretMessage.jsp")%>">查看私人留言</a>|
<a href="<%=response.encodeURL("modifyPassword.jsp")%>">修改密码 </a> |
<a href="<%=response.encodeURL("modifyMessage.jsp")%>">修改个人信息 </a>|
 </td> 
 </tr>
 </table></table>

主页面(效果如图7.5所示)
welcomeFriend.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor =yellow>
<%@ include file="head.txt" %>
<H1>
 <CENTER> 欢迎网上结交朋友</CENTER>
</BODY>
</HTML>

注册页面使用的beans
Register.java:
package tom.jiafei;
import java.sql.*;
public class Register
{   String  logname="",
           password="",
           sex="",age="",
           email="",
           phone="",
           address="",
           message="";
    String backNews;//用来返回注册是否成功。
     Connection con;
    Statement sql; 
    ResultSet rs;
    public Register()
    {  //加载桥接器:
       try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
       catch(ClassNotFoundException e){}
    }
  //设置属性值、获取属性值的方法:
   public void setLogname(String name)
    {  logname=name;
    }
   public String getLogname()
    {return logname;
    }
   public void setAge(String n)
    {  age=n;
    }
   public String getAge()
    {return age;
    }
   public void setSex(String s)
    {  sex=s;
    }
   public String getSex()
    {return sex;
    }
   public void setPassword(String pw)
    {  password=pw;
    }
    public String getPassword()
    {return password;
    }
   public void setEmail(String em)
    {  email=em;
    }
    public String getEmail()
    {return email;
    }
   public void setPhone(String ph)
    {  phone=ph;
    }
   public String getPhone()
    {return phone;
    }
   public void setAddress(String ad)
    {  address=ad;
    }
   public String getAddress()
    {return address;
    }
   public String getMessage()
    {return message;
    } 
   public void setMessage(String m)
    { message=m;
    } 
   public String getBackNews()
    {return backNews;
    }
   public void setBackNews(String s)
    {backNews=s;
    } 
   //添加记录到数据库的member表:
   public void addItem()
    {try{
        con=DriverManager.getConnection("jdbc:odbc:friend","","");
        sql=con.createStatement();
        if(phone.length()==0) //如果用户没有提供电话
           {phone="无";
           }
        if(email.length()==0) //如果用户没有提供Email
           {email="无";
           }
        if(address.length()==0) //如果用户没有提供地址
           {address="无";
           }
        if(message.length()==0) //如果用户没有提供信息
           {message="无";
           }
        String s=
        "'"+logname+"'"+","+"'"+password+"'"+","+"'"+sex+"'"+","+
        "'"+age+"'"+","+ "'"+phone+"'"+","+"'"+email+"'"+","+
        "'"+address+"'"+","+"'"+message+"'";
        String condition="INSERT INTO member VALUES"+"("+s+")";
        sql.executeUpdate(condition);
        backNews="注册成功了";
        con.close();
       }
     catch(SQLException e)
       {//如果用户使用member表中已经存在的名字,或使用了空字段值,就会发生SQL异常
        backNews="你还没有注册,或该用户已经存在,请你更换一个名字";
       }
    }
  
}

会员注册页面(效果如图7.6所示)
register.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="tom.jiafei.Register" %> 
<%! //处理字符串的方法:
  public String codeString(String s)
    { String str=s;
       try{byte b[]=str.getBytes("ISO-8859-1");
           str=new String(b);
           return str;
         }
      catch(Exception e)
         { return str;
         }
    }
%>
<HTML>
<BODY bgcolor=yellow><Font size=1>
<%@ include file="head.txt"%>
<Font size=1>
<BR>输入您的信息,会员名字不允许含有空格,带*号项必须填写,:
<%String str=response.encodeURL("register.jsp");
%>
<FORM action="<%=str%>" Method="post">
<BR>会员名称<Input type=text name="logname">*
    设置密码<Input type=password name="password">*
<BR>性别(*)<Input type=radio  name="sex" checked="o" value="男">男
             <Input type=radio  name="sex" value="女">女
<BR>会员年龄<Input type=text name="age" value="0">*
    电子邮件<Input type=text name="email">
<BR>联系电话<Input type=text name="phone">.
    通信地址<Input type=text name="address"> 
<BR>输入您的简介和交友要求
<BR><TextArea name="message" Rows="4" Cols="57">
    </TextArea>
<BR><Input type=submit name="g" value="提交">
</Form>
<jsp:useBean id="memberlogin" class="tom.jiafei.Register" scope="request" >
</jsp:useBean>
 <%  
   String logname="",sex="",age="", password="",
          email="",phone="",address="" ,message="";
   int n=0; //用来验证年龄的变量。
   //提交信息后,进行注册操作:
   if(!(session.isNew()))
    { logname=request.getParameter("logname");
      if(logname==null)
        {logname="";
        }
     logname=codeString(logname);
     //判断名字是否含有空格:
      int space=logname.indexOf(" ");
       if(space!=-1)
         {response.sendRedirect("register.jsp");
         }
     password=request.getParameter("password");
         if(password==null)
        {password="";
        }
     password=codeString(password);
     sex=request.getParameter("sex");
         if(sex==null)
        {sex="";
        }
     sex=codeString(sex);
    age=request.getParameter("age");
      if(age==null)
          {age="0";
          }
      age=codeString(age); 
     try{ n=Integer.parseInt(age);
        }
     catch(NumberFormatException e)
        {n=0;
        }
     email=request.getParameter("email");
         if(email==null)
        {email="";
        }
     email=codeString(email); 
     phone=request.getParameter("phone");
         if(phone==null)
        {phone="";
        }
     phone=codeString(phone); 
     address=request.getParameter("address");
        if(address==null)
        {address="";
        }
     address=codeString(address); 
    message=request.getParameter("message");
        if(message==null)
        {message="";
        }
     message=codeString(message); 
   }
 %>
 <%  //检查用户是否按要求填写了必要的信息:用户名、年龄、密码, 
      //为了以后处理汉字方便,我们采用了第1种方式初始化beans 
    boolean b=!(logname.equals(""))&&!(password.equals(""))&&(n<=150)&&(n>=0);
  if(b)
   { out.print(logname);%>  
     <jsp:setProperty  name="memberlogin"  property="logname"  value="<%=logname%>" />
     <jsp:setProperty  name="memberlogin"  property="password"  value="<%=password%>" />
     <jsp:setProperty  name="memberlogin"  property="sex" value="<%=sex%>" />
     <jsp:setProperty  name="memberlogin"  property="age" value="<%=age%>" />
     <jsp:setProperty  name="memberlogin"  property="email" value="<%=email%>" />
     <jsp:setProperty  name="memberlogin"  property="phone"  value="<%=phone%>" />
     <jsp:setProperty  name="memberlogin"  property="address" value="<%=address%>" />
     <jsp:setProperty  name="memberlogin"  property="message" value="<%=message%>" />
    <% 
     memberlogin.addItem();
    }
   else
    {out.print("您还没有填写信息,或信息填写不完整、年龄或名字不正确");
    }
 %>
  <% //返回注册是否成功的信息
     if(!(session.isNew()))
    {
  %>
    <jsp:getProperty  name= "memberlogin"  property="backNews" />
  <%
    } 
 %>
</Body>
</HTML>

登录页面使用的beans
Login.java:
package tom.jiafei;
import java.sql.*;
public class Login
{   String logname,
           password,
           success="false",
           message=""; //用来返回登录是否成功的消息。 
    Connection con;
    Statement sql; 
    ResultSet rs;
    public Login()
    {  //加载桥接器:
       try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
       catch(ClassNotFoundException e){}
    }
   //设置属性值、获取属性值的方法:
   public void setLogname(String name)
    {  logname=name;
    }
   public String getLogname()
    {return logname;
    }
   public void setPassword(String pw)
    {  password=pw;
    }
    public String getPassword()
    {return password;
    }
   public String getSuccess()
    {return success;
    }
   //查询数据库的member表:
   public String getMessage()
    {try{
         con=DriverManager.getConnection("jdbc:odbc:friend","","");
         sql=con.createStatement();
          String condition=
         "SELECT * FROM member WHERE logname = "+"'"+logname+"'";
          rs=sql.executeQuery(condition);
          int rowcount=0;
          String ps=null;
         while(rs.next())
           { rowcount++;
             logname=rs.getString("logname");
                     ps=rs.getString("password");
           } 
         if((rowcount==1)&&(password.equals(ps)))
           { message="ok";
             success="ok";
           }
        else
           {message="输入的用户名或密码不正确";
            success="false";
           }
        con.close();
        return message;
       }
     catch(SQLException e)
       { message="输入的用户名或密码不正确";
         success="false";
         return message;
       }
    }
}

会员登录页面(效果如图7.7所示)
login.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="tom.jiafei.Login" %> 
<%! //处理字符串的方法:
  public String codeString(String s)
    { String str=s;
       try{byte b[]=str.getBytes("ISO-8859-1");
           str=new String(b);
           return str;
         }
      catch(Exception e)
         { return str;
         }
    }
%>
<HTML>
<BODY bgcolor=cyan ><Font size=1>
<%@ include file="head.txt" %>
<Font size=1>
<P>输入用户名和密码:
<%String str=response.encodeURL("login.jsp");
%>
<FORM action="<%=str%>" Method="post">
<BR>登录名称<Input type=text name="logname">
<BR>输入密码<Input type=password name="password">
<BR><Input type=submit name="g" value="提交">
</Form>
<jsp:useBean id="login" class="tom.jiafei.Login" scope="session" >
</jsp:useBean>
 <% //提交信息后,验证信息是否正确:
   String  message="",
           logname="",

⌨️ 快捷键说明

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