最近想用idea创建一个ssm项目来练手,但是遇到了各种坑,所以写出来,算是做一个总结吧
目录
1、不使用Maven骨架创建web项目
把当前的项目配置成web项目(此时的项目是没有webapp文件夹的)
如图所示
我们自己要手动添加webapp以及WEB-INF和web.xml
如图所示
最后把webapp设置成我们项目的根目录(在Project Structure. 在Modules下配置)
注意:
在上一步如果细心的话会发现那两个目录根本不是我们webapp下的,而是web下的如图:
webapp文件夹上有一个小蓝点.才能说明配置成功
此时已经配置完成了,准备去配置Tomcat了
2、用maven骨架创建web项目
打开file 选择new一个project 如图,点击next
新建成的项目如图所示(没有我们的目录架构,少java,resource,test)
建成的目录架构如图(注意,test和main同级,java,resources,webapp同级)
然后配置项目
3、把web项目部署到tomcat上
现在已经完成部署了,你可以直接去浏览器访问你的项目了
总结:
用骨架和不用骨架的区别
用骨架呢,idea已经知道你这是一个web项目了,所以它会吧webapp当做项目的根目录进行访问,但是确没有咱们开发时的目录,这个的自己建,建好以后还必须告诉idea是用来存放什么资源的
不用骨架呢,是idea帮我们创建好了开发的架构,缺没有webapp,所以我们要自己创建webapp,而且要告诉idea把webapp当做项目的根目录,还要把它配置成一个web项目
项目的配置
一直不理解artifacts是什么意思,特意做一个详细的解释,希望可以加深理解吧
artifact是一个项目资源的组合体。例如,一个已编译的java类的集合,一个已打包的java应用。
artifact可以是一个archive文件,也可以是一个包含以下结构元素的目录结构:
-- (一个或多个)module的编译Output;
-- 包含在module的依赖中的Libraries;
-- 资源的集合,如web页面,图片,decriptor文件;
-- 其他artifacts;
-- 个别文件、目录和archives;
通过artifact配置实现运作:
Artifacts会根据artifacts配置自动生成。配置方式:Project Structure dialog (File | Project Structure | Artifacts)
常规设置:
Name :artifact配置的名称,又或是artifact的名称。
Type :artifact的类型
Output directory :当执行build(Build | Build Artifacts)时,artifacts将被放到这个指定的目录下。
Build on make :当build project(Build | Make Project)时,会自动build artifacts。
由此可见,
①当我们项目中的Type 和 Output directory是:
此时,我们的Artifacts是这个样子:(已编译的资源和已打包的应用)
②当我们的Type 和 Output directory是:
此时我们的Artifacts是这样:(一个目录结构)
Artifacts的默认配置会是这样:
最后,提醒一句,idea里的配置真的很多,我习惯的把它们分成三类,
idea的配置(file-->settings)
项目的配置(右上角搜索左边的小图标,project structure)
tomcat的配置(run-->Edit Configurations)
分清这几个配置可能对idea的使用有更好的理解
最后,这也是自己的一些总结,如果有什么不合理的地方希望各位大神不吝赐教,在下感激不尽,如果看完觉得不完善提一句,我争取完善完善,大家一起交流