springmvc开发时IDE的使用和最简化配置
IDE的选用
采用的方案是:
用Intellij IDEA来编辑代码,用MyEclipse来编译和部署.
原先小程序开发时就采用 webstorm编辑+微信开发工具编译运行 的组合开发方式,而且电脑16G内存毫无压力,所以就傲娇地左剑右刀地上阵.
MyEclipse:用于建立工程,编译和部署
建立web Project时目录设置无缝对接tomcat,而且服务器部署非常方便,一键部署,且支持识别源码改动后的自动部署.
但是,作为用惯了android studio的人来说,对MyEclipse以及Eclipse的界面布局,代码提示,源码关联等都不满意,一用就感觉开发效率下降太多了.
Intellij IDEA:用于编辑代码
代码联想功能非常强大,非常智能.
代码编写时很顺畅,不会有eclipse/MyEclipse那样打开文件时很卡的感觉.
但是,编译和部署时要自己动手配置太多东西,太麻烦,还容易出错.
如下图,需要设置文件夹属性,以及artifacts里输出目录等等,极其繁琐,需要自己根据tomcat的webapp目录要求来设置输出文件夹,远远没有myEclipse那么方便(原生支持).
即使是其中有springmvc的模板,可以自动生成springmvc的model,但部署后也出现各种关联不全,类找不到等等问题.折腾良久,能配置成功,但相对于MyEclipse的无缝支持,直接就被秒杀了.

IDE的配置
MyEclipse-配环境
改成utf-8编码

配置tomcat

MyEclipse-新建工程
新建web project,下方选next:

勾上让它生成web.xml

立马就可以运行看到tomcat里的运行效果:

发布工程界面

运行效果:
注意端口号默认是8080,我这里改过了.

IDEA
导入工程后需要配置它的依赖,才能让代码正常关联.

注意不要选下方的

拷贝spring所需jar包到lib目录下

然后,手动设置依赖库(myEclipse那边会自动识别,而IDEA需要手动设置)

选择添加jar,选中所有jar包,确定即可.
注意,如果是maven,则这里会显示maven的相关依赖,也是选中并添加即可.

文件夹属性的设置:
将src标记为source
这个操作等同于Myeclipse里,在一个文件夹上点击右键---- buildPath ---- use as a source folder
都是设置给IDE看的,相当于打了一个标记,让其知道怎么去识别和编译.

springMVC的最简化配置
web.xml中配置servlet:

注意,指定spring的配置文件时,前面加classpath是指编译后在classes的根目录下,要达到这个目的,springmvc.xml的位置要在myeclipse中要指定为source folder:
注意文件夹图标的区别:

springmvc中的配置:
扫描指定文件夹获取controller
指定ViewResolver的文件夹路径和后缀
其他组件配置使用默认的配置(它自己会去读springmvc的jar包里的properties文件,拿到默认的配置)
并且开启注解

测试
建立 一个最简单的controller:

写LoginSuccess.jsp页面,从request域里拿数据:

运行查看效果:
转到myeclipse,选择spring3项目,按F5,刷新文件后,myeclipse会自动部署到tomcat.
如果没有,则点击工具栏,手动点击redeploy即可.

将jar包依赖更换成maven依赖:
myeclipse里配置maven环境:


IDEA里添加maven依赖,以生成pom.xml,
并到maven center拷贝springmvc的依赖,放到dependencies中:

转到myeclipse中,f5刷新,它会自动去下载相关依赖.
注意,第一次最好开vpn,不然很慢.
