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

📄 java后台服务程序设计.mht

📁 java后台服务相关资料都是自己在网上精心找到的
💻 MHT
📖 第 1 页 / 共 5 页
字号:
"=E7=AB=AF=E5=8F=A3=E4=B8=8A");
<!-- code sample is too wide -->      }
      =
out.println("=E5=BD=93=E5=89=8D=E8=BF=9E=E6=8E=A5=E6=95=B0=E4=B8=BA" + =
currentConn);
      =
out.println("=E5=BD=93=E5=89=8D=E7=B3=BB=E7=BB=9F=E7=A9=BA=E9=97=B2=E8=BF=
=9E=E6=8E=A5=E6=95=B0=E4=B8=BA" + freeConn);
  }
  private synchronized int getfreeConnections(int maxConn) {
      int num =3D -1;
      if (freeConn &gt;=3D maxConn) {
            freeConn-=3DmaxConn;
            num =3D freeConn;
      }
      return num;
  }
  public synchronized int getConnections() {
      return currentConn;
  }
  public synchronized int  addConnections(Socket s) {
      connections.add(s);
      return currentConn++;
  }
  public synchronized int  removeConnections(Socket s) {
      connections.remove(s);
      try {
          s.close();
      } catch (Exception e) {
      	  System.out.println(e.getMessage());
      }
      return currentConn--;
  }
  public synchronized int getConnections(int connections) {
      int num =3D 0;
      if ((num=3DfreeConn-connections) &gt;=3D 0) {
          freeConn =3D num;
      } else num =3D -1;
      return num;
  }
  private synchronized int getFreeConn() {
      return freeConn;
  }
}
</PRE></TD></TR></TBODY></TABLE><BR>
            =
<P>=E5=A6=82=E4=B8=8A=E6=89=80=E8=BF=B0=E5=8F=AF=E7=9F=A5=EF=BC=8C=E6=9C=8D=
=E5=8A=A1=E5=99=A8=E6=A1=86=E6=9E=B6=E7=B1=BBServer=E4=B8=BB=E8=A6=81=E6=98=
=AF=E9=80=9A=E8=BF=87=E7=AB=AF=E5=8F=A3=E5=88=B0=E7=9B=91=E5=90=AC=E5=99=A8=
=E5=BD=B1=E5=B0=84=E7=9A=84=E6=95=A3=E5=88=97=E8=A1=A8services=E6=9D=A5=E7=
=AE=A1=E7=90=86=E6=9C=8D=E5=8A=A1=E5=AF=B9=E8=B1=A1=EF=BC=8CServer=E7=B1=BB=
=E7=9A=84=E5=87=A0=E4=B8=AA=E4=B8=BB=E8=A6=81=E6=96=B9=E6=B3=95=E8=AF=B4=E6=
=98=8E=E5=A6=82=E4=B8=8B=EF=BC=9A</P>
            <UL>
              =
<LI>addService=E6=96=B9=E6=B3=95=EF=BC=9A=E6=AD=A4=E6=96=B9=E6=B3=95=E8=83=
=BD=E5=A4=9F=E5=9C=A8=E7=89=B9=E5=AE=9A=E7=9A=84=E7=AB=AF=E5=8F=A3=E4=B8=8A=
=E5=88=9B=E5=BB=BA=E6=96=B0=E7=9A=84=E6=9C=8D=E5=8A=A1=EF=BC=8C=E5=8D=B3=E5=
=9C=A8=E6=8C=87=E5=AE=9A=E7=AB=AF=E5=8F=A3=E4=B8=8A=E8=BF=90=E8=A1=8C=E6=8C=
=87=E5=AE=9A=E7=9A=84Service=E5=AF=B9=E8=B1=A1=E3=80=82=20
              =
<LI>removeService=E6=96=B9=E6=B3=95=EF=BC=9A=E6=AD=A4=E6=96=B9=E6=B3=95=E4=
=BD=BF=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=81=9C=E6=AD=A2=E6=8C=87=E5=AE=9A=E7=AB=
=AF=E5=8F=A3=E4=B8=8A=E7=9A=84=E6=9C=8D=E5=8A=A1=EF=BC=8C=E5=B9=B6=E4=B8=8D=
=E7=BB=88=E6=AD=A2=E8=BF=9E=E6=8E=A5=EF=BC=8C=E4=BB=85=E4=BD=BF=E6=9C=8D=E5=
=8A=A1=E5=99=A8=E5=81=9C=E6=AD=A2=E6=8E=A5=E5=8F=97=E6=96=B0=E7=9A=84=E8=BF=
=9E=E6=8E=A5=E3=80=82=20
              =
<LI>displayStatus=E6=96=B9=E6=B3=95=EF=BC=9A=E6=AD=A4=E6=96=B9=E6=B3=95=E7=
=94=A8=E4=BA=8E=E6=89=93=E5=8D=B0=E6=8C=87=E5=AE=9A=E6=B5=81=E4=B8=8A=E6=9C=
=8D=E5=8A=A1=E5=99=A8=E7=9A=84=E7=8A=B6=E6=80=81=E4=BF=A1=E6=81=AF=E3=80=82=
 </LI></UL>
            <P><A name=3DN10063><SPAN =
class=3Dsmalltitle>=E6=9C=8D=E5=8A=A1=E4=B8=8E=E7=9B=91=E5=90=AC</SPAN></=
A></P>
            =
<P>=E6=AF=8F=E4=B8=AA=E6=9C=8D=E5=8A=A1=E9=83=BD=E5=AF=B9=E5=BA=94=E7=9D=80=
=E4=B8=80=E4=B8=AA=E7=9B=91=E5=90=AC=E5=AF=B9=E8=B1=A1=EF=BC=8C=E7=9B=91=E5=
=90=AC=E6=8C=87=E5=AE=9A=E7=AB=AF=E5=8F=A3=E7=9A=84=E8=BF=9E=E6=8E=A5=E5=B9=
=B6=E5=9C=A8=E8=8E=B7=E5=BE=97=E8=BF=9E=E6=8E=A5=E8=AF=B7=E6=B1=82=E6=97=B6=
=E8=B0=83=E7=94=A8addConnection( <CODE>Socket s,=20
            Service service</CODE> =
)=E6=96=B9=E6=B3=95=E6=9D=A5=E5=8F=96=E5=BE=97=EF=BC=88=E9=87=8A=E6=94=BE=
=EF=BC=89=E4=B8=80=E4=B8=AA=E8=BF=9E=E6=8E=A5=E3=80=82=E6=B8=85=E5=8D=95 =
2=E6=98=BE=E7=A4=BA=E4=BA=86=E5=A6=82=E4=BD=95=E7=BC=96=E5=88=B6=E4=B8=80=
=E4=B8=AA=E7=9B=91=E5=90=AC=E7=B1=BB=E6=96=87=E4=BB=B6=E3=80=82 </P>
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD class=3Dcode-outline><PRE =
class=3Ddisplaycode>=E3=80=90=E6=B8=85=E5=8D=95 =
2=EF=BC=9AListener.java=E7=9A=84=E4=B8=80=E4=B8=AA=E7=AE=80=E5=8D=95=E5=AE=
=9E=E7=8E=B0=E3=80=91
import java.util.*;
import java.io.*;
import java.net.*;
public class Listener extends Thread {
  private ServerSocket listener;
  private int port;
  String service;
  Set connections;
  private Service runService;
  private boolean stop_flag =3D false;
  int maxConn;
  private PrintWriter log =3D new PrintWriter(System.err, true);
  private ThreadGroup group;
  private int currentConnections =3D 0;
  Server server;
  Socket client =3D null;
  public Listener(Server server, int port, Service service, int maxConn, =
boolean bl) throws IOException {
<!-- code sample is too wide -->      this.server =3D server;
      this.port =3D port;
      this.service =3D service.getClass().getName();
      this.maxConn =3D maxConn;
      this.group =3D server.threadGroup;
      this.connections =3D server.connections;
      listener =3D new ServerSocket(this.port);
      if (bl =3D=3D false) listener.setSoTimeout(600000);         =20
      this.runService =3D service;
      if (!stop_flag) {
          for (int i=3D0;i&lt;this.maxConn;i++) {
                  ConnectionHandler currentThread =3D new =
ConnectionHandler(server,logStream);
<!-- code sample is too wide -->                  new Thread(this.group, =
currentThread, this.service+this.port+i).start();
      	          =
this.logStream.realLog("=E5=90=91=E7=BA=BF=E7=A8=8B=E7=BB=84" + =
group.toString() + =
"=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA=E7=BA=BF=E7=A8=8B" + =
this.service+this.port+i);
<!-- code sample is too wide -->          }
      } else throw new =
IllegalArgumentException("=E7=B3=BB=E7=BB=9F=E5=B9=B6=E5=8F=91=E8=BF=9E=E6=
=8E=A5=E9=99=90=E5=88=B6=E5=B7=B2=E7=BB=8F=E8=B6=85=E8=BF=87=E6=9C=80=E5=A4=
=A7=E5=80=BC!=EF=BC=81");
  }
  public Listener(Server server, int port, Service service, int maxConn) =
throws IOException {
<!-- code sample is too wide -->      this(server, port, service, =
maxConn, false);
  }
  public void pleaseStop() {
      this.stop_flag =3D true;
      try {
          listener.close();
      } catch (Exception e) {
      }
      this.interrupt();
  }
  public void run() {
      while(!stop_flag) {
          try {
                client =3D listener.accept();
                addConnection(client,runService);
          } catch (Exception e) {}
      }
      try {
          client.close();
      } catch (IOException e) {}
  }
  private synchronized void addConnection(Socket s, Service service) {
      ConnectionHandler.requestToHandler(s, service);
  }
}                                              =20
</PRE></TD></TR></TBODY></TABLE><BR>
            =
<P>=E5=9C=A8=E5=AE=9E=E9=99=85=E5=A4=84=E7=90=86=E8=BF=87=E7=A8=8B=E4=B8=AD=
=EF=BC=8CListener=E5=AF=B9=E8=B1=A1=E9=80=9A=E8=BF=87=E5=9C=A8=E6=8C=87=E5=
=AE=9A=E7=AB=AF=E5=8F=A3=E4=B8=8A=E4=B8=8E=E6=8C=87=E5=AE=9A=E6=9C=8D=E5=8A=
=A1=E7=9A=84=E7=BB=91=E5=AE=9A=E5=AE=9E=E7=8E=B0=E7=9B=91=E5=90=AC=E8=BF=87=
=E7=A8=8B=EF=BC=8C=E4=B8=BB=E8=A6=81=E7=9A=84=E5=87=A0=E4=B8=AA=E6=96=B9=E6=
=B3=95=E8=AF=B4=E6=98=8E=E5=A6=82=E4=B8=8B=EF=BC=9A</P>
            <UL>
              =
<LI>pleaseStop=EF=BC=9A=E4=BB=A5=E7=A4=BC=E8=B2=8C=E7=9A=84=E6=96=B9=E6=B3=
=95=E5=81=9C=E6=AD=A2=E6=8E=A5=E5=8F=97=E8=BF=9E=E6=8E=A5=E3=80=82=20
              =
<LI>addConnection=EF=BC=9A=E6=8A=8A=E6=8C=87=E5=AE=9A=E8=A6=81=E5=A4=84=E7=
=90=86=E7=9A=84=E6=9C=8D=E5=8A=A1=E6=94=BE=E5=88=B0=E7=BA=BF=E7=A8=8B=E6=B1=
=A0=E4=B8=AD=EF=BC=8C=E4=BB=A5=E7=AD=89=E5=BE=85=E7=A9=BA=E9=97=B2=E7=9A=84=
=E7=BA=BF=E7=A8=8B=E5=A4=84=E7=90=86=E6=9C=8D=E5=8A=A1=E3=80=82 =
</LI></UL>
            =
<P>=E7=9B=91=E5=90=AC=E5=AF=B9=E8=B1=A1=E9=80=9A=E8=BF=87=E4=BC=A0=E9=80=92=
=E4=B8=80=E4=B8=AAService=E5=AF=B9=E8=B1=A1=E5=B9=B6=E5=94=A4=E9=86=92=E5=
=AE=83=E7=9A=84serve()=E6=96=B9=E6=B3=95=E6=89=8D=E7=9C=9F=E6=AD=A3=E6=8F=
=90=E4=BE=9B=E4=BA=86=E6=9C=8D=E5=8A=A1=E3=80=82=E4=B8=8B=E9=9D=A2=E6=88=91=
=E4=BB=AC=E5=B0=B1=E6=9D=A5=E5=AE=9E=E7=8E=B0=E4=B8=80=E4=B8=AA=E5=85=B7=E4=
=BD=93=E7=9A=84=E6=9C=8D=E5=8A=A1=EF=BC=9A</P>
            <UL>
              =
<LI>=E6=9C=8D=E5=8A=A1=E6=8E=A5=E5=8F=A3Service=E5=8F=AA=E6=9C=89=E4=B8=80=
=E4=B8=AA=E6=8A=BD=E8=B1=A1=E6=96=B9=E6=B3=95serve(InputStream in, =
OutputStream=20
              =
out)=EF=BC=8C=E5=AE=83=E6=89=80=E6=9C=89=E6=9C=8D=E5=8A=A1=E5=AE=9E=E7=8E=
=B0=E6=89=80=E5=BF=85=E9=A1=BB=E9=87=8D=E5=86=99=E7=9A=84=E4=B8=80=E4=B8=AA=
=E6=96=B9=E6=B3=95=EF=BC=8CListing =
3=E6=98=BE=E7=A4=BA=E4=BA=86=E4=B8=80=E4=B8=AAService=E6=8E=A5=E5=8F=A3=E7=
=9A=84=E5=AE=9A=E4=B9=89=E3=80=82=20
              <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                <TBODY>
                <TR>
                  <TD class=3Dcode-outline><PRE class=3Ddisplaycode>=20
=E3=80=90=E6=B8=85=E5=8D=95 =
3=EF=BC=9A=E5=AE=9A=E4=B9=89=E4=B8=80=E4=B8=AAService=E6=8E=A5=E5=8F=A3=E3=
=80=91
import java.io.*;
import java.net.*;
public interface Service {
  public void serve(InputStream in, OutputStream out) throws =
IOException;
}
</PRE></TD></TR></TBODY></TABLE><BR>
              =
<LI>=E7=BC=96=E5=86=99=E4=B8=80=E4=B8=AA=E7=AE=80=E5=8D=95=E7=9A=84=E6=98=
=BE=E7=A4=BA=E6=97=B6=E9=97=B4=E6=9C=8D=E5=8A=A1=E7=B1=BB=EF=BC=9A=E8=A7=81=
=E6=B8=85=E5=8D=954=E3=80=82=20
              <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                <TBODY>
                <TR>
                  <TD class=3Dcode-outline><PRE =
class=3Ddisplaycode>=E3=80=90=E6=B8=85=E5=8D=95 =
4=EF=BC=9A=E4=B8=80=E4=B8=AA=E6=98=BE=E7=A4=BA=E7=B3=BB=E7=BB=9F=E5=BD=93=
=E5=89=8D=E6=97=B6=E9=97=B4=E7=9A=84=E6=9C=8D=E5=8A=A1=E7=B1=BBTimer.java=
=E3=80=91
import java.util.*;
import java.text.*;
import java.io.*;
import java.net.*;
public class Timer implements Service {
  public Timer() {
  }
  public void serve(InputStream in, OutputStream out) throws IOException =
{
      String timeFormat =3D "yyyy-MM-dd hh:mm:ss";
      SimpleDateFormat timeFormatter =3D new =
SimpleDateFormat(timeFormat);
      BufferedReader from_client =3D new BufferedReader(new =
InputStreamReader(in));
      PrintWriter outPrint =3D new PrintWriter(out);
      String sDate =3D timeFormatter.format(new Date());
      outPrint.println("=E5=BD=93=E5=89=8D=E6=97=B6=E9=97=B4=E6=98=AF:" =
+ sDate);
      outPrint.flush();
      try {
      	from_client.close();
      	outPrint.close();
      }catch (Exception e){}
  }
}</PRE></TD></TR></TBODY></TABLE><BR></LI></UL>
            =
<P>=E9=80=9A=E8=BF=87=E5=AE=9E=E7=8E=B0Service=E6=8E=A5=E5=8F=A3=E5=8F=AF=
=E4=BB=A5=E7=BC=96=E5=86=99=E5=BE=88=E5=A4=9A=E7=9A=84=E6=9C=8D=E5=8A=A1=E5=
=AE=9E=E7=8E=B0=E6=8F=90=E4=BE=9B=E5=90=84=E7=A7=8D=E4=B8=8D=E5=90=8C=E7=9A=
=84=E6=9C=8D=E5=8A=A1=EF=BC=8C=E8=AF=BB=E8=80=85=E6=9C=89=E5=85=B4=E8=B6=A3=
=E4=B9=9F=E5=8F=AF=E8=87=AA=E5=B7=B1=E7=BC=96=E5=86=99=E4=B8=80=E4=B8=AA=E6=
=9C=8D=E5=8A=A1=E6=9D=A5=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B=E3=80=82</P>=
<BR>
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD><IMG height=3D1 alt=3D""=20
                  src=3D"http://www.ibm.com/i/v14/rules/blue_rule.gif"=20
                  width=3D"100%"><BR><IMG height=3D6 alt=3D""=20
                  src=3D"http://www.ibm.com/i/c.gif" width=3D8=20
              border=3D0></TD></TR></TBODY></TABLE>
            <TABLE class=3Dno-print cellSpacing=3D0 cellPadding=3D0 =
align=3Dright>
              <TBODY>
              <TR align=3Dright>
                <TD><IMG height=3D4 alt=3D"" =
src=3D"http://www.ibm.com/i/c.gif"=20
                  width=3D"100%"><BR>
                  <TABLE cellSpacing=3D0 cellPadding=3D0 border=3D0>
                    <TBODY>
                    <TR>
                      <TD vAlign=3Dcenter><IMG height=3D16 alt=3D""=20
                        =

⌨️ 快捷键说明

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