1.从官网下载spring相关jar http://spring.io/projects 点击SPRING FRAMEWORK

2.从GitHtb下载

3.向下滚动找到Downloading Artifacts 点击

4.点击Artifacts--》libs-release-local--》org--》springframewor--》spring

5.选中一个自己需要的版本(我选了4.2.5)

6.下载后的文件

配置文件的规范约束下面文件夹有的都可以写(我用到了beans, context, mvc三个, 如果需要配置数据源的可以加jdbc)

7.创建项目并配置环境

下面是贴代码:

applicationContext.xml (默认在WEB-INFO/applicationContext.xml)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
    <!-- 目前只是使用spring的web-mvc功能 数据源切面整合持久化框架可在此配置 -->
</beans>

spring-webmvc-dispatcher-servlet.xml      (默认为DispacherServlet-servlet.xml)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"        ##配置视图解析类
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context" ##自动扫描
    xmlns:mvc="http://www.springframework.org/schema/mvc"     ##静态资源处理
    xsi:schemaLocation="
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.2.xsd
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">

    <!-- 自动扫描的包名 -->
    <context:component-scan base-package="cn.zjx.controller"/>
    <bean id="annotationUrlHandlerMapping"
          class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>

    <!-- 视图解释类 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="prefix" value="/WEB-INF/views/" />
          <property name="suffix" value=".jsp" />
    </bean>

    <!-- 默认的注解映射的支持
        加<mvc:resources...前,要加上<mvc:annotation-driver/>,否则servlet控件器会解析失败
    -->
    <mvc:annotation-driven />

    <!-- 对静态资源文件的访问  方案一 (二选一) -->
    <!-- <mvc:default-servlet-handler/> -->

    <!-- 对静态资源文件的访问  方案二 (二选一)cache-period 缓存周期-->
    <mvc:resources mapping="/resource/js/**" location="/resource/js/" cache-period="31556926"/>
    <mvc:resources mapping="/resource/css/**" location="/resource/css/" cache-period="31556926"/>
    <mvc:resources mapping="/resource/images/**" location="/resource/images/" cache-period="31556926"/>
</beans>
对静态资源文件的访问的其它方式:  交由上级web容器处理,在web.xml中的org.springframework.web.servlet.DispatcherServlet 配置之前加入如下代码:

  <servlet-mapping>   
    <servlet-name>default</servlet-name>   
    <url-pattern>*.css</url-pattern>   
  </servlet-mapping>
 
如果不使用mvc:resource标签方式配置配置就需要这么配置, 下面是配置多个静态资源交由tomcat容器也是处理静态资源访问的第三种方式:
  <servlet>
        <servlet-name>Dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Dispatcher</servlet-name>
        <url-pattern>/index</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Dispatcher</servlet-name>
        <url-pattern>/</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>*.gif</url-pattern>
    </servlet-mapping>
根据不同的资源文件制定不同的映射机制,其中servlet-name在tomcat中默认是default,该servlet在tomcat\config\web.xml文件中默认配置,不同的应用服务器对应的静态资源文件处理的servlet名称不尽相同,如下:
  tomcat,jboss,glassfish,jetty : defaut;  
  weblogic  :           FileServlet;  
  websphere :           SimpleFileServlet;  
  resin   :           resin-file;  
  GAE     :           _ah_default
 

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>zjx-springmvc</display-name>
    <!-- 如果WEB-INFO下没有application.xml或者不叫这个名需要通过contex-param来加载 -->
    <!-- <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/configs.xml ##多个用逗号隔开
        </param-value>
    </context-param> -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--
        如果WEB-INF 包含文件名称为  DispatcherServlet-servlet.xml(默认找DispatcherServlet-servlet.xml这个文件)
        则不需要在inint配置命名空间来加载该***-servlet.xml 文件
        -->
         <init-param>
             <param-name>namespace</param-name>
             <param-value>spring-webmvc-dispatcher-servlet</param-value>
         </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

TestController.java

package cn.zjx.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {
    @RequestMapping(value="/insert")
    public String save(){
        System.out.println("insert success");
        return "user_manager";
    }
    @RequestMapping(value="/selectList")
    public String selectList(HttpServletRequest requset){        request.setAttribute("size", "5个用户");
        return "user_manager";
    }
}

8.启动tomcat 可以看到加载顺序与加载的文件以及实例化的testController对象及方法的url映射名称和静态资源映射;

如下:加粗字体

INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
五月 08, 2016 3:47:21 上午 org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization completed in 1932 ms
五月 08, 2016 3:47:22 上午 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'DispatcherServlet'
五月 08, 2016 3:47:22 上午 org.springframework.web.servlet.FrameworkServlet initServletBean
INFO: FrameworkServlet 'DispatcherServlet': initialization started
五月 08, 2016 3:47:22 上午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing WebApplicationContext for namespace 'spring-webmvc-dispatcher-servlet': startup date [Sun May 08 03:47:22 CST 2016]; parent: Root WebApplicationContext
五月 08, 2016 3:47:22 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-webmvc-dispatcher-servlet.xml]
五月 08, 2016 3:47:25 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/insert] onto handler 'testController'
五月 08, 2016 3:47:25 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/insert.*] onto handler 'testController'
五月 08, 2016 3:47:25 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/insert/] onto handler 'testController'
五月 08, 2016 3:47:25 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/selectList] onto handler 'testController'
五月 08, 2016 3:47:25 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/selectList.*] onto handler 'testController'
五月 08, 2016 3:47:25 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/selectList/] onto handler 'testController'
五月 08, 2016 3:47:26 上午 org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry register
INFO: Mapped "{[/insert]}" onto public java.lang.String cn.zjx.controller.TestController.save()
五月 08, 2016 3:47:26 上午 org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry register
INFO: Mapped "{[/selectList]}" onto public java.lang.String cn.zjx.controller.TestController.selectList(javax.servlet.http.HttpServletRequest)
五月 08, 2016 3:47:26 上午 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter initControllerAdviceCache
INFO: Looking for @ControllerAdvice: WebApplicationContext for namespace 'spring-webmvc-dispatcher-servlet': startup date [Sun May 08 03:47:22 CST 2016]; parent: Root WebApplicationContext
五月 08, 2016 3:47:27 上午 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter initControllerAdviceCache
INFO: Looking for @ControllerAdvice: WebApplicationContext for namespace 'spring-webmvc-dispatcher-servlet': startup date [Sun May 08 03:47:22 CST 2016]; parent: Root WebApplicationContext
五月 08, 2016 3:47:27 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/resource/js/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0'
五月 08, 2016 3:47:27 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/resource/css/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1'
五月 08, 2016 3:47:27 上午 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/resource/images/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#2'
五月 08, 2016 3:47:27 上午 org.springframework.web.servlet.FrameworkServlet initServletBean
INFO: FrameworkServlet 'DispatcherServlet': initialization completed in 5507 ms
五月 08, 2016 3:47:27 上午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-6661"]
五月 08, 2016 3:47:27 上午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-6666"]
五月 08, 2016 3:47:27 上午 org.apache.catalina.startup.Catalina start
INFO: Server startup in 16614 ms

静态资源可以访问

虽然web.xml中url-pattern为/

<servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
             <param-name>namespace</param-name>
             <param-value>spring-webmvc-dispatcher-servlet</param-value>
         </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>但是有它:<mvc:resources mapping="/resource/images/**" location="/resource/images/" cache-period="31556926"/>

测试insert方法http://localhost:6661/zjx-springmvc/insert

接下来是配置velocity和log4j日志配置Dobble

然后通过maven命令来生成分布式项目结构如下结构把架构移植到下面就是spring-mvc为控制器的分布式架构了\(^o^)/~

--------------等待更新--------------------

spring mvc官网下最新jar搭建框架-静态资源访问处理-注解-自动扫描的更多相关文章

  1. 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的

    感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...

  2. Spring MVC 过滤静态资源访问

    过滤的必要性 一般来说,HTTP 请求都会被映射到 DispatcherServlet,进而由具体的类来承接处理,但对于类似 js 或者 css 这样的静态资源则没必要这样,因为对资源的获取只需返回资 ...

  3. springmvc获取jar中的静态资源与jar包中的资源互相引用问题

    1.首先看jar中的文件位置 2.在web工程中引用该jar 并且在springmvc文件中配置路径 如果有多个路径可用逗号隔开 3.在web工程找jsp页面如何引用 这样就可以了 关于jar中的资源 ...

  4. spring改版官网下载jar包, 源代码和文档

    从网上找了一些方法,现在都整理了一下,有简单粗暴的,也有百转回肠的(详细,直接从官网一步一步的进入下载页),希望大家根据自己的喜好可以找到的真爱. 方法一:(简单粗暴直接) http://repo.s ...

  5. java web(spring mvc) 获取请求host 和 如何获取静态页的相对路径

    1.获取请求host StringBuffer url = request.getRequestURL(); String tempContextUrl = url.delete(url.length ...

  6. Java框架-Spring MVC理解001

    Spring MVC理解 1.servlet--Spring MVC的本质 2.Spring MVC其实是一个工具,具体的理解可以分为两步:第一步,了解这个工具是怎么创建出来的:第二步,了解这个工具是 ...

  7. Java框架之Spring MVC(二)

    一.Spring MVC 验证 JSR 303 是ajvaEE6 中的一项子规范 ,叫 Bean Validation 用于对javaBean中的字段进行校验. 官方的参考实现是: Hibernate ...

  8. Spring MVC入门

    1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...

  9. Spring MVC初次相见

    1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...

随机推荐

  1. 【转】MySQL的各种timeout

    因为最近遇到一些超时的问题,正好就把所有的timeout参数都理一遍,首先数据库里查一下看有哪些超时: root@localhost : test 12:55:50> show global v ...

  2. Network - 互联网协议入门

    珠玉在前,不在赘言 互联网协议入门(一) 互联网协议入门(二) 通信协议:HTTP.TCP.UDP 互联网协议入门 互联网协议入门深入 当你输入一个网址,实际会发生什么? Wireshark基本介绍和 ...

  3. BZOJ 1208: [HNOI2004]宠物收养所

    1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 7514  Solved: 2982[Submit][Sta ...

  4. 【收藏】Android更新UI的几种常见方法

    ----------------将会调用onDraw()重绘控件---------------- 1.view.invalidate刷新UI(主线程)   2.view.postInvalidate刷 ...

  5. TCP协议总结--停止等待协议,连续ARQ协议,滑动窗口协议

    前言:在学习tcp三次握手的过程之中,由于一直无法解释tcpdump命令抓的包中seq和ack的含义,就将tcp协议往深入的了解了一下,了解到了几个协议,做一个小结. 先来看看我的问题: 这是用tcp ...

  6. Windows 下使用 GNUstep 编译并运行 Objective-C 程序

    今晚上开始看<Objective-C 程序设计(第4版)>这本书(OSChina 正在做此书的书评活动,详情请看这里),到现在为止看到第 7 章,于是想动手试试写两简单的程序编译跑跑看. ...

  7. MySQL部分1

    MySQL有三个层次 1.文件层次:放在硬盘上存东西的  必须要放在硬盘上 2.服务层次:必须要通过MySQL这个服务才能操作里面哪个内容 3.界面层次:默认不提供界面,需要安装navicat8(界面 ...

  8. 注册dll失败

    注册DLL的时候一出现错误:   win8下: (右键弹出)     如果再不行,   64位系统下,把DLL移动到C:\Windows\SysWOW64下 更改路径

  9. 【golang】用container/list实现栈(Stack)

    go语言中的container有heap.list.ring,没有stack. 其中heap是优先级队列,虽然有Push()/Pop()接口,但是使用heap要实现heap.Interface接口,不 ...

  10. matlab函数集锦

    matlab函数集锦 matlab函数集锦ISFINITE(X), ISINF(X), or ISNAN(X)pwd 当前目录eval 执行matlab函数CONV2(  ,'same')  卷积F  ...