- 浏览: 399115 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tyjdzr:
程序已经运行成功,第一次接触webservice,楼主领我入门 ...
java实现webservice实例 -
guosongchao:
楼主介绍的确实简单,但是对于我这种对web service一点 ...
java实现webservice实例 -
gnail_oug:
...
java实现webservice实例 -
safedriver:
楼主真心不错
java实现webservice实例 -
Partys:
Partys 写道addArticleCategories(C ...
RESTful Web Services in Spring 3(上)
package com.chinacahe.LogContrast.ssh; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.SCPClient; import com.chinacahe.LogContrast.base.LognameIntoDB; import com.chinacahe.LogContrast.base.RemoteFileGetter; import com.chinacahe.LogContrast.Constants; public class SPZRemoteFileGetter implements RemoteFileGetter{ Logger logger = Logger.getLogger(getClass()); private String ip; private int port; private String path; private String dev_id; private String dev_name; private String date; ApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "classpath*:applicationContext*.xml" }); public void getRemoteFile() { LognameIntoDB lognameIntoDB=(LognameIntoDB)context.getBean("lognameIntoDB"); Connection connection = null; List<String> lognames=new ArrayList<String>(); try { connection = new Connection(ip, port);//远程服务器IP,端口 connection.connect();//建立连接 boolean isAuthenticated = connection.authenticateWithPassword( Constants.LOGIN_USER, Constants.LOGIN_PASSWORD);//服务器用户名,密码 if (!isAuthenticated) { throw new IOException("Authentication Failed."); } logger.info("Connecting to "+ ip + ":" + port + "successful"); SCPClient client = new SCPClient(connection); try{ String servlogname=new File(path).getName();//path是服务器的文件名路径 client.get(path, Constants.TEMP_DIR+ File.separator);//Constants.TEMP_DIR+ File.separator:要存入的本地目录 if(new File(Constants.TARGET_DIR+File.separator + servlogname).exists()){ new File(Constants.TARGET_DIR+File.separator + servlogname).delete(); } FileUtils.moveFileToDirectory( new File(Constants.TEMP_DIR+ File.separator + servlogname), new File(Constants.TARGET_DIR), false); } catch(Exception e){ logger.info("catching file "+ ip + ":" + port + ":" + path + " failed " + e.getMessage()); } logger.info("Finished "+ ip + ":" + port); } catch(Exception e){ logger.info("Failed connecting to "+ ip + ":" + port); } finally{ if(connection != null){ connection.close(); } } } public void run() { getRemoteFile(); } public List<String> parseFiletoList(String filename){ File file = new File(Constants.TARGET_DIR+ File.separator + filename); List<String> lognames=new ArrayList<String>(); try { InputStream is = new FileInputStream(file); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line; int index = 0; while ((line = reader.readLine()) != null) { index++; lognames.add(line); } } catch (Exception e) { e.printStackTrace(); } return lognames; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public String getDev_id() { return dev_id; } public void setDev_id(String devId) { dev_id = devId; } public String getDev_name() { return dev_name; } public void setDev_name(String devName) { dev_name = devName; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } }
执行远程服务器的系统命令并获取内容:
boolean isAuthenticated = connection.authenticateWithPassword(user, password);
logger.info("Connecting to " + ip + ":" + port + "successful");
Session sess = connection.openSession();
sess.execCommand("/usr/local/squid/bin/rotateBilling.sh -v");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
StringBuffer sb = new StringBuffer();
while (true) {
String line = br.readLine();
if (line == null)
break;
sb.append(line);
}
if (sb.toString().indexOf("0.0.4") < 0) {
sess.close();
connection.close();
logger.error(selectdev + ":" + dev_name + ":" + ip + ":" + errortime
+ ": shell file version isn't 0.0.4");
return;
}
sess.close();
评论
发表评论
-
spring框架下配置lucene
2012-02-21 15:34 8623最近这的是投入不少精力在lucene身上,学到一点心得,留此文 ... -
Task Scheduling Simplifications in Spring 3.0
2011-05-19 14:47 2613简单说下基本配置: applicationContex ... -
安装ActiveMQ
2011-04-18 10:28 1231安装activeMQ前先升级jdk到6U24 cd /App ... -
ECLIPSE远程DEBUG
2011-04-18 10:07 1462在服务器上添加监听端 ... -
apache的commons-net实现FTP上传,下载文件
2011-04-15 11:25 2724不多说,上代码: package com.book.s ... -
tdd:测试驱动WEB组件
2011-04-05 21:37 1734相信大家有好多人会使用JUNIT进行单元测试了,但是在WEB开 ... -
利用GeneratedKeyHolder获得新建数据主键值
2010-12-24 14:37 7158有时候我们向DB新插入一条数据,都需要获取对应的主键值。在采用 ... -
dbunit解决XML数据中必须表首行有相应字段问题
2010-11-30 09:51 1727DbUnit设计理念: 熟悉单 ... -
jMock Cookbook 中文版
2010-04-29 10:06 2063他娘的,中文版啊!爽,坚决分享! 这里不多介绍JMOC ... -
linux下配置JDK,tomcat
2010-02-26 15:34 1034转自:http://blog.csdn.net/strivem ... -
hsqldb
2010-02-25 00:02 1266import java.sql.Connection; im ... -
RESTful Web Services in Spring 3(下)
2010-02-23 13:44 5646上一篇我主要发了RESTful Web Services in ... -
RESTful Web Services in Spring 3(上)
2010-02-23 10:19 11311通过本文,我将介绍REST的特点,基本设计原则及其简单讲解,最 ... -
spring3实现MVC的rest
2010-02-07 15:21 8517首先配置WEB.XML: <?xml versi ... -
使用 Spring 2.5 基于注解驱动的 Spring MVC
2010-02-07 13:09 891来自地址:https://www.ibm. ... -
log4j配置
2010-01-28 14:07 1150<!-- logging begin--> ... -
java中org.apache.commons.digester类用法
2010-01-28 10:52 1511xml文件内容: <?xml version=& ... -
lucene的索引建立及查找
2010-01-27 11:03 1037package lucene; import org.a ... -
java实现webservice实例
2010-01-25 18:48 131832今天下午突然想研究下WEBSERVICE,从网上找了好多实例, ... -
Hibernate批量插入的方法
2010-01-22 14:46 1504Session session = sessionFact ...
相关推荐
在Java中,可以使用ganymed-ssh2库来实现在Linux服务器上上传文件。这个库提供了SSH2协议的实现,包括SFTP(Secure File Transfer Protocol)功能。首先,需要添加ganymed-ssh2的依赖到项目中,然后创建一个`...
这就是使用Java和JSch在Windows上获取Linux服务器文件的基本流程。在实际项目中,可能需要处理异常,增加重试机制,优化性能,甚至考虑使用密钥对认证,而不是密码。在提供的`RemoteGet`示例文件中,可能包含了完整...
在这个场景中,我们关注的是如何使用Java来实现文件压缩包的上传以及在服务器上的解压缩。Java作为一种强大的编程语言,提供了丰富的库来支持这样的操作,特别是在涉及到SFTP(Secure File Transfer Protocol)时,...
SSH(Secure Shell)是一种网络协议,用于在不安全的...通过以上步骤,你可以使用Java的SSH2框架(如JSch)连接到远程服务器,执行命令和传输文件。这在自动化运维、远程脚本执行、文件同步等多个场景中都非常实用。
本篇文章将深入探讨如何使用Java连接服务器,执行命令,进行文件上传和下载,并结合Sigar库来获取系统信息。 一、Java连接服务器与执行命令 在Java中,我们可以使用JSch库来实现SSH(Secure Shell)连接,从而远程...
【标题】"SFTP定时扫描本地文件上传到Linux服务器"涉及的关键知识点主要集中在SFTP(Secure File Transfer Protocol)协议的使用、文件系统的监控以及自动化任务的执行。SFTP是一种安全的网络协议,用于在不同主机...
在IT行业中,SSH(Secure Shell)是一种网络协议,用于安全地远程登录到服务器,执行命令以及传输文件。本文将深入探讨如何使用Java调用SSH命令,以便在开发过程中实现自动化运维或者远程操作。 首先,我们需要了解...
5. **执行远程命令**:使用Ganymed SSH-2库,开发者可以在Java代码中直接执行远程主机上的命令,这对于自动化运维、远程监控或者分布式系统中的数据交换非常有用。 在使用Ganymed SSH-2库时,开发者需要创建`...
首先,SSH框架在Java中的应用主要依赖于库,如JSch(Java Secure Channel),它是一个纯Java实现的SSH2库,提供了连接到SSH服务器、执行命令、上传/下载文件等功能。使用JSch,你可以创建一个Session对象来建立与...
1. **异常处理**:代码中使用了try-catch块来捕获并处理可能出现的`IOException`异常。 2. **资源释放**:确保在finally块中释放连接资源,即使发生异常也能正确关闭连接。 3. **安全性考虑**:实际生产环境中应避免...
在SSH中使用Kerberos,需要预先配置Kerberos服务器和客户端。 1. 设置Kerberos服务器,包括KDC(Key Distribution Center)和Kerberos数据库。 2. 配置客户端的Kerberos认证,包括安装必要的软件和配置文件。 3. ...
以上就是使用Java执行本地CMD命令以及通过SSH连接远程Linux服务器执行shell命令的方法。这两个功能的结合,使开发者能够轻松地在不同的操作系统间进行跨平台的系统操作,极大地提高了开发和运维的效率。
本文将详细介绍如何在Android应用中使用SSH来向服务器提交数据。 首先,理解SSH的基本概念是至关重要的。SSH是一种网络协议,主要用于加密网络连接,确保数据传输过程中的安全性。它允许用户在不安全的网络环境中...
本项目聚焦于使用Java和OpenCV库调用摄像头进行拍照,并将拍摄的照片保存到本地,同时支持通过FTP服务上传至远程服务器。下面将详细阐述这个过程中涉及的关键知识点。 1. **Java编程语言**: Java是一种广泛使用的...
4. **文件上传**:在SFTP通道上,可以获取`ChannelSftp`对象,然后调用它的`put()`方法来上传本地文件到远程服务器。需要指定源文件路径和目标文件路径。 5. **文件下载**:类似地,使用`ChannelSftp.get()`方法...
Java编写的FTPClient是用于与FTP(文件传输协议)服务器交互的一个客户端程序,它使得开发者能够在Java应用程序中实现上传和下载文件的功能。FTP是互联网上一个标准的服务,它允许用户在计算机之间传输文件,通常...
1. **文件上传**:用户选择本地文件后,Struts2 Action会调用Spring管理的DAO,利用Hibernate将文件信息存入数据库,并将文件内容保存到服务器的指定目录。 2. **文件下载**:用户请求下载时,系统根据文件ID查询...
本文将详细介绍C#中使用SSH Key的相关知识点,并结合提供的压缩包文件内容进行说明。 首先,SSH Key主要由一对密钥组成:公钥和私钥。公钥通常部署在远程服务器上,而私钥保留在本地客户端。当客户端连接服务器时,...
在Java编程中,SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议,它基于SSH(Secure Shell)来提供服务,常用于在不同系统间安全地传输文件。本篇文章将详细探讨如何使用Java通过SFTP模式实现FTP的...
5. **文件下载**:在用户需要下载文件时,服务器通过读取文件路径或从数据库获取文件信息,然后使用Servlet的`response.getOutputStream()`方法发送文件内容到客户端。 6. **图片显示**:对于图片文件,上传后通常...