最近 正在学习gradle构建工具的使用,看了一堆的文档,有点一知半解,索性动作实践一把,在以后的自己的项目中尝试使用看看。目前手头用的是IntelliJ IDEA 14,搭建了一天终于明白怎么集成gradle赖开发Java web,就在这里记下来以后备用。

准备工作

  1. 本机安装好gradle
  2. 安装好java环境和IDEA 14
  3. 准备好tomcat
  4. 使用Jfinal jar包,后续做一个简单的Demo

    #

工程创建步骤

  1. 打开IDEA,选择“New Project”->"Gradle",勾选图中的几个选项,在“gradle home”中填上本机gradle的安装目录,点击“next”。
  2. 填写工程名。点“finish”。
  3. 生成项目后目录结构如下,其中lib是手动建立的目录,用来放一些从本地导入的依赖包,后面Jfinal的jar包就在这里。其他目录都是IDEA根据gradle规范生成的。(运行build.gradle)

  4. 创建webapp目录,就是java的web目录(Eclipse中的WebRoot),存放jsp文件和WEF-INF等文件的地方。根据gradle目录规范。编辑build.gradle文件,在开头添加一个apply plugin: 'war',在IDEA的gradle工具栏中运行"build"命令,就会生成在src/main下生成一个webapp文件夹,并且在项目的Modules中生成一个Web项目。
  5. 创建web.xml文件。点击"File"->"Project Structrue"。在对话框中选择"Modules",选择右边的项目下上一步生成的Web项目,点"Deployment Descriptor"中的绿色加号,在/src/main/webapp下添加一个web.xml文件。
  6. 这时一个java web项目的结构就已经搭建好了,看到项目菜单里的webapp文件夹已经有个小地球的标志。现在就可以按照在IDEA下java web开发的的操作开发web项目了。
  7. 按照Jfinal的帮助文档,把jar包导入,把web.xml配置好,写好Demo类,然后用gradle build,一个web demo就编译好了,后续只要启动web容器,部署应用即可。
  8. gradle用jetty插件运行web项目更方便,

    apply plugin: 'jetty'
    

    gradle jettyRun,这里我还是用IDEA启动tomcat做测试。配置好tomcat,将gradle生成的artifacts(gradle构建时自动为项目天刚加了2个artifacts,一个是项目的war包,一个是没打包的exploded,推荐用exploded)添加到tomcat的deployment中。

  9. 点击工具栏上的"run",启动tomcat,容器启动后部署应用,没问题就可以正常访问站点了。

  10. 最后项目的目录结构:

  11. 几个文件的代码:

build.gradle

    apply plugin: 'java'
//IntelliJ IDEA 插件
apply plugin: 'idea'
//war包插件
apply plugin: 'war' sourceCompatibility = 1.6
version = '1.0' repositories {
// 使用开源中国的maven仓库
maven { url 'http://maven.oschina.net/content/groups/public/' }
} dependencies {
//导入本地的依赖包
compile fileTree(dir: 'libs', include: ['*.jar'])
//从maven仓库导入依赖
compile ('org.apache.httpcomponents:httpclient:4.4')
compile ('org.apache.commons:commons-lang3:3.3.2')
}

web.xml

    <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"> <filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.jfinal.demo.Config</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

DemoConfig.java

package com.jfinal.demo;

import com.jfinal.core.Controller;

public class DemoController extends Controller{
public void hello(){
renderText("hello world");
} }

DemoController.java

package com.jfinal.demo;

import com.jfinal.config.*;
import com.jfinal.render.ViewType; public class DemoConfig extends JFinalConfig {
public void configConstant(Constants me) {
me.setDevMode(true);
me.setViewType(ViewType. JSP);
}
public void configRoute(Routes me) {
me.add("/", DemoController. class);
}
public void configPlugin(Plugins me) { }
public void configInterceptor(Interceptors me) { }
public void configHandler(Handlers me) { }
}

To Be Continue

gradle作为一个新兴的构建工具,有很多好玩的地方,解决完工程搭建后,要好好研究研究才行:)

使用IntelliJ IDEA,gradle开发Java web应用步骤的更多相关文章

  1. IntelliJ IDEA gradle 创建 Java web 应用

    1.如下图,第一步很简单的,File->New->Project 2.在左边栏目找到Gradle,然后在右边勾选Java 和web 两个选项,next.如果只是Java项目就只选java就 ...

  2. MyEclipse开发Java Web项目步骤

    1.安装工具 第一步,下载安装JDK,并配置环境: 配置环境变量步骤: (1)新建变量名:JAVA_HOME,变量值为JDK的安装路径: (2)打开PATH,添加变量值:%JAVA_HOME%\bin ...

  3. 使用IntelliJ IDEA开发java web

    前言:由于本人接触java语言时间还比较短,IDE工具eclipse还比较熟悉点,想试试用IntelliJ IDEA来开发java web项目来练练手! 一.下载安装篇 1.安装IntelliJ ID ...

  4. IntelliJ IDEA: maven & jetty 开发 java web

    之前使用eclipse + maven + jetty开发java web应用,本着no zuo no gain的想法, 折腾了一下Intellj idea下开发环境的搭建,顺带学习了maven re ...

  5. 26.使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面

    转自:https://blog.csdn.net/yuxxz/article/details/51318908 使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及 ...

  6. Gradle构建Java Web应用(转)

    转自:http://www.blogjava.net/jiangshachina/archive/2014/02/03/409285.html 本文是发布在java.net上的一篇摘自于<Gra ...

  7. Gradle构建Java Web应用:Servlet依赖与Tomcat插件(转)

    Gradle的官方tutorial介绍了构建Java Web应用的基本方法.不过在使用Servlet做上传的时候会碰到问题.这里分享下如何通过Servlet上传文件,以及如何使用Gradle来构建相应 ...

  8. eclipse开发Java web工程时,jsp第一行报错,如何解决?

    与myeclipse不同,eclipse开发java web项目时是要下载第三方软件(服务器)的,正是这个原因,很多初学者用eclipse学习java web的时候,总是会遇到一些小问题.其中常见的一 ...

  9. 使用intelliJ IDE开发java web项目

    <!-- spring版本号 --> <spring.version>4.3.0.RELEASE</spring.version> <!-- mybatis版 ...

随机推荐

  1. vue music 歌单组件

    在data里面定义 discList: [] methods: { _getRecommend() { getRecommend().then((res) => { if(res.code == ...

  2. 常见web安全攻防总结

    Web 安全的对于 Web 从业人员来说是一个非常重要的课题 , 所以在这里总结一下 Web 相关的安全攻防知识,希望以后不要再踩雷,也希望对看到这篇文章的同学有所帮助.今天这边文章主要的内容就是分析 ...

  3. UVA之1121 - Subsequence

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/SunnyYoona/article/details/25840365 [题目] A sequence ...

  4. Mac下忘记mysql密码怎么办

    Mac本地安装了数据库,忘记数据库密码的情况下,可以按照以下步骤进行修改密码 step1: 关闭mysql服务: 苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服 ...

  5. oracle之 RAC 11G ASM下控制文件多路复用

    如果数据库仅有一组control file文件,需要添加一组或者多组,保证一组文件损坏或者丢失导致数据库宕机. -- 环境说明SQL> select * from v$version;BANNE ...

  6. CentOS 6.0 VNC远程桌面配置方法(转帖)

    问题:新装开发机,安装VNC软件后,按照下面文档配置后,无法用VNC view连接,关闭防火墙后可以连上 解决方法:说明问题出在防火墙配置上,除了允许15900端口外,还有其他要设,经过排查后,加上如 ...

  7. fork()、vfork()、clone()和exec()

    前三个和最后一个是两个类型.前三个主要是Linux用来创建新的进程(线程)而设计的,exec()系列函数则是用来用指定的程序替换当前进程的所有内容.所以exec()系列函数经常在前三个函数使用之后调用 ...

  8. PAT 甲级 1011 World Cup Betting (20)(20 分)(水题,不用特别在乎精度)

    1011 World Cup Betting (20)(20 分) With the 2010 FIFA World Cup running, football fans the world over ...

  9. 找到一篇关于2.4/5G信道的新介绍

    关于部分手机无法搜索到5G wifi信号的解决方法第一次在论坛发基础理论贴,希望能普及关于5G wifi的基础知识.         发此贴的原因是基于本人突然发现:MX3刷了3.4.1系统后,搜索不 ...

  10. Windows常用内容渗透命令

    假设现在已经拥有一台内网[域]机器,取名X-007. 1-1.内网[域]信息收集 A.本机X-007信息收集. [+]------用户列表[Windows用户列表/邮件用户/...] ----> ...