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

📄 第9章(2).txt

📁 第一章JSP简介 例子1(效果如图1.1所示) Example1_1.jsp: < @ page contentType="text/html charset=GB2312" &gt
💻 TXT
📖 第 1 页 / 共 2 页
字号:
例子13(效果如图9.17所示)
提交小说内容的JSP页面
story.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import ="java.io.*" %>
<HTML>
<BODY>
 <H4>小说已有内容:</H4>
<Font size=1 Color=blue>
 <% File f=new File("F:/2000","story.txt");
    //列出小说的内容:
        try{ RandomAccessFile file=
             new RandomAccessFile(f,"r");
             String temp=null;
             while((temp=file.readUTF())!=null)
                {  byte  d[]=temp.getBytes("ISO-8859-1");
                  temp=new String(d); 
                  out.print("<BR>"+temp);
                }
             file.close();
           }
        catch(IOException e){}
 %> 
    <P>请输入续写的新内容:
    <Form action="examples/servlet/Write" method=post name=form>
      <TEXTAREA name="content" ROWs="12" COLS=80 WRAP="physical">
      </TEXTAREA>
      <BR>
      <INPUT type="submit" value="提交内容" name="submit">
     </FORM>
</BODY>
</HTML>

续写文件的servlet源文件:
Write.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Write extends HttpServlet
{  //声明一个共享的文件和共享字符串:
    File f=null;
    String use="yes" ; 
  public void init(ServletConfig config) throws ServletException
    {super.init(config);
    }
  public  void doPost(HttpServletRequest request,HttpServletResponse response) 
                        throws ServletException,IOException
    {   //获取提交的文件内容:
       String content=request.getParameter("content");
        //获得一个向客户发送数据的输出流:
       PrintWriter out=response.getWriter();
       response.setContentType("text/html;charset=GB2312");//设置响应的MIME类型。
       out.println("<HTML>"); 
       out.println("<BODY>");
       f=new File("F:/2000","story.txt");
      //把对文件的操作放入一个同步块中,并通知
      //其它用户该文件正在被操作中:
      if(use.startsWith("yes"))
        { synchronized(f)
            {  use="using";
              try{
                  RandomAccessFile file=new RandomAccessFile(f,"rw");
                  file.seek(file.length()); //定位到文件的末尾。
                  file.writeUTF(content);
                  file.close();
                  use="yes";
                  out.print("<BR>"+"contents have been Write to file");
                 }
              catch(IOException e){}
            }
          }
       //如果该小说正在被续写,就通知客户等待:
      else 
          {out.print("file is writing,wait please");
          }  
       out.println("</BODY>");
       out.println("</HTML>");
    }
  public void doGet(HttpServletRequest request,HttpServletResponse response) 
                        throws ServletException,IOException
    {  
      doPost(request,response);
    }
}

例子14(效果如图9.18所示)
提交查询条件的JSP页面
condition.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=cyan>
<Font size=1>
<FORM action="examples/servlet/Inquire" Method="post">
 <P>成绩查询
 <P>输入姓名:
  <Input type=text name="name">
  <Input type=submit name="g" value="提交">
</Form>
<FORM action="examples/servlet/Inquire" Method="get" >
 <P>根据分数查询名单:<BR>
  英语分数在 
 <Input type=text name="englishmin" value=1>
 <Input type=text name="englishmax" value=100>
  之间
 <BR> 数学分数在 
 <Input type=text name="mathmin" value=1>
 <Input type=text name="mathmax" value=100>
  之间  <BR>
  <Input type=submit  value="提交">
</Form>
</BODY>
</HTML>

负责查询的servlet源文件:
Inquire.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class Inquire extends HttpServlet
{  public void init(ServletConfig config) throws ServletException
    {super.init(config);
    }
   //通过Post方法按名字查询记录:
  public  void doPost(HttpServletRequest request,HttpServletResponse response) 
                        throws ServletException,IOException
  { PrintWriter out=response.getWriter();
    response.setContentType("text/html;charset=GB2312");//设置响应的MIME类型。
    out.println("<HTML>"); 
    out.println("<BODY>");
  //获取提交的姓名:
    String name=request.getParameter("name");
    String number,xingming;
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
    int math,english,physics;
       try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
       catch(ClassNotFoundException e){}
       try
      {    con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
           sql=con.createStatement();
           String condition="SELECT * FROM students WHERE 姓名 = "+"'"+name+"'";
           rs=sql.executeQuery(condition);
        out.print("<Table Border>");
            out.print("<TR>");
            out.print("<TH width=100>"+"Number");
            out.print("<TH width=100>"+"Name");
            out.print("<TH width=50>"+"Math");
            out.print("<TH width=50>"+"English");
            out.print("<TH width=50>"+"Phsics");
            out.print("</TR>");
       while(rs.next())
           { out.print("<TR>");
             number=rs.getString(1); 
             out.print("<TD >"+number+"</TD>"); 
             xingming=rs.getString(2); 
             out.print("<TD >"+xingming+"</TD>");
             math=rs.getInt("数学成绩"); 
             out.print("<TD >"+math+"</TD>"); 
             english=rs.getInt("英语成绩"); 
             out.print("<TD >"+english+"</TD>");
             physics=rs.getInt("物理成绩"); 
             out.print("<TD >"+physics+"</TD>");   
            out.print("</TR>") ;          
            }
       out.print("</Table>");
      con.close();
     }
    catch(SQLException e)
          {
          }
      out.println("</BODY>");
      out.println("</HTML>");
  }
  //通过Get方法按成绩查询记录:
  public void doGet(HttpServletRequest request,HttpServletResponse response) 
                        throws ServletException,IOException
  { PrintWriter out=response.getWriter();
    response.setContentType("text/html;charset=GB2312");//设置响应的MIME类型。
    out.println("<HTML>"); 
    out.println("<BODY>");
   //获取提交的分数的最大值和最小值:
    String englishmax=request.getParameter("englishmax");
    String englishmin=request.getParameter("englishmin");
    String mathmax=request.getParameter("mathmax");
    String mathmin=request.getParameter("mathmin");
    String number,xingming;
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
    int math,english,physics;
       try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
       catch(ClassNotFoundException e){}
       try
      {    con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
           sql=con.createStatement();
           String eCondition="英语成绩 <= "+englishmax+" AND "+"英语成绩 >= "+englishmin;
           String mCondition="数学成绩 <= "+mathmax+" AND "+"数学成绩 >= "+mathmin;
           
           String condition="SELECT * FROM students WHERE "+mCondition+" and "+eCondition;
           rs=sql.executeQuery(condition);
       out.print("<Table Border>");
            out.print("<TR>");
            out.print("<TH width=100>"+"Number");
            out.print("<TH width=100>"+"Name");
            out.print("<TH width=50>"+"Math");
            out.print("<TH width=50>"+"English");
            out.print("<TH width=50>"+"Phsics");
            out.print("</TR>");
       while(rs.next())
           { out.print("<TR>");
             number=rs.getString(1); 
             out.print("<TD >"+number+"</TD>"); 
             xingming=rs.getString(2); 
             out.print("<TD >"+xingming+"</TD>");
             math=rs.getInt("数学成绩"); 
             out.print("<TD >"+math+"</TD>"); 
             english=rs.getInt("英语成绩"); 
             out.print("<TD >"+english+"</TD>");
             physics=rs.getInt("物理成绩"); 
             out.print("<TD >"+physics+"</TD>");   
            out.print("</TR>") ;          
            }
       out.print("</Table>");
      con.close();
     }
    catch(SQLException e)
     {
     }
    out.println("</BODY>");
    out.println("</HTML>");
  }
}

例子15
使用共享连接的servlet源文件
ShareInquire.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class ShareInquire extends HttpServlet
{  Connection con=null; //共享连接。
  public void init(ServletConfig config) throws ServletException
    {super.init(config);
      //加载JDBC-ODBC桥接器:
       try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
       catch(ClassNotFoundException e){}
    }
   //通过Post方法按名字查询记录:
  public  void doPost(HttpServletRequest request,HttpServletResponse response) 
                        throws ServletException,IOException
  { PrintWriter out=response.getWriter();
    response.setContentType("text/html;charset=GB2312");//设置响应的MIME类型。
    out.println("<HTML>"); 
    out.println("<BODY>");
    Statement sql=null; 
    ResultSet rs=null; 
    if(con==null) 
    { try
       {   //第一个用户负责建立连接con。
           con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
           sql=con.createStatement();
           String condition="SELECT * FROM students";
           rs=sql.executeQuery(condition);
        out.print("<Table Border>");
            out.print("<TR>");
            out.print("<TH width=100>"+"Number");
            out.print("<TH width=100>"+"Name");
            out.print("<TH width=50>"+"Math");
            out.print("<TH width=50>"+"English");
            out.print("<TH width=50>"+"Phsics");
            out.print("</TR>");
       while(rs.next())
           { out.print("<TR>");
             out.print("<TD >"+rs.getString(1)+"</TD>"); 
             out.print("<TD >"+rs.getString(2)+"</TD>");
             out.print("<TD >"+rs.getInt("数学成绩")+"</TD>"); 
             out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
             out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");   
             out.print("</TR>") ;          
            }
         out.print("</Table>");
       }
     catch(SQLException e)
          {
          }
    }
   //其它客户通过同步块使用这个连接:
   else
    { synchronized(con)
       {try{ sql=con.createStatement();
             String condition="SELECT * FROM students";
             rs=sql.executeQuery(condition);
             out.print("<Table Border>");
             out.print("<TR>");
             out.print("<TH width=100>"+"Number");
             out.print("<TH width=100>"+"Name");
             out.print("<TH width=50>"+"Math");
             out.print("<TH width=50>"+"English");
             out.print("<TH width=50>"+"Phsics");
             out.print("</TR>");
             while(rs.next())
              { out.print("<TR>");
                out.print("<TD >"+rs.getString(1)+"</TD>"); 
                out.print("<TD >"+rs.getString(2)+"</TD>");
                out.print("<TD >"+rs.getInt("数学成绩")+"</TD>"); 
                out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
                out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");   
                out.print("</TR>") ;          
              }
            out.print("</Table>");
          }
        catch(SQLException e)
          {
          }
       }
    }
   out.println("</BODY>");
   out.println("</HTML>");
 }
  public void doGet(HttpServletRequest request,HttpServletResponse response) 
                        throws ServletException,IOException
 {  doPost(request,response);
 }
}

例子16(效果如图9.19所示)
Boy.java:
import java.io.*;
import javax.servlet.*;

⌨️ 快捷键说明

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