经过一段时间的开发,更新,迭代,新浪云容器 Java 环境逐渐成熟起来,相比过去的 Java 运行环境,可用性和易用性都得到了大量的提升。同时也收到了不少用户反馈的使用问题,特此在这篇文章里综合介绍一下容器 Java 使用以及相关服务的整合。

环境说明

新浪云容器 Java 环境基于 Docker 搭建,支持多实例负载均衡,近乎原生虚拟机环境,使用无门槛。

  • JDK 1.8
  • Web 容器 tomcat-8.0.35

注意:这里以后可能会提供相应的 Web 容器定制服务

准备

开发自己的应用之前,我们先要准备好自己的开发环境,新浪云的容器 Java 应用所需的环境和一般开发环境类似。

  • JDK(最好是能与线上同步,当然低版本也可以) version:1.7 以上
  • 开发 IDE(推荐 eclipse,有相应的开发插件,能够快速上传) version:eclipse(Mars.1 Release (4.5.1) 此版本自带了 maven 插件,不需要另装了)
  • maven(推荐使用,能够方便使用新浪云提供的 sdk) version:3.3.9

安装方式就不累述了,各个环境下如何安装配置,大家可以自行用百度谷歌一下

创建初始化应用

首先我们要创建自己的新浪云账号,这个就不累述了,具体参看新浪云

然后我们来着手建立一个 maven 的项目,当然我们可以通过 maven 的命令来创建一个项目,不过我们有 IDE,可以方便的利用可视化界面操作,而且也方便使用插件。

好了,我们打开 Eclipse,接下来我们就开始创建自己的 Web 项目,点击"File"->"New"->"Maven project",如下图

然后点击"Next",注意接下来选择的"Archetype",咱们是 Web 项目,所以一定要选择"maven-archetype-webapp",如下图

然后点击"Next",填写 Group Id 和 Artifact Id,然后在点击"Finish"。

然后咱们的项目就建好了,目录结构如下图,接下来我们就开始开发我们自己的项目

首先我们建立一下源码目录,在 src->main 下面新建一个文件夹 java,然后就可以看到如图的应用结构了

这里还有一个注意的地方,建立好新的 maven 项目之后,可能需要一些简单的配置,如果默认配置好了可以忽略了,主要注意两个方面的配置,一是 Servlet 版本,一是 JDK 版本,以及项目结构。

改下 JDK,点击项目右键 ->proerties->java compile,如下图

将 JDK 版本调整为 1.7 以上以匹配线上版本。

在修改下项目的结构,如下图。点击 Project Facet,修改下 Java 的版本和刚刚修改的版本一致。

修改下 Dynamic Web Module,改成 3.1 版本(如果点击下面提示无法改变版本的话,就先反选 Dynamic Web Module 然后确定,在重新进入这个界面在勾选即可修改)。如下图

注意图中的标注位置,点击进去,配置一下 Web 目录,如下图

将我们建立项目的 Web 目录配置下。

最后,我们在来安装下新浪云的 Eclipse 插件,具体安装的方法参见使用 Eclipse 插件部署 Java 应用

至此,我们开发前的准备工作就完成了,接下来我们可以开始开发了。

接下来的 Web 应用就可以根据自己的业务需求开始开发,就不说具体的开发过程了,下面着重介绍下新浪云相关服务的使用方法和注意事项。 我们先来建立一个 Servlet,通过这个 Servlet 来演示相关功能的展示,建立一个如下图的 package 在建立一个名为 test 的 Servlet。

手把手教你用新浪云容器 Java 搭建自己的网站的更多相关文章

  1. 新浪云部署java web程序 注意事项

    在新浪云新手指南里有部署java的示例,但是对一个新手来说难免会有一些地方犯错,折腾了好长时间才把自己的java web部署到了新浪云.这里主要写一些我遇到的问题与第一次使用新浪云的朋友分享一下. 首 ...

  2. BotVS配置托管者-基于新浪云

    1. 创建SAE应用 登录新浪云平台,点击创建新应用 2. SAE环境部署 在新应用中选择自定义 相应选项如下 开发语言:自定义 运行环境:云容器 语言版本:自定义 部署方式:手工部署 操作系统:系统 ...

  3. 利用新浪云平台(SAE) 搭建 HUSTOJ 简易教程

    前言: OnlineJudge(OJ)是一种代码在线判定平台,这里有许多的编程题目供你选择,你可以选择题目提交代码,OJ会自动返回你的代码的判定结果.是一种很方便的编程.算法练习平台.详情可见:百度百 ...

  4. 01_搭建新浪云SAE

    Step1:注册新浪云计算平台用新浪微博登陆新浪云计算平台,网址:http://sae.sina.com.cn/ 登陆成功之后会跳转到安全设置页面,安全设置页面要填写的东西比较多,需要注意:安全设置里 ...

  5. 新浪云SAE使用入门,教你如何发布自己的网站

    新浪云sae是一个免费的web服务器,SAE的Web服务器采用分布式部署的方式,开发者将代码部署到SAE前端机后,会通过同步的方式,将代码部署到SAE所有的Web服务器.相当于在每一台Web服务器上都 ...

  6. MiinCMP1.0 SAE 新浪云版公布, 开源企业站点系统

    MiinCMP是一款开源企业站点系统,除可执行于256M左右100元的国内IDC外,JUULUU聚龙软件团队最近开发了面向新浪云的版本号,该版本号可将站点免费布署到新浪云SAE上.MiinCMP採用j ...

  7. 新浪云git 上传 nodejs项目

    1 .新建一个空文件夹: 2.在当前文件夹下,初始化本地git: 3.将要上传的nodejs工程,拷贝到这里: 这一步很容易出问题,所以最好不要拷贝别人给的node_modules文件,尽量做到现用现 ...

  8. 在新浪云SAE中使用smarty引擎模版

    在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unab ...

  9. 使用新浪云 Java 环境搭建一个简单的微信处理后台

    前一段时间,写了一篇在新浪云上搭建自己的网站的教程,通过简单构建了一个 maven 的项目,展示部署的整个流程,具体的操作可以参看这里. 新浪云服务器除了可以搭建自己的网站以外,也非常的适合作为微信公 ...

随机推荐

  1. 使用Javah 生成C/C++头文件

    注意:编写java的接口文件. 注意native代码端一定不要有大括号,且要有“:”结尾. public native int add(int x ,int y); 1. 需要让eclipse自动编译 ...

  2. mvc ajax提交数组参数(转)

    http://blog.csdn.net/lonestar555/article/details/10192595/ 在action中的参数以数组方式接收数据 一.表单方式 1.提交Form < ...

  3. C++设计模式-Strategy策略模式

    Strategy策略模式作用:定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户. UML图: Strategy模式将逻辑(算法)封装到一个类(Cont ...

  4. openlayers

    很久没有写东西了,最近突然想看看地图,就翻看了下,用了2-3周时间看看网页,学习做了下:先看做的效果:

  5. oracle加并行参数PARALLEL

    select /*+ PARALLEL(t,4) */ * from table1

  6. 《从零开始做一个MEAN全栈项目》(1)

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 在本系列的开篇,我打算讲一下全栈项目开发的优势,以及MEAN项目各个模块的概览. 为什么选择全栈开发? ...

  7. JS数组键值,数组合并,

    eg: var arr = [] arr.test = '测试'; arr.push(1); arr.push(2); arr.obj = '对象'; console.log(arr);// [ 1, ...

  8. Swagger-API测试工具实战

    初次通过swagger不知道这是一个什么东东. 一.拿到一个项目需要测试,打开地址一看有个大写的swagger,于是各种脑补: 我所理解的就是,swagger是一个API开发工具或者来说是一个框架,开 ...

  9. leetcode72. Edit Distance(编辑距离)

    以下为个人翻译方便理解 编辑距离问题是一个经典的动态规划问题.首先定义dp[i][j表示word1[0..i-1]到word2[0..j-1]的最小操作数(即编辑距离). 状态转换方程有两种情况:边界 ...

  10. jquery easyui校验select下拉列表值是否为空的问题

    属性名 类型 描述 默认值 required 布尔 定义文本域是否为必填项 false validType 字符串 定义字段的验证类型,比如email, url, etc. null missingM ...