最近学到了Java Web项目,使用Idea和Maven创建Java Web的时候遇到了诸多问题,最多的还是404问题。现在记录一下解决方案。

一、使用maven创建一个web项目,这一步网上都有,下图是创建好之后的界面。maven会自动下载一些东西。可以看到,我的webapp下面有一个WEB-INF的文件夹,这个文件夹就是以后我们的web项目发布的文件夹,拷贝这个WEB-INF文件夹放到服务器上就可以运行了。

讲一下,WEB_INF文件夹下面有三个东东是必备的

  1. classes文件夹,这个是放项目编译后的字节码的
  2. lib文件夹,这个是放项目所依赖的jar包的
  3. 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项目的更多相关文章

  1. IntelliJ IDEA + Maven创建Java Web项目

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

  2. 使用IntelliJ IDEA 和 Maven创建Java Web项目

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

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

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

  4. 17. IntelliJ IDEA + Maven创建Java Web项目

    转自:https://www.cnblogs.com/Terry-Wu/p/8006475.html 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里 ...

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

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

  6. idea 中利用maven创建java web 项目

    转自:http://www.linuxidc.com/Linux/2014-04/99687.htm 本文主要使用图解介绍了使用IntelliJ IDEA 12创建Maven管理的Java Web项目 ...

  7. 【Maven】Eclipse 使用Maven创建Java Web项目

    创建环境 系统:win 10 软件:eclipse,maven 创建步骤 需求创建一个Servlet版本是3.0,Java版本是1.7的项目Maven web项目 使用eclipse工具创建maven ...

  8. 【Maven】 Eclipse使用Maven创建Java Web 项目(一)

    需求:创建一个Servlet版本3.0,Java版本是1.7的Maven Web项目 创建环境: 系统:window 7 软件:Eclipse.Maven 创建步骤: 1.使用eclipse工具创建m ...

  9. Maven配置,使用IntelliJ IDEA和Maven创建Java Web项目

    1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径   3.配置maven环境变量     4 ...

随机推荐

  1. Codeforces Round #432 Div. 1

    A:大胆猜想合法点不会很多,于是暴力检验,一旦发现不合法就break,可以random_shuffle一下. #include<iostream> #include<cstdio&g ...

  2. html概念

    一.前端 1.什么是前端 前端即网站前台部分,运行在PC端等浏览器上展现给用户浏览的网页.随着互联网技术的发展, HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美 ...

  3. 前端 -- BOM和DOM

    一,引入 到目前为止,已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  4. BZOJ4755 [JSOI2016]扭动的回文串 【后缀数组】【manacher】

    题目分析: 我写了史上最丑的后缀数组,怎么办? 首先manacher一遍两个串,这样只用考虑第三问.用$作为间隔符拼接两个串,把第一个串翻转.枚举回文中心,取最长的回文串,对于剩下的部分利用LCP匹配 ...

  5. LSM

    1.MySQL存储引擎: B+树 https://blog.csdn.net/qq_26222859/article/details/80631121 2.HBase LSM树 核心:将对数据的修改增 ...

  6. 【BZOJ3813】【清华集训2014】奇数国 线段树 数学

    题目描述 给你一个长度为\(n\)的数列,第\(i\)个数为\(a_i\).每个数的质因子都只有前\(60\)个质数.有\(q\)个询问,每次给你\(l,r\),求\(\varphi(\prod_{i ...

  7. Github Desktop 克隆新项目 Authentication failed. You may not have permission to access the repository or the repository may ha

    原来:ssh://git@github.com/xxx.git 改成:https://git@github.com/xxx.git

  8. MT【307】周期数列

    (2017浙江省数学竞赛) 设数列$\{a_n\}$满足:$|a_{n+1}-2a_n|=2,|a_n|\le2,n\in N^+$证明:如果$a_1$为有理数,则从某项后$\{a_n\}$为周期数列 ...

  9. 「JLOI2015」管道连接 解题报告

    「JLOI2015」管道连接 先按照斯坦纳树求一个 然后合并成斯坦纳森林 直接枚举树的集合再dp一下就好了 Code: #include <cstdio> #include <cct ...

  10. 如何在 Linux/Unix/Windows 中发现隐藏的进程和端口

    unhide 是一个小巧的网络取证工具,能够发现那些借助 rootkit.LKM 及其它技术隐藏的进程和 TCP/UDP 端口.这个工具在 Linux.UNIX 类.MS-Windows 等操作系统下 ...