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

📄 servlet.java

📁 一个可以在applet窗体上持行sql语句并显示返回结果的程序
💻 JAVA
字号:
/*
 * Servlet.java
 */

package org.hsql;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

/**
 * <font color="#009900">
 * Servlet acts as a interface between the applet and the database for the
 * the client / server mode of Hypersonic SQL. It is not required if
 * the included Hypersonic SQL WebServer is used, but if another
 * HTTP server is used. The HTTP Server must support the Servlet API.
 * <P>
 * This class should not be used directly by the application. It will be
 * called by the HTTP Server. The applet / application should must use the
 * jdbc* classes.
 * </font>
 */

public class Servlet extends HttpServlet {
  private String sError;
  private Database dDatabase;
  private String sDatabase;
  public Servlet(String database) {
    try {
      sDatabase=database;
      dDatabase=new Database(database);
    } catch(Exception e) {
      sError=e.getMessage();
    }
  }
  private static long lModified=0;
  protected long getLastModified (HttpServletRequest req) {
    // this is made so that the cache of the http server is not used
    // maybe there is some other way
    return lModified++;
  }
  public void doGet(HttpServletRequest request,HttpServletResponse response)
  throws IOException, ServletException {
    String query=request.getQueryString();
    if(query=="" || query==null) {
      response.setContentType("text/html");
      PrintWriter out=response.getWriter();
      out.println("<html><head><title>Hypersonic SQL Servlet</title>");
      out.println("</head><body><h1>Hypersonic SQL Servlet</h1>");
      out.println("The servlet is running.<P>");
      if(dDatabase!=null) {
        out.println("The database is also running.<P>");
        out.println("Database name: "+sDatabase+"<P>");
        out.println("Queries processed: "+iQueries+"<P>");
      } else {
        out.println("<h2>The database is not running!</h2>");
        out.println("The error message is:<P>");
        out.println(sError);
      }
      out.println("</body></html>");
    }
  }
  public void doPost(HttpServletRequest request,HttpServletResponse response)
  throws IOException, ServletException {
    ServletInputStream input=request.getInputStream();
    int len=request.getContentLength();
    byte b[]=new byte[len];
    input.read(b,0,len);
    String s=new String(b);
    int p=s.indexOf('+');
    int q=s.indexOf('+',p+1);
    if(p==-1 || q==-1) {
      doGet(request,response);
    }
    String user=s.substring(0,p);
    user=StringConverter.hexStringToUnicode(user);
    String password=s.substring(p+1,q);
    password=StringConverter.hexStringToUnicode(password);
    s=s.substring(q+1);
    s=StringConverter.hexStringToUnicode(s);
    response.setContentType("application/octet-stream");
    ServletOutputStream out=response.getOutputStream();
    byte result[]=dDatabase.execute(user,password,s);
    response.setContentLength(result.length);
    out.write(result);
    out.flush();
    out.close();
    iQueries++;
    // System.out.print("Queries processed: "+iQueries+"  \r");
  }
  static private int iQueries;
}

⌨️ 快捷键说明

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