Idea使用Maven创建Java Web项目
最近学到了Java Web项目,使用Idea和Maven创建Java Web的时候遇到了诸多问题,最多的还是404问题。现在记录一下解决方案。
一、使用maven创建一个web项目,这一步网上都有,下图是创建好之后的界面。maven会自动下载一些东西。可以看到,我的webapp下面有一个WEB-INF的文件夹,这个文件夹就是以后我们的web项目发布的文件夹,拷贝这个WEB-INF文件夹放到服务器上就可以运行了。
讲一下,WEB_INF文件夹下面有三个东东是必备的
- classes文件夹,这个是放项目编译后的字节码的
- lib文件夹,这个是放项目所依赖的jar包的
- web.xml文件,这个就是一个配置文件

可以看到,上图的WEB-INF文件夹下已经有了web.xml这个文件了(这个是你们404的罪魁祸首,我们会在下面删了它重建),3个必要元素已经有了一个,还差两个文件夹,这个我们自己创建一个,创建好之后如图:

二、第二步就是配置了,我们需要配置一下发布的字节码路径是classes,发布的依赖的jar包路径是lib啥的,貌似Eclipse直接在web.xml配置就可以,Idea的我目前只知道这种
打开 Project Structure
第一个Project项目,不需要改什么东西,我画红线的地方意思是,发布后的文件夹,这个不要动他了,不要改

第二个模块Modules这里,先配置Sources,没有的文件夹自己建上去,可能会有疑问,为什么有out和target两个文件夹?答案是
out文件夹是你的项目的输出的路径,里面只保存了类的classes文件
target文件夹里面有你的类的classes和你的web项目,这个是为你的Tomcat准备的

Paths面板配置需要把我们刚才建立的classes和lib文件夹配置上去,这个地方选哪个都行,因为我目前只有一个Modules,所以我可以使用Project的路径,多个的话自己配吧,一定是out下面的某个文件

Dependercies面板这样配置



第三个Libraries,这样配置,选java

还是选我们创建的lib文件夹
Facets这里,最最最重要!因为我们啥都是自己配置的,这个默认的web.xml就是导致出现404错误的原因,我们需要点击删除上面的web.xml,然后自己新建一个就完事了

删完之后,点击+号,点web.xml,路径选对,选我们的WEB-INF下面。完事。
最后一个Artifacts,这个可以说是非常非常非常重要了,我错了那么多就是因为这个,我们新建一个Exploded,Form我们上面配置的模块Modules。配置完之后如下图。


这里要设置target下面的class,这个是我们发布后的web文件的所在地
至此,我们的Idea配置就完成了。接下来,配置一下Tomcat,写一个jsp试试看。
配置Tomcat,网上都是教程,这里我只强调一点,就是Deployment页面,一定要选择我们刚才创建的Artifact!!!
如图


最后的最后,我们新建一个jsp文件来测试一下我们上面的IDea配置和Tomcat配置。
在webapp下面新建一个jsp,名字叫index,index是默认访问的名字,随便写点东西

上面的绿色的运行小三角。大功告成

Idea使用Maven创建Java Web项目的更多相关文章
- IntelliJ IDEA + Maven创建Java Web项目
1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...
- 使用IntelliJ IDEA 和 Maven创建Java Web项目
1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...
- 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)
1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...
- 17. IntelliJ IDEA + Maven创建Java Web项目
转自:https://www.cnblogs.com/Terry-Wu/p/8006475.html 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里 ...
- 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)
转自:https://blog.csdn.net/myarrow/article/details/50824793 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和 ...
- idea 中利用maven创建java web 项目
转自:http://www.linuxidc.com/Linux/2014-04/99687.htm 本文主要使用图解介绍了使用IntelliJ IDEA 12创建Maven管理的Java Web项目 ...
- 【Maven】Eclipse 使用Maven创建Java Web项目
创建环境 系统:win 10 软件:eclipse,maven 创建步骤 需求创建一个Servlet版本是3.0,Java版本是1.7的项目Maven web项目 使用eclipse工具创建maven ...
- 【Maven】 Eclipse使用Maven创建Java Web 项目(一)
需求:创建一个Servlet版本3.0,Java版本是1.7的Maven Web项目 创建环境: 系统:window 7 软件:Eclipse.Maven 创建步骤: 1.使用eclipse工具创建m ...
- Maven配置,使用IntelliJ IDEA和Maven创建Java Web项目
1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 4 ...
随机推荐
- oracle总结--增删改查
oracle的执行计划SQL> EXPLAIN PLAN FOR SELECT * FROM emp;已解释.SQL> SELECT plan_table_output FROM TABL ...
- Flask 构建微电影视频网站(三)
搭建后台页面 视图函数位于admin文件夹下, app/admin/views.py 管理员登录页面搭建 视图函数 @admin.route('/') def index(): return '后台主 ...
- ubuntu 16.04 主题美化及终端美化
如果你使用的是图形界面,你会发现ubuntu默认的界面真是丑的一批,所以简单美化一下: 1.安装unity-tweak-tool: sudo apt-get install unity-tweak-t ...
- 【XSY2786】Mythological VI 数学
题目描述 有\(1\sim n\)一共\(n\)个数.保证\(n\)为偶数. 你要把这\(2n\)个数两两配对,一共配成\(n\)对.每一对的权值是他们两个数的和. 你想要知道这\(n\)对里最大的权 ...
- Educational Codeforces Round 58 A,B,C,D,E,G
A. Minimum Integer 链接:http://codeforces.com/contest/1101/problem/A 代码: #include<bits/stdc++.h> ...
- django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
报错现象 django 启动的时候报错 django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. 报错解决 记不清是我有毛 ...
- docker-网络基础
网络 Docker 网络从覆盖范围可分为单个 host 上的容器网络和跨多个 host 的网络 Docker 安装时会自动在 host 上创建三个网络, ⚡ root@bogon /home ...
- 利用ansible批量部署zabbix-agent
应用环境:Linux运维工作少不了一个好的监控,zabbix就是目前比较好的一款开源监控软件. 监控类型多种多样,如果不介意或者系统支持安装,那么agent方式是首选. 当主机数量较多时,可以利用相关 ...
- Building real-time dashboard applications with Apache Flink, Elasticsearch, and Kibana
https://www.elastic.co/cn/blog/building-real-time-dashboard-applications-with-apache-flink-elasticse ...
- AOP实践--利用MVC5 Filter实现登录状态判断
AOP有的翻译"面向切面编程",有的是"面向方面编程".其实名字不重要,思想才是核心,mvc的Filter让我们很 方便达到这种面向方面编程,就是在现有代码的基 ...