最近学到了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. MyBatis实操进阶版(一)

    MyBatis实操进阶版(一) 目前而言,持久层框架中,在业务实现灵活性上,无可出MyBatis之右者.具体原因,后续将逐步展开 ResultMap元素的设置 配置文件中,ResultMap元素的作用 ...

  2. 【BZOJ1999】【NOIP2007】树网的核 单调队列优化DP

    题目描述 题目很长,大家自己去看吧. bzoj vijos 原题\(n\leq 300\) 加强版\(n\leq 500000\) 题解 这种东西当然要猜结论的啦,否则会比较麻烦. 结论1:如果有很多 ...

  3. jquery-Ajax请求用例码

    $.ajax({                    type:"post",                    url: 'domain’,                 ...

  4. 【LOJ#6066】「2017 山东一轮集训 Day3」第二题(哈希,二分)

    [LOJ#6066]「2017 山东一轮集训 Day3」第二题(哈希,二分) 题面 LOJ 题解 要哈希是很显然的,那么就考虑哈希什么... 要找一个东西可以表示一棵树,所以我们找到了括号序列. 那么 ...

  5. bzoj2288 生日礼物 (线段树)

    我当然想选最大的子段和啦 但要选M次 那不一定就是最好的 所以提供一个反悔的选项,我选了一段以后,就把它们乘个-1,然后再选最好的(类似于网络流的思路) 这个可以用线段树来维护,记一个区间包含左端点/ ...

  6. CF1131E String Multiplication(???)

    这题难度2200,应该值了. 题目链接:CF原网 题目大意:定义两个字符串 $s$ 和 $t$($s$ 的长度为 $m$)的乘积为 $t+s_1+t+s_2+\dots+t+s_m+t$.定义一个字符 ...

  7. centos7下安装vnc更改vnc默认端口号

    应用场景:某些情景下,需要用的linux的桌面环境,Ubuntu的桌面性能在linux发行版中算是数一数二的,如果不熟悉Debian系统,Centos/RHEL系列也行:   我这里的场景是开发人员不 ...

  8. angular与vue的应用对比

    因为各种笔试面试,最近都没时间做一些值得分享的东西,正好复习一下vue技术栈,与angular做一下对比. angular1就跟vue比略low了. 1.数据绑定 ng1 ng-bind,{{ sco ...

  9. goaccess nginx 日志分析

    用法介绍 GoAccess的基本语法如下: goaccess [ -b ][ -s ][ -e IP_ADDRESS][ - a ] <-f log_file > 参数说明: -f – 日 ...

  10. java 遍历方法 及 数组,ArrayList,HashMap,HashSet的遍历

    一,遍历方法的实现原理 1.传统的for循环遍历,基于计数器的: 遍历者自己在集合外部维护一个计数器,然后依次读取每一个位置的元素,当读取到最后一个元素后,停止.主要就是需要按元素的位置来读取元素. ...