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. IOS 动画播放案例

    #import "ViewController.h" @interface ViewController () @property (weak,nonatomic) IBOutle ...

  2. 使用git error: RPC failed; result=22, HTTP code = 411

    使用git提交比较大的文件的时候可能会出现这个错误 error: RPC failed; result=22, HTTP code = 411 fatal: The remote end hung u ...

  3. Windows下使用AutoSSH,并作为服务自启动(不用安装Cygwin)

    之前的折腾过Windows下ssh的自动登录,比如这篇Windows下使用Xshell建立反向隧道,但是这个不能无交互的情况下自动连接(比如在连接新主机时),也就很难在服务中使用.解决方法还是得使用命 ...

  4. dpkg用法详解

    dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...

  5. poj3580 伸展树(区间翻转 区间搬移 删除结点 加入结点 成段更新)

    好题.我做了很久,学了大牛们的区间搬移.主要的代码都有注释. #include<cstdio> #include<cstring> #include<iostream&g ...

  6. PHP数组常用函数分类整理

    一.数组操作的基本函数数组的键名和值array_values($arr);  获得数组的值array_keys($arr);  获得数组的键名array_flip($arr);  数组中的值与键名互换 ...

  7. BP神经网络求解异或问题(Python实现)

    反向传播算法(Back Propagation)分二步进行,即正向传播和反向传播.这两个过程简述如下: 1.正向传播 输入的样本从输入层经过隐单元一层一层进行处理,传向输出层:在逐层处理的过程中.在输 ...

  8. iOS中—触摸事件详解及使用

    iOS中--触摸事件详解及使用 (一)初识 要想学好触摸事件,这第一部分的基础理论是必须要学会的,希望大家可以耐心看完. 1.基本概念: 触摸事件 是iOS事件中的一种事件类型,在iOS中按照事件划分 ...

  9. Python开发实战教程(8)-向网页提交获取数据

    来这里找志同道合的小伙伴!↑↑↑ Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知 ...

  10. Java中的 修饰符

    java中的修饰符分为类修饰符,字段修饰符,方法修饰符. 根据功能的不同,主要分为以下几种. 1.权限访问修饰符  访问权限的控制常被称为具体实现的隐藏 把数据和方法包进类中,以及具体实现的隐藏,常共 ...