本文转载自 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. SAP Actual Costing with Material Ledger 激活实际成本后台配置

    Actual Costing with Material Ledger 1      Purpose This configuration guide provides the information ...

  2. 【转】VSCode Web开发插件

    Web开发必备插件 1.Beautify - HTML.CSS.JS.JSON语法高亮 语法高亮,你懂的.   Beautify 2.Auto rename tag - 自动重命名标签 在HTML, ...

  3. java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer

    hibernate查询结果条数集 原写法: Integer count = (Integer )session.createQuery(hql).uniqueResult(); 报错:java.lan ...

  4. python numpy logic_and

    >>> import numpy as np >>> np.logical_and(True, False) False >>> np.logic ...

  5. Spring JDBC对象批量操作

    以下示例将演示如何使用spring jdbc中的对象进行批量更新.我们将在单次批次操作中更新student表中的记录. student表的结果如下 - CREATE TABLE student( id ...

  6. (转)关于RTP时间戳及多媒体通信同步的问题

    下载 多媒体通信同步方法,主要有时间戳同步法.同步标记法.多路复用同步法三种.下面主要讨论时间戳同步法,特别是 RTP 时间戳同步.内容包括 RTP 媒体间同步的实现,为什么需要 RTCP 的 NTP ...

  7. zabbix server端自动发现和zabbix agent端自动注册

    一.zabbix自动发现 利用zabbix的discovery功能可以实现自动批量添加主机的功能. Zabbix自动发现实现自定义主机名: 通过自动发现添加的客户端主机的Host name 是以IP地 ...

  8. Java项目性能持续优化中……

     尽量使用StringBuilder和StringBuffer进行字符串连接, 参考链接: Java编程中“为了性能”尽量要做到的一些地方

  9. 基于Redis实现分布式锁以及任务队列

    一.前言 双十一刚过不久,大家都知道在天猫.京东.苏宁等等电商网站上有很多秒杀活动,例如在某一个时刻抢购一个原价1999现在秒杀价只要999的手机时,会迎来一个用户请求的高峰期,可能会有几十万几百万的 ...

  10. spark LinearRegression 预测缺失字段的值

    最近在做金融科技建模的时候,字段里面很多缺少值得时候,模型对于新用户的预测会出现很大的不稳定,即PSI较大的情况. 虽然我们依据字段IV值得大小不断的在调整字段且开发新变量,但是很多IV值很大的字段直 ...