[Hello, Java Web]:从入门到____ - Intellij 创建Maven管理的 Java Web项目 并部署到Tomcat下(附简单Spring Framework配置)

Intelli IDEA是目前比较流行的开发环境,可以配置Maven进行项目管理,非常便捷,受到很多开发者的青睐。除了Intellij IDEA外,JetBrains推出了一系列的开发IDE,如PyCharm用于python开发,也是墙裂推荐。

0 预备工作

  • Java环境配置

  • Intellij IDEA安装,旗舰版(Ultimate)

  • Tomcat Server下载与解压(本文使用Tomcat 8)

环境配置

Paste_Image.png

1 创建:基于Maven管理的Java Web工程

创建Java Web工程方式有不止一种方法,这里记录下通过Java的Web Applicaiton方式和Maven工程方式创建。推荐Java Web Application方式。

注意:Intellij的Community版是没有Tomcat等J2EE的工具的,需要下载Ultimate版本。

1.1 Java 的 Web Applicaiton方式(不推荐)

新建工程


Paste_Image.png

完成工程创建。但有一个问题,工程没有maven管理,是一个Intellij工程,需要增加Maven管理。
项目右击:

Paste_Image.png
Paste_Image.png

参考:http://bbs.csdn.net/topics/390764673

完成Maven的添加。

1.2 Maven方式(推荐)

Paste_Image.png
Paste_Image.png
录入GroupID和ArtifactID,这里说明下这两个的作用:

GroupID是项目组织唯一的标识符,即[组名],实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符,即本工程的[工程名称],实际对应项目的名称,就是项目根目录的名称。

Paste_Image.png
一个特殊处理,加快工程创建进度
特殊处理.png
特殊处理.png

特殊处理部分参考:

archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了,所以导致很慢,指定internal来表示仅使用内部元数据。

填入工程名称
Paste_Image.png

Finish之后,完成工程创建。

第一次建立Java Web工程时,需要下载一些依赖,因为使用了archetype。

完成后的工程目录:

Paste_Image.png

此时,仅仅完成了第一步,后面需要一系列的配置。

2 配置相关参数

主要进行项目的目录配置、依赖添加、web配置等。

项目上右击:

Paste_Image.png

2.1 添加java代码目录:

Paste_Image.png
Paste_Image.png

2.2 pom.xml里添加相关依赖

添加依赖,由于使用maven管理项目,因此在pom.xml里进行依赖管理。添加的基本依赖主要包括了jstl、servlet-api以及诸如数据库、测试框架、json包以及其他第三方框架等等。如果用刀spring framework,也在pom.xml里添加,这个就稍复杂些,后续再作介绍

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.0-b01</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.4</version>
        </dependency>
    </dependencies>

所需依赖可以在https://mvnrepository.com/进行查询依赖编写方式。输入包的名称、框架名称即可查询。

2.3 web配置: web.xml

web.xml需要自己进行配置,否则是个空白的,没有任何价值的:

Paste_Image.png
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         id="WebApp_ID" version="3.1">
    <display-name>JavaWebDemoPro</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>

3 配置Tomcat并部署

主要进行工程到Tomcat的部署过程,包括启动配置。

tip:社区版的尴尬:没有相关工具

Intellij的Community版是没有Tomcat等J2EE的工具的,需要下载Ultimate版本。

Paste_Image.png
Paste_Image.png
Paste_Image.png

好久没用,一打开,果然没有了。

参考
http://qizixuan.blog.51cto.com/5648927/1851334 , 进行配置了下。

3.1 tomcat参数配置:

通过intellij顶部菜单,run -> edit configurations

Paste_Image.png

刚刚新建项目,没有任何启动配置,需要新增:

Paste_Image.png

没找到Tomcat Server,就选择更多:

Paste_Image.png

新建一个Tomcat Server 本地Local的,如果有远程的,也是可以配置的,这里先不介绍远程配置。

配置本地Tomcat:

Intellij需要配置一个自己下载的tomcat,到tomcat官方网站下载即可:

Tomcat官网:http://tomcat.apache.org/

通过configure...进行选择本地tomcat位置:

Paste_Image.png

配置发布的artifact:(很重要)

Paste_Image.png

选择exploded:

war包直接部署,war exploded是展开后部署,区别就是,展开后部署,可以更快的同步资源,及时更新,实现调试时资源及时更新重新加载。

最终部署项目时,一般部署第一个war包。

Paste_Image.png

填写发布的路径
Paste_Image.png

这里需要注意,修改这两个地方,用于发布时同步到本地server下面:


Paste_Image.png

4 运行

Paste_Image.png

可以看到,server启动,log开始输出啦:


Paste_Image.png

浏览器会自动打开默认页面:


Paste_Image.png

5 大功告成!

到此为止,已经完成了最基本的Java Web工程的建立。俗话说万事开头难,虽然工程里面啥都没有,仅仅是一个简简单单的架子,但Java Web的Hello World已经搞定了~

6 进阶阶段:Spring Framework配置

使用maven进行项目管理后,很多东西,仅仅是pom.xml的一个依赖添加动作。Spring Framework也是如此。

6.1 添加Spring Framework

pom.xml内添加依赖:

    <!-- Spring Framework-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>

本文主要参考并致谢:
使用IntelliJ IDEA 14和Maven创建java web项目
感谢作者提供的博文

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,359评论 6 343
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,568评论 25 707
  • 第一次认识王宝强同学是通过《士兵突击》中的执拗的傻子兵王许三多的角色,这个角色演得太成功了,以至于王宝强同学都成为...
    哪儿黑阅读 483评论 1 5
  • 我们在斗牛场里看表演,本来都好好的。但是突然进入了一个人,我们都很担心,不过还好没事。 我觉得进入里面还是挺好玩的...
    爱梦的我阅读 121评论 0 0