java服务器应用开发框架?

java服务器应用开发框架?,第1张

随着互联网的不断发展,无服务器应用编程开发成为了程序员学习的又一个发展方向,下面北大青鸟就一起来了解一下,实现无服务器编程开发的框架都有哪些呢。

Nimbus是一个旨在简化FaaS应用程序开发、测试和部署的Java框架。Nimbus提供了一组与云平台无关的公共接口,用于与云提供商的无服务器功能发生交互。

对于那些想要开发简单的应用程序的新手们来说,他们需要面临非常陡峭的学习曲线。他们可能只想要部署一些>

Nimbus的主要优势是不需要通过创建配置文件来声明云资源(如AWSSAM或者Serverless框架),这样开发人员“就不会因为忘记了某些参数而犯错”。另外,Nimbus会对部署参数进行编译时检查,以便尽早检测出错误

Nimbus还支持其他的 *** 作:

WebSocketFunction:用于处理websocket请求;

DocumentStoreFunction:用于执行因文档存储变更而触发的代码;

KeyValueStoreFunction:用于执行因键值存储变更而触发的代码;

NotificationFunction:用于执行由通知触发的代码;

QueueFunction:用于执行因队列变化而触发的代码;

BasicFunction:用于执行不需要触发器的代码;

FileStorageFunction:用于执行基于文件存储事件(文件创建和删除)的代码;

AfterDeploymentFunction:用于执行部署之后需要立即执行的 *** 作。

除了支持各种不同的 *** 作之外,Nimbus还支持几种数据存储类型。

其他支持的数据存储(和客户端)包括:用于存储关系型数据的关系型存储、用于存储键值数据的键值存储和用于存储对象的文件存储(支持静态网站托管和文件上传)。

测试也是构建无服务器应用程序的另一个常见难点。Nimbus提供了单元测试和集成测试支持。在进行单元测试时,可以为上述列表中的任何一个 *** 作创建本地部署,可以接受请求,并验证函数是否被正确调用,或者数据是否被正确保存。Nimbus对集成测试的支持相对有限,只支持基于>

访问Tomcat出现404错误解析:
1。页面不存在时(针对于楼主问题,排除此项)
2。启动tomcat时出现错误,检查错误日志(日志位置Tomcat根目录/logs/catalinaout),找到错误原因,解决错误。

可以通过JDK自带的API实现,如下代码:
package comcloudpowerutil;
import javaioFile;
import javaioFileInputStream;
import javaioFileOutputStream;
import javaioIOException;
import sunnetTelnetInputStream;
import sunnetTelnetOutputStream;
import sunnetftpFtpClient;
/
Java自带的API对FTP的 *** 作
@Title:Ftpjava
/
public class Ftp {
/
本地文件名
/
private String localfilename;
/
远程文件名
/
private String remotefilename;
/
FTP客户端
/
private FtpClient ftpClient;
/
服务器连接
@param ip 服务器IP
@param port 服务器端口
@param user 用户名
@param password 密码
@param path 服务器路径
@date 2012-7-11
/
public void connectServer(String ip, int port, String user,
String password, String path) {
try {
/ 连接服务器的两种方法/
//第一种方法
// ftpClient = new FtpClient();
// ftpClientopenServer(ip, port);
//第二种方法
ftpClient = new FtpClient(ip);

ftpClientlogin(user, password);
// 设置成2进制传输
ftpClientbinary();
Systemoutprintln("login success!");
if (pathlength() != 0){
//把远程系统上的目录切换到参数path所指定的目录
ftpClientcd(path);
}
ftpClientbinary();
} catch (IOException ex) {
exprintStackTrace();
throw new RuntimeException(ex);
}
}
public void closeConnect() {
try {
ftpClientcloseServer();
Systemoutprintln("disconnect success");
} catch (IOException ex) {
Systemoutprintln("not disconnect");
exprintStackTrace();
throw new RuntimeException(ex);
}
}
public void upload(String localFile, String remoteFile) {
thislocalfilename = localFile;
thisremotefilename = remoteFile;
TelnetOutputStream os = null;
FileInputStream is = null;
try {
//将远程文件加入输出流中
os = ftpClientput(thisremotefilename);
//获取本地文件的输入流
File file_in = new File(thislocalfilename);
is = new FileInputStream(file_in);
//创建一个缓冲区
byte[] bytes = new byte[1024];
int c;
while ((c = isread(bytes)) != -1) {
oswrite(bytes, 0, c);
}
Systemoutprintln("upload success");
} catch (IOException ex) {
Systemoutprintln("not upload");
exprintStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
isclose();
}
} catch (IOException e) {
eprintStackTrace();
} finally {
try {
if(os != null){
osclose();
}
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
public void download(String remoteFile, String localFile) {
TelnetInputStream is = null;
FileOutputStream os = null;
try {
//获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。
is = ftpClientget(remoteFile);
File file_in = new File(localFile);
os = new FileOutputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = isread(bytes)) != -1) {
oswrite(bytes, 0, c);
}
Systemoutprintln("download success");
} catch (IOException ex) {
Systemoutprintln("not download");
exprintStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
isclose();
}
} catch (IOException e) {
eprintStackTrace();
} finally {
try {
if(os != null){
osclose();
}
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
public static void main(String agrs[]) {
String filepath[] = { "/temp/aatxt", "/temp/registlog"};
String localfilepath[] = { "C:\\tmp\\1txt","C:\\tmp\\2log"};
Ftp fu = new Ftp();
/
使用默认的端口号、用户名、密码以及根目录连接FTP服务器
/
fuconnectServer("127001", 22, "anonymous", "IEUser@", "/temp");

//下载
for (int i = 0; i < filepathlength; i++) {
fudownload(filepath[i], localfilepath[i]);
}

String localfile = "E:\\号码txt";
String remotefile = "/temp/哈哈txt";
//上传
fuupload(localfile, remotefile);
fucloseConnect();
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13498564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-19
下一篇 2023-08-19

发表评论

登录后才能评论

评论列表(0条)

保存