webgis系统 java 源码_webgisframe.java 源代码在线查看 - 实现网络GPS定位车辆的位置 资源下载 虫虫电子下载站...

这是一个使用Java编写的WebGIS系统,通过ServerSocket监听端口8877来接收GPS数据,并将数据写入文件。程序包含了连接管理和日志记录功能,可以显示连接状态和来自客户端的GPS消息。
摘要由CSDN通过智能技术生成

package webgisserver;import java.awt.*;import java.awt.event.*;import javax.swing.*;import com.borland.jbcl.layout.*;import java.util.Date;import java.net.*;import java.io.*;import java.text.*;import java.util.Vector;import java.sql.*;//import oracle.jdbc.driver.*;public class WebGisFrame extends JFrame { private JPanel contentPane; private JMenuBar jMenuBar1 = new JMenuBar(); private JMenu jMenuConnect = new JMenu(); private JMenuItem jMenuConnectServer = new JMenuItem(); private JMenuItem jMenuConnectExit = new JMenuItem(); private JMenu jMenuHelp = new JMenu(); private JMenuItem jMenuHelpAbout = new JMenuItem(); private JToolBar jToolBar = new JToolBar(); private JButton jButton1 = new JButton(); private JButton jButton2 = new JButton(); private JButton jButton3 = new JButton(); private ImageIcon image1; private ImageIcon image2; private ImageIcon image3; private JLabel statusBar = new JLabel(); private BorderLayout borderLayout1 = new BorderLayout(); private Panel panel1 = new Panel(); private java.awt.List ListGpsMessage = new java.awt.List(); private OverlayLayout2 overlayLayout21 = new OverlayLayout2(); private boolean ConnectFlag=false; public String FileName=""; public StringWriter sw = new StringWriter(); public PrintWriter pw = new PrintWriter(sw); public FileOutputStream fos =null; public OutputStreamWriter osw =null; public BufferedWriter bw =null; Thread connectThread = null; //Construct the frame public WebGisFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { FileName="c:\\WebGisLog\\"+"WebGisGps"+getTime()+".txt"; File CreateFile = new File(FileName); CreateFile.createNewFile(); image1 = new ImageIcon(webgisserver.WebGisFrame.class.getResource("openFile.gif")); image2 = new ImageIcon(webgisserver.WebGisFrame.class.getResource("closeFile.gif")); image3 = new ImageIcon(webgisserver.WebGisFrame.class.getResource("help.gif")); //setIconImage(Toolkit.getDefaultToolkit().createImage(WebGisFrame.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(580, 490)); this.setTitle("亚太安讯WebGis Socket 服务"); statusBar.setText(getDateTime()); jMenuConnect.setText("连接管理"); jMenuConnectServer.setText("打开连接"); jMenuConnectServer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuConnectServer_actionPerformed(e); } }); jMenuConnectExit.setText("退出"); jMenuConnectExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuConnectExit_actionPerformed(e); } }); jMenuHelp.setText("帮助"); jMenuHelpAbout.setText("关于"); jMenuHelpAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuHelpAbout_actionPerformed(e); } }); jButton1.setIcon(image1); jButton1.setToolTipText("连接服务器"); jButton2.setIcon(image2); jButton2.setToolTipText("断开连接"); jButton3.setIcon(image3); jButton3.setToolTipText("帮助"); ListGpsMessage.setBackground(Color.lightGray); panel1.setLayout(overlayLayout21); jToolBar.add(jButton1); jToolBar.add(jButton2); jToolBar.add(jButton3); jMenuConnect.add(jMenuConnectServer); jMenuConnect.add(jMenuConnectExit); jMenuHelp.add(jMenuHelpAbout); jMenuBar1.add(jMenuConnect); jMenuBar1.add(jMenuHelp); this.setJMenuBar(jMenuBar1); contentPane.add(jToolBar, BorderLayout.NORTH); contentPane.add(panel1, BorderLayout.CENTER); panel1.add(ListGpsMessage, null); contentPane.add(statusBar, BorderLayout.SOUTH); ListGpsMessage.add("连接没有打开!"); // java.sql.Connection Conn; java.sql.Statement Stmt; } /*// 打开连接 /*/ public void jMenuConnectServer_actionPerformed(ActionEvent e) { String sMsg; if(ConnectFlag==false) { jMenuConnectServer.setText("断开连接"); connectThread = new ConnectThread(ListGpsMessage); connectThread.start(); ConnectFlag=true; } else { jMenuConnectServer.setText("打开连接"); connectThread.stop(); ConnectFlag=false; sMsg=getDateTime()+"连接已断开"; WriteFile(sMsg); ListGpsMessage.add(sMsg); } } public void jMenuConnectExit_actionPerformed(ActionEvent e) { System.exit(0); } //Help | About action performed public void jMenuHelpAbout_actionPerformed(ActionEvent e) { WebGisFrame_AboutBox dlg = new WebGisFrame_AboutBox(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setModal(true); dlg.pack(); dlg.show(); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { jMenuConnectExit_actionPerformed(null); } } public static void main(String[] args) { /*String s="webgis$test$huafeng"; int index1=s.indexOf("$"); String temp=""; System.out.println(index1); temp=s.substring(0,index1); System.out.println(temp); int index2=s.indexOf("$",index1+1); System.out.println(index2); temp=s.substring(index1+1,index2); System.out.println(temp); temp=s.substring(index2+1,s.length()); System.out.println(temp);*/ WebGisFrame frame1 = new WebGisFrame(); frame1.setSize(650,400); frame1.show(); } /*// 连接gps服务线程 /*/ class ConnectThread extends Thread{ private List ListGpsMessage; private String sMsg; public ConnectThread(List listbox) { ListGpsMessage = listbox; } public void run(){ try{ int port; //缺省为1500 ServerSocket server_socket; BufferedReader input; //System.out.println("port = 6111 (default)"); port=8877; try { server_socket = new ServerSocket(port); System.out.println("tcpServer waiting for client on port " + server_socket.getLocalPort()); sMsg=getTime()+"端口:"+server_socket.getLocalPort()+"连接已打开,等待客户连接!"; WriteFile(sMsg); ListGpsMessage.add(sMsg); //不停的循环,用于接受客户端的请求 int count=0; while(true) { Socket socket = server_socket.accept(); count++; Thread tcpServerThread =new tcpServerThread(socket,count,ListGpsMessage); tcpServerThread.start(); sMsg=getTime()+socket.getInetAddress()+ ":" + socket.getPort()+"连接"; System.out.println("New client accepted " +socket.getInetAddress()+ ":" + socket.getPort()); ListGpsMessage.add(sMsg); } } catch (Exception ee) { System.out.println(ee); } }catch(Exception e){ System.out.println(e); } } private String getTime() { Date currentTime=new Date(); //SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy MMMM dd,EEEE, HH:mm:ss"); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy\\MM\\dd HH:mm:ss "); String timeString=dateFormat.format(currentTime); return timeString; } void WriteFile(String sMessage) { try { FileWriter file = new FileWriter(FileName,true); PrintWriter out = new PrintWriter(file); out.println(sMessage); out.close(); file.close(); } catch (IOException e) { System.out.println("错!"); e.printStackTrace(); } }} /*// 连接gps服务,接收GPS信息,转发到客户端 /*/ class tcpServerThread extends Thread{ private Socket tcpSocket; private int intNumber; private List ListGpsMessage; private String sMsg; java.sql.Connection Conn; java.sql.Statement Stmt; public tcpServerThread(Socket socket,int count,List listbox) { /* try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Conn= DriverManager.getConnection ("jdbc:oracle:thin:@192.168.0.163:1521:gpsdata", "test", "test"); Stmt= Conn.createStatement(); } catch (Exception ae ) { System.out.println (ae); } */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值