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

📄 第5章(2).txt

📁 第一章JSP简介 例子1(效果如图1.1所示) Example1_1.jsp: < @ page contentType="text/html charset=GB2312" &gt
💻 TXT
📖 第 1 页 / 共 2 页
字号:
       sql=con.createStatement();
       String condition="SELECT * FROM verify WHERE 帐号 = "+"'"+account+"'";
       rs =sql.executeQuery(condition);
       while(rs.next())
            { String n=rs.getString("帐号");
              String s=rs.getString("密码");
              if(account.equals(n)&&secret.equals(s))
                { //将帐号和密码存入session对象,以备在输入界面:inputMessage.jsp中使用:
                   session.setAttribute("account",account);
                   session.setAttribute("secret",secret);
                 //为了防止客户浏览器限制了Cooker的使用,需对连接进行重定向处理:
                 String s1=response.encodeRedirectURL("inputMessage.jsp");
                 String s2=response.encodeRedirectURL("inputResult.jsp");
                 //连接到基本信息输入页面:
                 response.sendRedirect(s1);
                }
            }
       if(!(session.isNew()))
           { out.print("<BR>您输入的帐号或密码不正确"+account+":"+secret);
           }
      }
    catch(SQLException e1) {}
%>
<BR><A HREF="main.jsp">返回主页</A>
</FONT> 
</BODY>
</HTML>

基本信息输入页面(效果如图5.45所示)
inputMessage.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY  bgcolor=pink ><Font size=1>
<P>在该页面输入若干个学生的基本信息,<BR>或直接连接到成绩输入页面。
 <%!//处理字符串的一个常用方法:
    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;
     }
 %>
<% //为了防止客户浏览器限制了Cooker的使用,需对连接进行重定向处理:
   String s1=response.encodeRedirectURL("inputMessage.jsp");
   String s2=response.encodeRedirectURL("inputResult.jsp");
%>
<% //为了防止客户直接进入该页面,首先从session对象获取密码和帐号信息:
    String account="",secret="";
    if(session.isNew())
       {//如果直接进入该页面就再连接到登录页面:
         response.sendRedirect("login.jsp"); 
       }
    else
       { account=(String)session.getAttribute("account");
         secret=(String)session.getAttribute("secret");
         secret=getString(secret); 
         account=getString(account);
       }
   //连接到数据库验证帐号和密码:
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
    boolean boo=false;
    try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
    catch(ClassNotFoundException event){}
    try
      {con=DriverManager.getConnection("jdbc:odbc:manage","","");
       sql=con.createStatement();
       String condition="SELECT * FROM verify WHERE 帐号 = "+"'"+account+"'";
       rs =sql.executeQuery(condition);
       while(rs.next())
            { String n=rs.getString("帐号");
              String s=rs.getString("密码");
              if(account.equals(n)&&secret.equals(s))
                {boo=true; break;
                }
            }
      }
    catch(SQLException e1) {}
   //如果帐号密码正确,就显示输入学生基本信息的表单界面:
   if(boo)
    {out.print("<FORM action= "+s1+" method=post>");
     out.print("<P>输入学生的基本信息:");
     out.print("<BR>学号:");
     out.print("<Input type=text name=number1>");
     out.print("<BR>姓名:");
     out.print("<Input type=text name=name>");
     out.print("<BR>专业:");
     out.print("<Input type=text name=zhuanye>");
     out.print("<BR>年级:");
     out.print("<Input type=text name=grade>");
     out.print("<BR> <Input type=submit value=提交>");
     out.print("</FORM>");
    }
   else
    {response.sendRedirect("login.jsp");
    }
%>
<% //获取基本信息存入数据库中的"基本信息"表中:
   String number1=request.getParameter("number1"), 
          name   =request.getParameter("name"),
          zhuanye=request.getParameter("zhuanye"),
          grade  =request.getParameter("grade");
   if(number1==null)
      {number1="????????";
      }
   number1=getString(number1);
   number1=number1.trim();
   name   =getString(name); 
   zhuanye=getString(zhuanye);
   grade  =getString(grade);   
   String  basicmessage=
   "INSERT INTO 基本信息 VALUES"+"("+"'"+number1+"','"+name+" ',' "+
                                      zhuanye+" ',' "+grade+" ' "+")";
      if(!(number1.startsWith("?")))
        { //首先查找基本信息表中是否已存在该学生的信息:
          rs=sql.executeQuery("SELECT * FROM 基本信息 WHERE 学号 ="+" '"+number1+"' " ); 
          //如果该学号的学生已经存在,就转入成绩输入页面:
          boolean line=rs.next();
          //通过line判断结果集是否有记录
           if(line==true)
              {  out.print("该考号已经存在,请再录入其它学生的基本信息");
                 out.print("<BR>也可以点击按钮:进入成绩录入页面");
                 //显示该生的基本信息:
                 out.print("<BR>学号"+rs.getString(1)) ;
                 out.print("<BR>姓名"+rs.getString(2)) ;
                 out.print("<BR>专业"+rs.getString(3)) ;
                 out.print("<BR>年级"+rs.getString(4)) ;
              }
          //如果该学号的学生不存在,就将信息写入基本信息表,再转入成绩输入页面:
         else 
             {sql.executeUpdate(basicmessage);
              out.print("<BR>该学生的信息已录入成功,请再录入其它学生的基本信息"); 
              out.print("<BR>也可以点击按钮:进入成绩录入页面");
             }
        }
     else
        {out.print("必须输入学号,学号不可以用?开头");
        }
    con.close(); 
 %>
<FORM action=<%=s2%>>
<P>点击按钮连接到学生成绩输入页面:
<BR><Input type="submit" value="连接到学生成绩输入页面">
<BR><A HREF="main.jsp">返回主页</A>
</BODY>
</HTML>

成绩录入页面(效果如图5.46所示)
inputResult.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY  bgcolor=yellow ><Font size=1>
 <%!//处理字符串的一个常用方法:
    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;
     }
 %>
<% String s1=response.encodeRedirectURL("inputMessage.jsp");
   String s2=response.encodeRedirectURL("inputResult.jsp");
%>
<% //为了防止客户直接进入该页面,首先从session对象获取密码和帐号信息:
    String account="",secret="";
    if(session.isNew())
       {//如果直接进入该页面就连接到登录页面:
         response.sendRedirect("login.jsp"); 
       }
    else
       { account=(String)session.getAttribute("account");
         secret=(String)session.getAttribute("secret");
         secret=getString(secret); 
         account=getString(account);
       }
//连接到数据库验证帐号和密码:
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
    boolean boo=false;
    try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
    catch(ClassNotFoundException event){}
    try
      {con=DriverManager.getConnection("jdbc:odbc:manage","","");
       sql=con.createStatement();
       String condition="SELECT * FROM verify WHERE 帐号 = "+"'"+account+"'";
       rs =sql.executeQuery(condition);
       while(rs.next())
            { String n=rs.getString("帐号");
              String s=rs.getString("密码");
              if(account.equals(n)&&secret.equals(s))
                {boo=true; break;
                }
            }
      }
    catch(SQLException e1) {}
   //如果帐号密码正确,就显示输入成绩的表单界面:
  if(boo)
    {out.print("<P>输入学生的考试科目、成绩等信息:");
     out.print("<FORM action="+s2+" method=post>");
     out.print("<BR>学号:"); 
     out.print("<Input type=text name=number2>");
     out.print("<BR>科目:");
     out.print("<Input type=text name=subject>");
     out.print("<BR>成绩:");
     out.print("<Input type=text name=result>");
     out.print("<BR> <Input type=submit value=提交>");
     out.print("</FORM>");
    }
   else
    {response.sendRedirect("login.jsp");
    }
%>
<%     String number2=request.getParameter("number2"), 
        subject=request.getParameter("subject"),
        result=request.getParameter("result");
        if(number2==null)
          {number2="########";
          }
         number2=getString(number2);
         subject=getString(subject); 
         result=getString(result);
         number2=number2.trim();
    //从"基本信息"表中查找学号是nunumber2的记录:
         String basicmessage=
         "SELECT * FROM 基本信息 WHERE 学号 = "+" '"+number2+"'";
    try {  sql=con.createStatement();
           rs=sql.executeQuery(basicmessage);
           boolean line=rs.next();
          //通过line判断结果集是否有记录,
          //如果没有该学生的基本信息就返回提示:
         if(line==false)
            {out.print("你还没有输入成绩呢,"); 
             out.print("如果你输入的学号不在<BR>学生的基本信息表中,");
             out.print("请点击按钮:连接到学生<BR>基本信息输入页面.");
            } 
         else
            {  //显示该生的基本信息:
               out.print("<BR>学号"+rs.getString(1)) ;
               out.print("<BR>姓名"+rs.getString(2)) ;
               out.print("<BR>专业"+rs.getString(3)) ;
               out.print("<BR>年级"+rs.getString(4)) ;
               String resultmessage=
               "INSERT INTO 成绩 VALUES"+"("+"'"+number2+"','"+subject+" ','"+result+"' "+")";
               sql.executeUpdate(resultmessage);
               out.print("<BR>成绩已被录入");
            }
        }
     catch(SQLException e)
        {out.print("<BR>"+subject+"该课程的成绩已经存在<BR>不允许重复录入");
        } 
  con.close(); 
%>
<FORM action=<%=s1%>>
<P>点击按钮连接到学生信息输入页面:
<BR><Input type="submit" value="连接到学生基本信息输入页面">
</FORM>
</BODY>
</HTML>

成绩查询页面(效果如图5.47所示)
inquire.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY bgcolor=orange ><Font size=1>
 <FORM action="" Method=post>
  输入学生的学号:
 <Input type=text name=number>
 <Input type=submit name=g vale=提交>
 </FORM> 
 <%!  Connection con=null; //声明一个共享的连接对象
  %>
 <% //获取学号:
    String studentNumber=request.getParameter("number");
        if(studentNumber==null)
          {studentNumber="?";
          }
    byte b[]=studentNumber.getBytes("ISO-8859-1");
    studentNumber=new String(b);
    Statement sql=null; 
    ResultSet rs=null; 
    if(con==null)
      { try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           }
           catch(ClassNotFoundException e)
           {out.print(e);
           }
        try {con=DriverManager.getConnection("jdbc:odbc:manage","","");
          String condition="SELECT * FROM 成绩 WHERE 学号 = "+"'"+studentNumber+"'";
                 rs =sql.executeQuery(condition);
          }
        catch(SQLException e) 
          {out.print(e);
          }
      }
     else
      { synchronized(con)
        {  try { sql=con.createStatement();
             String condition="SELECT * FROM 成绩 WHERE 学号 = "+"'"+studentNumber+"'";
                 rs =sql.executeQuery(condition);
               }
          catch(SQLException e) 
               {out.print(e);
               }
        }
      }
    try {  out.print("<Table Border>");
         out.print("<TR>");
            out.print("<TH width=100>"+"学号");
            out.print("<TH width=100>"+"课程名称");
            out.print("<TH width=50>"+"成绩");
        out.print("</TR>");
       while(rs.next())
       { out.print("<TR>");
           String  number=rs.getString(1); 
             out.print("<TD >"+number+"</TD>"); 
           String  subjectName=rs.getString(2); 
             out.print("<TD >"+subjectName+"</TD>");
           String  chengji=rs.getString("成绩"); 
             out.print("<TD >"+chengji+"</TD>"); 
        out.print("</TR>") ; 
        }
      out.print("</Table>");
    }
   catch(SQLException e1) {}
 %>
<BR><A HREF="main.jsp">返回主页</A>
</FONT>
</BODY>
</HTML>

修改密码页面(效果如图5.48所示)
modifySecret.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY  bgcolor=pink ><Font size=1>
 <P>修改密码,密码长度不能超过30个字符:
<FORM action="" Method="post">
<BR>输入您的帐号:
<BR><Input type=text name="account">
<BR>输入您的密码:
<BR><Input type=password name="secret">
<BR>输入您的新的密码:
<BR><Input type=text name="newSecret1">
<BR>请再输入一次新密码:
<BR><Input type=text name="newSecret2">
<BR><Input type=submit name="g" value="提交">
</FORM>
<%!//处理字符串的一个常用方法:
    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;
     }
 %>
<%  //获取提交的帐号:
    String account=request.getParameter("account");
           account=getString(account);
    //获取提交的密码:
    String secret=request.getParameter("secret");
           secret=getString(secret);
   //获取提交的新密码:
    String newSecret1=request.getParameter("newSecret1");
           newSecret1=getString(newSecret1);
    //获取提交的新密码:
    String newSecret2=request.getParameter("newSecret2");
       newSecret2=getString(newSecret2);
     try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
     catch(ClassNotFoundException event){}
    //查询数据库信息,验证身份:
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
    boolean modify=false;
    boolean ifEquals=false;
            ifEquals=(newSecret1.equals(newSecret2))&&(newSecret1.length()<=30);
    if(ifEquals==true)
        {try
           { con=DriverManager.getConnection("jdbc:odbc:manage","","");
             sql=con.createStatement();
             String condition="SELECT * FROM verify WHERE 帐号 = "+"'"+account+"'";
             rs =sql.executeQuery(condition);
             while(rs.next())
                 { String n=rs.getString("帐号");
                   String s=rs.getString("密码");
                   if(account.equals(n)&&secret.equals(s))
                    {  //修改密码:
                     modify=true;
                     out.print("您的密码已经更新");
                     String c=
         "UPDATE verify SET 密码 = "+"'"+newSecret1+"'"+" WHERE 帐号 = "+"'"+account+"'";
                     rs =sql.executeQuery(c);
                    }
                  }
           }
         catch(SQLException e1) {}
        } 
    else 
       { out.print("你两次输入的密码不一致或长度过大");
       }
    if(modify==false&&ifEquals==true)
     { out.print("<BR>您没有输入密码帐号或<BR>您输入的帐号或密码不正确"+account+":"+secret);
     }
%>
</FONT> 
</BODY>
</HTML>

⌨️ 快捷键说明

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