决定把目前用的配置对应的功能或属性写下来加深理解.
<?xml version="1.0" encoding="UTF-8"?>
<!--声明为xml文件,版本为1.0,编码为utf-8.-->
<!--声明该文件的内容可以使用xsi的标签库-->
<!--声明标签的使用范围是被javaee的开发使用的-->
<!--声明可以使用的标签库和对应的具体的标签库版本地址。-->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!--web.xml的模式(Schema)文件中定义了多少种标签元素,它就能拥有定义出来的那些功能-->
<!--随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,也即标签元素的种类会越来越多.-->
<!--定义项目的名称.-->
<display-name>Archetype Created Web Application</display-name>
<!--welcome pages-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<!--<welcome-file>index.jsp</welcome-file>-->
</welcome-file-list>
<!--配置springmvc DispatcherServlet( 前台控制器)-->
<!--<servlet-name>example</servlet-name>这个Servlet的名字是example,可以有多个DispatcherServlet,是通过名字来区分的。-->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置springmvc-servlet.xml作为mvc的配置文件-->
<!--参数名称参数值-->
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-servlet.xml</param-value>
</init-param>
<!-- <load-on-startup>1</load-on-startup>是启动顺序,让这个Servlet随Servletp容器一起启动-->
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
<!--启动一个新的线程去处理你的请求,完成之后调用你指定的回调函数来完成整个异步操作。-->
<!--一般的jsp是通过地址栏输入一个地址,或者提交表单的方式发送请求的,这样网页都会被刷新。但是如果你在jsp页面发送一个ajax请求的话,跟前两种不同,
后台会返回给jsp页面内容,页面不会直接刷新,这样可以把返回的数据写在页面的div中,这样就完成了页面的局部刷新。-->
<!--举个例子,你做一个查询功能,页面上有查询条件和查询结果显示区域,你可以点查询按钮的时候通过ajax异步发送你的查询条件,
而你得到后台返回的查询结果后,更新你的jsp页面的查询结果,jsp的其他部分,比如查询条件,都没有更新,jsp没有刷新,而是更新了查询结果这一块内容-->
<!---->
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!--默认匹配所有请求-->
<!--Servlet拦截匹配规则可以自已定义-->
<!--1、拦截*.do、*.htm, 例如:/user/add.do,这是最传统的方式,最简单也最实用。不会导致静态文件(jpg,js,css)被拦截。-->
<!--2、拦截/,例如:/user/add,可以实现现在很流行的REST风格。很多互联网类型的应用很喜欢这种风格的URL。弊端:会导致静态文件(jpg,js,css)被拦截后不能正常显示。 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是惟一的,
在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--Listener获取的是Web应用ServletContext(application)的配置参数。-->
<!--为Web应用配置Listener的两种方式:-->
<!--l 使用@WebListener修饰Listener实现类即可。-->
<!--l 在web.xml文档中使用<listener>进行配置。-->
<!--我们选择web.xml这种配置方式,只有一个元素<listener-class>指定Listener的实现类,如下所示:-->
</web-app>
为Servlet命名.
DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理,是配置spring MVC的第一步。
DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处.
servlet配置中init-param,需要初始化的参数,因为很多诸如filter、listener不是由你写的而是第三方提供的,他只声明的必须的变量并给了个默认值保证他的完整,而此时的默认值不是你需要的,你就可以用init-param来改变它.,
<load-on-startup></load-on-startup>指定当Web应用启动时,装载Servlet的次序。当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet。当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它.
- <servlet-mapping></servlet-mapping> 用来定义servlet所对应的URL,包含两个子元素
- <servlet-name></servlet-name> 指定servlet的名称
- <url-pattern></url-pattern> 指定servlet所对应的URL
- http://www.cnblogs.com/hellojava/archive/2012/12/28/2835730.html
- web.xml这个里面将配置讲解的非常详细.
目前就这些 用到什么我继续补.