新手教你学Spring4.0+Maven构建超级简单的Web项目(三)

本篇博客是在(一)和(二)之上的扩展。因本人很不喜欢MyEclipse,故诞生了此篇。

整体环境:Intellij idea15

0、预备(全局设置maven)

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第1张图片

1、创建Maven项目

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第2张图片

一路Next,其中,需要指定你自己的Maven及其repository。
新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第3张图片

archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了,所以导致很慢,指定internal来表示仅使用内部元数据。(当然,添加了之后也可能会导致卡顿,我是没有添加

Next,填写项目名称和module名称。这里要注意有两个名称。
新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第4张图片

新建完成后的项目结构如下:
新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第5张图片

2、配置项目的JDK

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第6张图片

3、在main文件夹下新建一个java文件夹,把它设为源代码文件夹。

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第7张图片

注意,右击java文件夹选择source即可。如果文件夹颜色变为蓝色,则表示source文件夹设置成功。

4、指定output path与Dependencies

首先在在WEB-INF文件夹下新建lib和classes文件夹
新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第8张图片

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第9张图片

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第10张图片
作为Jar Directory添加
其实,这里不设置也行。Build Deploy之后一般存在target文件夹中,并生成war包。

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第11张图片
在这里也可以添加Application Server Libraries。主要是为了满足servlet和jsp依赖的,tomcat作为一个servlet容器提供了servlet和jsp的API。

5、设置artifact

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第12张图片

在这里,两个Artifacts都要设置,特别是要勾选上Build on Make。这样的话点击Run按钮才会生成war包。

6、设置tomcat

如果没有Tomcat Server,则点击绿色添加按钮添加Local Tomcat。

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第13张图片

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第14张图片

附:这个时候可以测试一下服务器能否正常运行
新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第15张图片

7、编写pom.xml,增加Spring依赖

见前文(二)
新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第16张图片

8、编写service层和servlet层

见前文(二)

9、添加beans.xml

见前文(二)

10、修改web.xml和添加applicationContext.xml

见前文(二)

11、运行

新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第17张图片

注意:
新手教你学Spring4.0+Maven构建超级简单的Web项目(三)_第18张图片

附:Tomcat下使用war包发布项目

  1. 将项目打成war包,复制到${tomcat.home}\webapps目录下.当tomcat启动时会自动将其解包.
  2. 修改${tomcat.home}\conf\server.xml文件.在Host节点下增加如下参考代码:
<Context docBase="D:\tomcat\apache-tomcat-7.0.72\webapps\springtest.war" path="/test1" reloadable="true"/>

附:一个莫名其妙错误的解决

 java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Tue Nov 26 14:12:06 CST 2013]; root of context hierarchy

-----------------------

 java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

解决方案:Build-ReBuild即可,然后重新Run部署

参考文档

http://blog.csdn.net/thehide/article/details/52042487

http://blog.csdn.net/z69183787/article/details/41416189

https://www.baidu.com/s?wd=java.lang.IllegalStateException%3A%20ApplicationEventMulticaster%20not%20initialized&rsv_spt=1&rsv_iqid=0x9096c7060000333b&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_n=2

你可能感兴趣的:(spring)