在上篇博客中我们介绍了如何安装Eclipse Che这种浏览器SDK之后,收到了许多开发者的提问,为了方便初学者开发Java web应用,笔者又一步步实践了spring web开发(demo)过程,欢迎指正。使用Eclipse Che需要你掌握基本的maven命令(如果以前用ant,很容易就会掌握)。本文介绍一个如何利用Eclipse Che开发Spring Web,开发者也需要懂得关于Spring基础知识。 博文包括几个部分:1.Spring Demo项目创建,2.编译和部署,3.运行web应用,4.总结

1.创建spring web项目(DEMO)

进入workspace目录,workspace --> create project --> web java spring,如下:

点击next,完成创建:

初次打开时候,CreetingController.java会有很多红色错误,原因是无法找到依赖库,这个后台从maven repo下载依赖库,等完成所有依赖下载之后会正常显示。如下:

其实linux依赖库放在:~/.m2/respository下面(懂得maven的人略过)。(打开Consoles输入相关命令即可,如下示例)

2.maven编译和部署

创建一个cmd(安装Eclipse Che这篇已经介绍了),命令如下(默认cp到webapps,保存为ROOT.war,可根据需要改为web名,如TestSpring.war):

mvn -f ${current.project.path} clean install && cp ${current.project.path}/target/*.war $TOMCAT_HOME/webapps/ROOT.war

实际输入命令为:clean install && cp ${current.project.path}/target/*.war $TOMCAT_HOME/webapps/ROOT.war(如下图配置命令)

注意:默认TOMCAT_HOME已经配置完成。你可以在consoles中看到路径(echo $TOMCAT_HOME)

完成编译和部署(Console输出如下)

3.运行Web服务

3.1.启动dev machine环境(Docker)中tomcat8容器

可以在terminal采用命令方式启动tomcat8,即:默认在home user目录(/home/user/tomcat8)下,在bin目录下启动脚本startup.sh

3.2.在tomcat8 webapps目录下,你看到有个ROOT.war为刚刚copy过去的TestSpring项目编译后的war,启动后自动在webapps解压为ROOT(根应用)

3.3.在workspace右上角有一个蓝色切换按钮,可以查看docker中tomcat8地址与本机地址的映射关系,如下图:

即可知道,docker tomcat8 8080对应地址和端口,在本地浏览器中敲入地址:http://192.168.99.100:32769,展示如下界面,说明应用发布成功。如果发布不成功,请检查tomcat8是否启动。

OK,测试应用没有问题(可以松一口气了,哈哈)!

对于刚入门的用户可能会有所疑惑

1.docker中应用对应本地的地址,VM安装后已经默认分配了地址

2.默认docker中是没有启动tomcat8,因此直接http://192.168.99.100:32769,是无法打开网页的,检查tomcat8是否开启可以用如下命令(二者皆可):

a.熟悉java的人都知道用jps命令查看java进程,如下图(命令:jps -vl),红框为tomcat8服务,表示启动了。你可能注意到还有一个进程,其实为ws-agent,即为workspace -agent,为docker与跑che.bat对接的agent

b.一般默认tomcat为8080服务端口,用netstat -apn| grep 8080查看tomcat是否启动也是可以的。下图红框表示本地8080端口已经启动监听,另外与远端192.168.99.1:8080位ws-agent与Eclipse Che对接的服务,上文已经说明

4.总结

总体说,通过Eclipse Che运行起一个web应用还是相对简单的。笔者在使用Che过程中,切身体会到采用Che相对传统的APP SDK模式便利很多,真可谓随时随地(只要能连上)就可以开发,Eclipse Che已经天然和Git和docker集成,一键式串联整个团队开发过程中涉及的几个过程:版本管理,编译,部署和运行。当然,目前Eclipse Che功能还不是很完善,期待新版本出现!

Eclipse Che开发Spring Web应用(入门) (二)的更多相关文章

  1. Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求

    jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...

  2. Spring Web Flow 入门demo(二)与业务结合 附源代码

    第一部分demo仅仅介绍了简单的页面跳转,接下来我们要实现与业务逻辑相关的功能. 业务的逻辑涉及到数据的获取.传递.保存.相关的业务功能函数的调用等内容,这些功能的实现都可用Java 代码来完毕,但定 ...

  3. 菜鸟学习Spring Web MVC之二

    有文章从结构上详细讲解了Spring Web MVC,我个菜鸟就不引据来讲了.说说强悍的XP环境如何配置运行环境~~ 最后我配好的环境Tomcat.Spring Tool Suites.Maven目前 ...

  4. Web API 入门 二 媒体类型

    还是拿上面 那篇 Web API 入门 一  的那个来讲 在product类中加一个时间属性

  5. Spring Web Flow 入门demo(三)嵌套流程与业务结合 附源代码

    上篇博客我们说Spring web Flow与业务结合的方式主要有三种,以下我们主要介绍一下第三种的应用方式 3,运行到<action-state> 元素 SpringWeb Flow 中 ...

  6. Spring Web MVC(二)

    [toc] 五大核心组件 Controller (处理器.控制器) 控制器的概念是MVC设计模式的一部分(确切地说,是MVC中的C).应用程序的行为通常被定义为服务接口, 而控制器使得用户可以访问应用 ...

  7. JavaWeb学习笔记——开发动态WEB资源(二)HelloWord

    该工程的功能是在页面上输出一段话 首先在src里面新建一个class,在interface里面添加javax.servlet.Servlet 以下是HelloServlet.java中的代码: pac ...

  8. 在eclipse中运行spring web application时的异常: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis ...

  9. Eclipse Oxygen创建maven web项目(二)

    配置项目依赖库及第三方工具. 如示例的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi ...

随机推荐

  1. Numpy库进阶教程(一)求解线性方程组

    前言 Numpy是一个很强大的python科学计算库.为了机器学习的须要.想深入研究一下Numpy库的使用方法.用这个系列的博客.记录下我的学习过程. 系列: Numpy库进阶教程(二) 正在持续更新 ...

  2. OC中对于属性的总结(@property)

    在没有属性之前: 对成员变量进行改动都要用到设置器:setter来改动 Person *per =[[Person alloc] init]; 对象通过设置器对成员变量内容进行修该 [per setN ...

  3. HDU 6217 BBP Formula (数学)

    题目链接: HDU 7217 题意: 题目给你可以计算 \(π\) 的公式: \(\pi = \sum_{k=0}^{\infty}[\frac{1}{16^k}(\frac{4}{8k+1})-(\ ...

  4. 清除浮动.md

    清除浮动的三种方法 1 加空div层(.clear) 2 overflow属性设置(.clearo) 3 :after伪元素(.clearfix) <!DOCTYPE html> < ...

  5. layui是什么

    layui是什么 一.总结 一句话总结:初步看起来比amazeui好看一点点.移动端显示看起来效果真心不错.还有即时聊天那个组件下载,感觉真心不错,可以多去看看. 二.Layui 1.简介 经典模块化 ...

  6. php 发送QQ邮箱邮件

    这是我的源码比较简陋 https://www.lanzous.com/i2l7h8f 感谢 https://www.cnblogs.com/woider/p/6980456.html 下载phpmai ...

  7. 11、DMA操作说明

    先理解cache的作用CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中(hit)”,此时CPU直接从Cache中调用该内容:否则,就 称为“ 不命中”,CPU只好去内 ...

  8. gdb查看线程堆栈信息

    查看堆栈:gdb -quiet -batch -ex='thread apply all bt' -p pid查看运行位置:gdb -quiet -batch -ex='thread apply al ...

  9. stm32的ADC规则组通道采样顺序设置

    先看一下固件库手册 再看一下手册上的例子:  有两个通道,,并且顺序如下

  10. Ubuntu12.04LTS SDK无法更新

    1.打开终端输入sudo gedit /etc/hosts 加入下面 2.加入下列文字到文件里:       203.208.46.146 dl.google.com       203.208.46 ...