创建Maven Web项目
菜单File->New Project可进入如图界面,首先选择左边栏Maven,再配置JDK(一般如果之前添加了JDK的话会自动填充,如未添加的话点击旁边的New将JDK目录导入即可)。勾选"Create from archetype",然后选中maven-archetype-webapp,点Next,进入如下界面:
这里需要填写GroupId和ArtifactId,Version默认即可,这三个属性可以唯一标识你的项目,比如Tomcat的GroupId是org.apache,即它是apache组织的项目,ArtifactId是tomcat,项目名为tomcat,而我当前使用的Version是 7.0.47。这些只在发布时有用,在此可以随便填写。
我自己的maven配置
填写项目名,选择项目保存路径,点击Finish:
maven会在后台生成web项目,这需要等待一定的时间,视网络环境而定.
下图展示了该项目的文件结构。可以发现,它在src/main下创建了一个recources文件夹,该文件夹一般用来存放一些资源文件,还有一个webapp文件夹,用来存放web配置文件以及jsp页面等,这已经组成了一个原始的web应用。选择右边红框的Enable-Auto- Import,可以在每次修改pom.xml后,自动的下载并导入jar包,这一点在后面详述。
我们可以看到,目录结构并不是严格的maven格式,还需进一步配置。
File->Project Structure->Model.
选中对应的文件夹,点击上面的Make as...,相应的文件夹机会变成Sources,Tests,Resources,Test Resources,按OK,结束配置。
Maven自动导入jar包
既然我们要用Spring MVC开发,那肯定少不了Spring MVC的相关jar包。如果不使用Maven的话,那就需要去官网下载相关的jar包,然后导入到项目中。现在使用maven的话,就不需要上网找jar包了。
我们可以看到这个文件包含了我们之前定义的本项目的groupId等信息,这些信息是该项目的标识,我们不要去改动它们。重点看<dependencies>标签,翻译过来是"依赖"的意思,也就是说把对每个包的需求都称为一个依赖<depedency>,定义在<dependencies>中。在每个<depedency>中,你需要提供的是所需jar包的groupId、artifactId、version(g,a,v)这三个必要信息。比如上面我们看到引入可一个junit包,格式如下:
点击进入红框选中的Spring Core,如下所示,可以看到各版本的使用情况:
选择最新版本3.2.0.RELEASE,可以看到其dependency写法如下红框所示:
我们将其复制到pom.xml中的<dependencies>中:
这样,Maven就会开始自动下载jar包到本地仓库,然后关联到你的项目中,下载完成后,我们展开工程目录中External Libraries:
可以发现,虽然我们只写了一个依赖,但是它导入了两个jar包,也就是说,导入某个jar包时,与它密切相关的jar包也会同时被导入进来。
除了spring-core,我还要spring-web,复制spring-core的<dependency>,将spring-core改为spring-web,如下:
下载完成后,查看External Libraries,会发现导入了好多jar包。
这就是Maven的强大之处,如果你需要使用Spring MVC开发网站的话,只需记住几个重要的包的名字,就可以轻松将所有包导入项目中。
现在我们要进行Spring MVC的开发,请把你的pom.xml变成下面的样子,当然不要改你的grupId等信息(从modelVersion到url都不要动):
请在<dependencies>中加入以下依赖:
我们可以发现,除了导入了spring相关jar包,还有一些其他的包,这些包都是有作用的。如果不使用Maven请自行下载spring、hibernate、mysql、jstl、javax-servlet、json等相关jar包然后导入到工程中。至此,jar包的导入就完成了,我们按ctrl+alt+shift+s,或者File->Project Structure查看一下项目结构,看看有什么问题:
SpringMVC框架配置
进行完上面的配置,那就说明现在基本的开发环境已经搭建好了,现在要开始进行Spring MVC的网站开发。
1、web.xml配置
打开src\main\webapp\WEB-INF\下的web.xml文件,修改约束文件,如下:
原来的竟然是这样
--->
在web.xml中创建Spring MVC的中央控制器
该servlet名为mvc-dispatcher(名称可修改),用于拦截请求(url-pattern为*.do),并交由Spring MVC的后台控制器来处理。这一项配置是必须的
为了能够处理中文的post请求,再配置一个encodingFilter,以避免post请求中文出现乱码情况:
至此,web.xml配置完毕。
2、mvc-dispatcher-servlet.xml配置
在配置完web.xml后,需在WEB-INF目录下新建 mvc-dispatcher-servlet.xml(-servlet前面是在servlet里面定义的servlet名):
新建该xml文件后,点击右上角的configure,出现 Setup Frameworks界面,点击OK,这样,IntelliJ IDEA就识别了SpringMVC的配置文件:
mvc-dispatcher-servlet.xml文件如下:
MVC框架有model、view、controller三部分组成。model一般为一些基本的Java Bean,view用于进行相应的页面显示,controller用于处理网站的请求。
在src\main\java中新建一个用于保存controller的package:在controller包中新建java类MainController(名称并不固定,可任意取),并修改如下:
--@Controller注解:采用注解的方式,可以明确地定义该类为处理请求的Controller类;
--@RequestMapping()注解:用于定义一个请求映射,value为请求的url,值为 / 说明,该请求首页请求,method用以指定该请求类型,一般为get和post;
--return "index":处理完该请求后返回的页面,此请求返回 index.jsp页面。
回到mvc-dispatcher-servlet.xml,进行相关配置。
再次不在赘述,简单配置一下
现在,需要配置Tomcat来运行该项目。
Run->Edit Configurations
点击左上角的"+"号,选择Tomcat Server,(如果没有请选择最下方的33 items more,找到Tomcat Server),再选择Local:
点击 Application server 右边的 Configure,导入Tomcat 目录:
在配置好Tomcat的路径后,如下图所示,发现依然存在警告,且左方的Tomcat8图标上有一个警告标记,说明还没有配置完全:
我们还需要将项目部署到 Tomcat 服务器中。点击 Deployment,再点击右边的"+"号,添加一个Artifact.
选择第二个:war exploded,点击OK,这样,该项目就已经部署到了tomcat中.
再点击OK,整个Tomcat配置结束.
启动 Tomcat 了,其控制台输出将在IDEA下方显示
启动后,浏览器将自动弹出项目首页.