Spring MVC入门
在Web应用中启动Spring容器
由于Spring MVC是一个针对Java Web的MVC框架,因此,首先需要建立一个动态的Java Web应用。
下面将“徒手”建立一个Web应用,请按如下步骤进行。
① 在任意目录下新建一个文件夹,此处将以smqs文件夹为例建立一个Web应用。
② 在第1步所建的文件夹下建立一个WEB-INF文件夹(注意大小写,这里区分大小写)。
③ 进入Tomcat或其他任何Web容器内,找到任何一个Web应用,将Web应用的WEB-INF下的web.xml文件复制到第2步所建的WEB-INF文件夹下。提示:
对于Tomcat而言,其webapps路径下有大量的示例Web应用。
④ 修改复制后的web.xml文件,将该文件修改成只有一个根元素的XML文件。修改后的web.xml文件如下。
在第2步所建的WEB-INF文件夹下,新建两个文件夹:classes和lib,这两个文件夹的作用完全相同,都用于保存Web应用所需要的Java类文件;区别是classes用于保存单个*.class文件,而lib用于保存打包后的JAR文件。
经过以上步骤,已经建立了一个空的Web应用。将该Web应用复制到Tomcat的webapps路径下,该Web应用会被自动部署在Tomcat中。
通常只需将JSP页面放在Web应用的根路径下(对于本示例而言,就是放在smqs目录下),然后就可以通过浏览器来访问这些页面了。
根据上面的介绍,不难发现Web应用具有如下文件结构:
为了在Web应用中使用Spring框架,首先需要将Spring框架的全部JAR包复制到Web应用的WEB-INF\lib目录下。
对于使用Spring的Web应用
,无须手动创建Spring容器,而是通过配置文件声明式地创建Spring容器。因此,在Web应用中创建Spring容器有如下两种方式。
➢ 直接在web.xml文件中配置创建Spring容器。
➢ 利用第三方MVC框架的扩展点创建Spring容器。
其实第一种创建Spring容器的方式更加常见。为了让Spring容器随Web应用的启动而自动启动,借助ServletContextListener监听器即可完成,该监听器可以在Web应用启动时回调自定义方法——该方法就可以启动Spring容器。
Spring提供了一个ContextLoaderListener
,该监听器类实现了ServletContextListener接口。该类可以作为监听器(Listener)使用,它会在创建时自动查找WEB-INF下的applicationContext.xml文件。因此,如果只有一个配置文件,并且文件名为applicationContext.xml,那么只需在web.xml文件中增加如下配置片段即可。
如果有多个配置文件需要载入
,则考虑使用<context-param…/>元素来确定配置文件的文件名。在ContextLoaderListener加载时,会查找名为contextConfigLocation的初始化参数。因此,在配置<context-param…/>时应指定参数名为contextConfigLocation。