本文转载自 https://segmentfault.com/a/1190000007088964

1. 新建一个 Web Application 项目

  1. 打开 IntelliJ,选择新建项目:

  2. 左边栏选择 Java Enterprise,右侧勾选 Web Application,具体如下:

  3. 输入项目名:

2. 基本配置

2.1 配置输出目录和库目录

  1. project/web/WEB-INF 目录下新建两个目录:libclasses,前者用来保存后期引入的 jar 包,后者用于存放编译输出的文件:

  2. 点击右上角的方块按钮:

  3. Modules > Paths 中设置编译输出目录为之前创建的 classes 文件夹,如下图所示:

  4. Modules > Dependencies 中点击下方加号按钮,将之前创建的 lib 文件夹添加进库目录(之后选择 Jar Directory):

  5. Artifacts > Output Layout 中,将右侧 Available Elements 中的 lib 文件夹加入到左侧,使得 lib 中的文件会在编译的时候输出:

2.2 添加部署目录

  1. Tomcat 目录下有一个 webapps 文件夹,是服务启动的根目录,类似于 Apache 的 htdocs。当启动 Tomcat 服务时,访问 localhost:8080 相当于访问 webapps 目录;

  2. 如果我们把项目输出的文件放到 webapps 中的项目文件夹中(如:/myproject),就可以通过访问 localhost:8080/myproject 的方式访问到这一项目;

  3. IntelliJ 默认的部署目录是当前工程目录下的 out 文件夹。即在写好代码并点击右上角的运行按钮后,IntelliJ 会将项目文件输出到当前项目目录下的 out 文件夹而不是 webapps 中,也就意味着,此时如果采用手动启动 Tomcat 服务的方式,是无法通过访问 localhost:8080/myproject 访问项目的;

这里修改 Artifacts > Output Directorywebapps/myproject

2.3 端口和 Tomcat 设定

  1. 点击右上角的 Edit Configurations:

  2. 设定启动端口,这里可以取消勾选 Open Brwoser After launch 选项(是否在点击运行按钮后自动打开浏览器并访问项目)

  3. 点击 Configure 按钮,设置 Tomcat 位置为安装的 Tomcat 路径。如果在新建项目界面时已经设定了 Tomcat,则这里无需再设置:

  4. deployment 中设定项目 Context:

如这里设定为 /test 则点击运行按钮后,访问 localhost:8080/test 即可访问该项目。

3. 备忘

  1. 如果使用 IntelliJ 的运行按钮启动的 Tomcat,且没有修改默认端口(即和 Tomcat 默认端口 8080 一致),也没有修改项目 Context(仍为 /),则可能会使得设置的 servlet 无法生效,即在访问设定的 url-pattern 时提示 404 错误。解决方法是在 IntelliJ 中修改默认端口号、修改默认 Context,或是在修改了部署目录后,使用手动方式启动 Tomcat,并访问该项目;

  2. Servlet 的设置方式在 Servlet 3.0 之后除了修改 web.xml 文件,还可以以添加 servlet 注解的方式设置:

  3. 查看 Servlet 版本的方式是解压 Tomcat 目录下的 lib/servlet-api.jar,并查看解压后的 META-INF/MANIFEST.MF 文件:

  4. 手动启动 Tomcat 的方法:
    cd you/path/to/tomcat 然后执行 ./startup.sh 或是 ./catalina.sh start。当然,需要给这两个文件以执行权限:sudo chmod a+x catalina.sh startup.sh

  5. 在某一项目中进行全局设置:File > Other Setting > DefaultSetting

4. 参考

    1. intellij idea 创建servlet的时候如何自动更新web.xml文件 - 知乎

    2. IntelliJ IDEA 14.x 与 Tomcat 集成,并运行Web项目 - 推酷

    3. java web开发中,如何查看JSP和Servlet版本 - 163博客

    4. Mac OS X上IntelliJ IDEA 13与Tomcat 8的Java Web开发环境搭建 - 博客园

    5. javaweb学习总结(五)——Servlet开发(一) - 博客园

    6. Intellij IDEA的基本使用 - CSDN

《转载》IntelliJ 2016.2 IDEA 中进行 Java Web 项目开发配置的更多相关文章

  1. idea中的java web项目(添加jar包介绍)和java maven web项目目录结构

    java web项目 web项目下web根目录名称是可以更改的 idea中新建java web项目,默认src为Sources Root,当然也可以手动改,在Sources Root下右键只能新建Pa ...

  2. 使用MyEclipse搭建java Web项目开发

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...

  3. JAVA WEB项目开发案例精粹

    http://www.blogjava.net/zongbao/archive/2012/07/24/383884.htmlJAVA WEB项目开发案例精粹.pdf main Alt + / => ...

  4. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  5. 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)

    首先.在開始搭建MyEclipse的开发环境之前.还有三步工具的安装须要完毕,仅仅要在安装配置成功之后才干够进入以下的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官 ...

  6. 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)

    1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...

  7. 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)

    转自:https://blog.csdn.net/myarrow/article/details/50824793 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和 ...

  8. IntelliJ IDEA启动一个普通的java web项目的配置

    文:朱季谦 这是我很久以前刚开始用IntelliJ IDEA时记录的笔记,正好赶上最近离职了,可以有比较多的时间把以前的记录整理一下,可以让刚接触到IntelliJ IDEA的童鞋学习如何在Intel ...

  9. maven3在eclipse3.4.2中创建java web项目

    学习maven时参考的一些的博客地址:http://www.cnblogs.com/fnng/archive/2011/12/16/2290587.htmlhttp://sarin.iteye.com ...

随机推荐

  1. 概念:CountDownLatch、CyclicBarrier、Semaphore,以及guava的RateLimiter

    概念 CountDownLatch:一个门闩,作用是将某个线程关在门外,等门里的人分赃完毕(计数为0)的时候,才会打开门,让外面的那个线程执行. CyclicBarrier:直译的话,就是循环障碍.貌 ...

  2. Prolog学习:基本概念

    上一篇对Prolog有了一个感性的认识,今天介绍下Prolog中一些基本概念,想要用Prolog解决一些实际问题之前必须要先了解它们.这些概念在<七周七语言>这本书中都有介绍,我简单提炼汇 ...

  3. C# 在托盘显示图标

    //上面一行是主窗体InitializeComponent()方法中需要添加的引用 this.SizeChanged += new System.EventHandler(this.Form1_Siz ...

  4. com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: 为队列管理器提供的安全性认证无效

    com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: 为队列管理器“zm_queue_manager”提供的安全性认证无效, ...

  5. 谈谈如何优化MYSQL数据库查询

    1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他们认为最简单的方案,以加快编码速度,或者选择最明显的选择,因此,你可 ...

  6. css3实现小箭头,各种图形

    转:http://blog.csdn.net/tangtang5963/article/details/51490107 https://segmentfault.com/a/119000000278 ...

  7. c++ String去除头尾空格

    1.使用string的find_first_not_of,和find_last_not_of方法 #include <iostream> #include <string> s ...

  8. MyBatis的深入原理分析之1-架构设计以及实例分析

    MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例, ...

  9. logback.xml常用配置详解

    <?xml version="1.0" encoding="UTF-8"?><configuration debug="false& ...

  10. php中实现记住密码下次自动登录的例子

    这篇文章主要介绍了php中实现记住密码下次自动登录的例子,本文使用cookie实现记住密码和自动登录功能,需要的朋友可以参考下 做网站的时候经常会碰到要实现记住密码,下次自动登录,一周内免登陆,一个月 ...