`

Spring基础

 
阅读更多

一、获取servletContext springMvc获取servletContext

  1. WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();  
  2.         ServletContext servletContext = webApplicationContext.getServletContext();  

 

二、获得serveltContext的方式

ServletContext servletContext2 = ContextLoaderListener.getCurrentWebApplicationContext().getServletContext();

 

三、获得项目工程所在的物理地址

String home = servletContext.getRealPath("/");

 

 四、用接口类WebApplicationContext读取配置文件

        private WebApplicationContext wac;

        wac =WebApplicationContextUtils.getRequiredWebApplicationContext(

            this.getServletContext());

        wac = WebApplicationContextUtils.getWebApplicationContext(

            this.getServletContext());

      JdbcTemplate jdbcTemplate = (JdbcTemplate)ctx.getBean("jdbcTemplate");

其中,jdbcTemplate为spring配置文件中的一个bean的id值。

 

 五、ContextLoaderListener的作用

在 web.xml中,配置了ContextLoaderListener,其完整路径为org.springframework.web.context.ContextLoaderListener。我的理解是,这是整个项目加载的监听器,启动容器时,就会默认执行它实现的方法,自动装配contextConfigLocation指定的配置信息。在ContextLoaderListener 中关联了ContextLoader 这个类,所以整个加载配置过程由ContextLoader 来完成。

如下为配置实例:

<!--Spring集成Web环境的通用配置;一般用于加载除Web层的Bean(如DAO、Service等),以便于与其他任何Web框架集成。 

    contextConfigLocation:表示用于加载Bean的配置文件  -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

classpath*:/applicationContext.xml,

classpath*:applicationContext-cti.xml

classpath*:applicationContext-activiti.xml

 classpath*:applicationContext-shiro.xml

 classpath*:applicationContext-fullindex.xml

 classpath*:applicationContext-timer.xml

    </param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

六、DispatchServlet的配置及作用

DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:

1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;

2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);

3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);

4、通过ViewResolver解析逻辑视图名到具体视图实现;

5、本地化解析;

6、渲染具体的视图等;

7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。

 

 

从以上我们可以看出DispatcherServlet主要负责流程的控制(而且在流程中的每个关键点都是很容易扩展的)。

DispatchServlet的职责,主要配置在contextConfigLocation指定的配置文件中。

 

DispatchServlet在web.xml中的配置如下:

<!--DispatcherServlet主要用作职责调度工作,本身主要用于控制流程 -->

<!--该DispatcherServlet默认使用WebApplicationContext作为上下文,Spring默认配置文件为“/WEB-INF/[servlet名字]-servlet.xml”。 -->

<servlet>

<servlet-name>springServlet</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/spring/servlet-context.xml</param-value>

<!--或者以这种方式,指定配置信息<param-value>classpath*:spring/spring-mvc.xml</param-value> -->

</init-param>

<!--表示启动容器时初始化该Servlet -->

<load-on-startup>1</load-on-startup>

</servlet>

<!--url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。  -->

<servlet-mapping>

<servlet-name>springServlet</servlet-name>

<url-pattern>/</url-pattern>

 

</servlet-mapping>

 

 七、字符编码过滤器

Spring中的字符编码过滤器(CharacterEncodingFilter),可以很方便的为我们解决项目中出现的中文乱码问题;
使用方法也很简单,只需在web.xml文件中配置一下该过滤器,设置两个参数(encoding和forceEncoding)即可。

如:<filter>

<filter-name>encodingFilter</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>

<init-param>

<param-name>forceEncoding</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

分享到:
评论

相关推荐

    spring基础

    Spring 基础 Spring 框架是 Java 语言中最流行的框架之一,广泛应用于企业级应用程序的开发。它提供了一站式的解决方案,能够解决对象创建、依赖关系、事务管理、持久层等问题。下面是 Spring 框架的主要概念和组件...

    Spring基础培训ppt

    这个“Spring基础培训PPT”应该会涵盖Spring的基本概念、核心模块以及如何在实际项目中应用。 **依赖注入** 依赖注入是Spring的核心之一,它允许开发者在运行时通过容器来管理对象之间的依赖关系,而不是在代码...

    spring基础jar包.zip

    本文将深入探讨"spring基础jar包.zip"中的关键知识点,并解析这些jar包在Spring框架中的作用。 首先,我们要明确的是,"spring基础jar包.zip"主要是为了快速搭建Spring框架环境而准备的,其中包含了一系列Spring的...

    Spring基础教程.pdf

    Spring 基础教程.pdf Spring 是一个流行的 Java 框架,用于开发企业级应用程序。该框架提供了一个灵活的方式来开发基于 Java 的应用程序,涵盖了从简单到复杂的各种应用场景。本教程旨在指导读者快速入门 Spring ...

    spring基础开发的jar包

    这个"spring基础开发的jar包"是专门为Spring Web开发准备的,包含了一系列核心组件和依赖,使得开发者可以快速搭建一个功能完备的Spring MVC应用程序。在本文中,我们将深入探讨这些jar包中的关键知识点。 1. **...

    Spring基础jar包.rar

    本压缩包"Spring基础jar包.rar"包含了Spring框架核心组件的重要部分,具体包括以下几个关键的jar包: 1. **Spring-beans.jar**:这个jar包包含了Spring框架的核心组件,负责Bean的生命周期管理,如实例化、配置、...

    Spring基础知识汇总 Java开发必看

    Spring基础知识汇总 Java开发必看

    spring基础教程 spring基础教程

    总结:Spring基础教程将引导你深入了解这个框架的各项功能,从容器管理到AOP,再到Web开发和安全性。通过学习,你可以掌握如何利用Spring提升代码的灵活性和可维护性,以及如何构建健壮的Java企业级应用。阅读...

    Spring 基础jar包

    Spring的基础jar包包含了运行Spring应用程序所需的核心组件,使得开发者能够快速搭建Spring环境并开始使用其基本功能。下面我们将深入探讨Spring框架的一些核心知识点。 1. **依赖注入(Dependency Injection, DI)...

    java Spring基础教程

    Java Spring 是一个开源框架,主要用于简化企业级Java应用的开发。Spring框架以其模块化、松耦合和依赖...阅读《Spring基础教程.pdf》将引导你逐步走进Spring的世界,理解并运用这些核心概念,提升你的Java开发技能。

    Spring基础篇.pdf

    Spring框架是一个全面的Java...总结来说,Spring框架通过其模块化的设计和丰富的功能提供了强大的基础设施,使得Java企业级应用开发更加高效和简洁。同时,它以POJO为基础的编程模型,促进了良好的编程习惯和测试能力。

    Spring基础学习资料,很全面,很经典,手工整理,适合刚学习spring的同学

    这份“Spring基础学习资料”涵盖了Spring框架的基础知识,特别适合初学者系统地学习和掌握。 1. **Spring入门学习前导篇**: 在开始Spring的学习之前,了解Spring的基本概念和历史背景是必要的。Spring框架起源于...

    Spring基础教程.rar

    本教程的"Spring基础教程.pdf"文件将详细讲解上述概念,并通过实例演示如何使用Spring框架。你将学习到如何配置Spring容器,创建和管理Bean,理解AOP的原理,以及如何使用Spring MVC构建Web应用。同时,教程可能还会...

    spring基础进阶技巧200篇.zip

    《Spring基础进阶技巧200篇》是一本关于Spring框架的资源,它提供了200篇文章,涵盖了Spring框架的基础知识和进阶技巧。这本资源可以帮助开发人员更好地理解和应用Spring框架,提升开发效率和代码质量。 该资源主要...

    《spring基础教程》

    总的来说,《Spring基础教程》将涵盖以上这些核心概念,并通过实例教你如何在实际项目中使用Spring框架。无论你是初学者还是有一定经验的开发者,都可以从这个教程中获益,提升你的Spring开发技能。通过阅读"Spring...

    spring 基础教程精华集

    此外,`spring基础.pdf` 和 `spring控制模型.pdf` 可能会涵盖Spring的其他基础内容,如Bean的生命周期、事件监听、国际化支持等。`Spring3_权威开发指南.pdf` 则提供了更全面的Spring 3.x版本的开发指导。 对于初学...

    spring基础功能分享ppt课件.ppt

    Spring基础功能分享 Spring是一个非常优秀的开源产品,它提供了广泛的内容和深入的功能模块,包括核心容器、Application Context、AOP模块、JDBC抽象及DAO模块、ORM映射集成模块、Spring MVC框架、Spring Portlet ...

    Spring基础教程.pdf.zip

    《Spring基础教程》是一本深度剖析Spring框架的入门指南,旨在帮助初学者和有经验的开发者更好地理解和应用Spring。在本教程中,我们将探讨Spring的核心概念、主要特性以及如何将其集成到实际项目中。 首先,Spring...

    Spring基础的思维导图版+附带PDF版

    这个资源包含的是一个Spring基础的思维导图和PDF版,可以帮助学习者更直观、系统地理解Spring的核心概念。 首先,我们从"Spring AOP"开始。AOP(Aspect-Oriented Programming)是面向切面编程,它允许程序员定义...

    spring基础教程.rar

    至于具体的学习资源,本压缩包“Spring基础教程”可能包含一系列PDF文档、视频课程或代码示例,它们将逐步引导你了解并掌握Spring的基本用法,包括环境搭建、基本配置、Bean的创建与管理、AOP的实现、Spring MVC的...

Global site tag (gtag.js) - Google Analytics