突发奇想,根据所学,自己搭建springMVC项目,然后逐渐添加其他框架,构建一个后台管理系统。
也算是巩固以前学的基础了。
至于用了哪些jar包,没仔细看,因为用的是maven来管理,就把项目可能用到的所有jar包,都引入进去了。
web项目,最基础的配置,就在web.xml中。
先看完所有的配置文件,在看错误日志分析。
默认欢迎页面。
<welcome-file-list> <welcome-file>/pages/index.jsp</welcome-file> </welcome-file-list>
声明springMVC 的 DispatcherServlet
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:application*.xml</param-value> </context-param> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/springmvc-config.xml </param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet>需要配置两处的引用contextConfigLocation。
至于这两处配置的, xml文件的名字,只要是有配置,就根据你的配置文件名,* 代表所有,如果没有配置,就是默认的文件,applicationContext.xml 和 springmvc-servlet.xml
如果 context-param 不进行配置,则在启动项目时,就会报错。缺少配置文件。
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml];
如果不配置下面的contextConfigLocation,但是配置load-on-startup,则也是在启动项目时报错。
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/springmvc-servlet.xml];
但是,如果contextConfigLocation 和load-on-startup都不配置,启动时不报错。 会在调用 controller时报错。
错误同上:
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/springmvc-servlet.xml];
然后,需要写 拦截请求的配置。
<servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.json</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.swf</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.xml</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.mp3</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.xls</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.rar</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.zip</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.ico</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.woff</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.ttf</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.eot</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.otf</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.svg</url-pattern> </servlet-mapping>
servlet-name 是 default 的,是不通过 springMVC DispatcherServlet的,
servlet-name 是 springmvc 的,就会去找对应的controller.