Spring MVC XML 的配置

JavaEE体系结构包括四层,从上到下分别是应用层、Web层、业务层、持久层。Struts和这篇文章中讲解的SpringMVC是Web层的框架,Spring是业务层的框架,之前文章中讲解的Hibernate和MyBatis是持久层的框架。

SpringMVC是一种基于Java,实现了Web MVC(模型 - 视图 - 控制器)设计模式,请求驱动类型的轻量级的开源的Web框架,即用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发。

模型(Model)封装了应用程序数据,通常它们将由POJO类组成。
视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出。
控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。
Spring Web MVC 框架是围绕 DispatcherServlet 设计的,它将请求分派给处理程序,具有可配置的处理程序映射,视图解析,区域设置,本地化和主题解析,并且支持上传文件。默认的处理是基于注解 @Controller 和 @RequestMapping,提供一系列灵活的处理方法。随着 Spring 3.0的推出,通过 @PathVariable 或者其他注解,@Controller 机制开始允许你去创建 Rest 风格的 web 站点和应用。

其中 Spring Web MVC 和 Spring 有一条关键的准则是“对扩展开放,对修改关闭”。在Spring Web MVC中一些核心类的方法被标注为final,由于开发者不能用自已的方法去覆盖这些方法,这并不是任意的,而是特别考虑到这个原则

原文参考链接:https://blog.csdn.net/u014010512/article/details/82767352

<?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:p="http://www.springframework.org/schema/p"
   xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
      http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">
   <!-- 配置扫描包 -->
   <context:component-scan base-package="com.springmvc.web"></context:component-scan>
   <!--Spring视图解析器 -->
   <bean id="internalResourceViewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/view/" />
      <property name="suffix" value=".jsp" />
   </bean>
   <!-- 配置注解驱动 -->
   <mvc:annotation-driven conversion-service="conversionService"  />
   <!-- 配置文件上传解析器 -->
 <bean id="multipartResolver"
       class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
      <property name="defaultEncoding" value="UTF-8"></property>
      <property name="maxInMemorySize" value="102400000"></property>
   </bean>
   <!-- 配置转换器工厂 -->
   <bean id="conversionService"
      class="org.springframework.context.support.ConversionServiceFactoryBean">
      <property name="converters">
         <set>
            <bean class="com.springmvc.converte.DateConvert">
                <constructor-arg>
                   <list>
                      <value>yyyy/MM/dd</value>
                   </list>
                </constructor-arg>
            </bean>
         </set>
      </property>
   </bean>
   <!-- 配置默认处理的Servlet -->
   <mvc:default-servlet-handler />
   <!-- 配置国际化资源文件 -->
   <bean id="messageSource"
      class="org.springframework.context.support.ResourceBundleMessageSource">
      <property name="basename" value="i18n"></property>
      <property name="defaultEncoding" value="UTF-8"></property>
   </bean>
   <!-- 配置 CookieLocaleResolver -->
   <bean id="localeResolver"
         class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
      <property name="cookieName" value="locale"></property>
   </bean>
   <!-- 拦截器配置 -->
   <mvc:interceptors>
      <!-- 配置 LocaleChanceInterceptor -->
      <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
   </mvc:interceptors>
   <!-- 异常处理配置 -->
   <bean id="simpleMappingExceptionResolver"    

    class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
      <property name="exceptionMappings">
         <props>
           <prop
              key="org.springframework.web.servlet.NoHandlerFoundException">error
           </prop>
         </props>
      </property>
   </bean>
</beans>

原文参考链接:https://liguanfeng.iteye.com/blog/2172744

视图解析器我和原文章的不一样,我用的是默认视图解析器

 <!-- 默认的视图解析器- -->
    <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

也多了json数据的处理

<!-- json数据处理配置 -->
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="false">
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

总结:在网上看了大量的配置Spring MVC XML的配置,其中扫描包和视图解析器是必配的,其他的配置可以根据需要来进行配置

原文地址:https://www.cnblogs.com/lindaiyu/p/10925299.html

时间: 2024-10-08 10:02:55

Spring MVC XML 的配置的相关文章

Spring MVC全注解配置 - 无web.xml

Serlvet 3以后,我们可以使用注解来配置Servlet,对于像Spring这类的框架来说是一个很好的适应.Spring也对此特性加入了很多的新功能.本文就将简单的对之前的xml配置转换为java代码的配置.代码配置让程序员们觉得更加具有流程化,不像配置很多代码程序员们都不愿意look into. 接下来,进行替换我们之前的web.xml和spring-mvc.xml的配置.也就是在你的web工程里面看不到这两个配置文件了.(可能有的童鞋会说,这样配置可能对以后的修改不方便,无法达到只修改配

spring MVC、mybatis配置读写分离

spring MVC.mybatis配置读写分离 1.环境: 3台数据库机器,一个master,二台slave,分别为slave1,slave2 2.要实现的目标: ①使数据写入到master ②读数据时,从slave1和slave2中读取 以此来实现数据库的读写分离 3.原理: 使用MySQL驱动自带的replicationDriver来实现,replicationDriver简单来说就是存在两个Connection,一个masterConnection,一个slaveConnection:

Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍

Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍 spring集成 mybatis Spring4.x零配置框架搭建 两年前一直在做后台的纯Java开发,很少涉及web开发这块,最近换了个纯的互联网公司,需要做Web后台管理系统,之前都是用xml配置的项目,接触了公司Spring4.x的零配置项目,觉得非常有感觉,不仅仅配置简单,而且条理清晰,所以,这里把学习的内容记录下来,一来加深对这块技术的印象,另外准备做个简单的教程,如果给

Spring MVC原理及配置详解

Spring MVC原理及配置 1.Spring MVC概述: Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成.他的两个核心是

Spring MVC原理及配置

Spring MVC原理及配置 1. Spring MVC概述 Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成. 2. Spr

Spring MVC xml configuration

1. Web.xml id="WebApp_ID" version="3.0"> <display-name>springMvcDemo</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name

spring 4 + jpa(hibernate 3/4) + spring mvc 多数据源配置

先从persistence.xml开始: <?xml version=”1.0″ encoding=”UTF-8″?><persistence version=”2.1″ xmlns=”http://java.sun.com/xml/ns/persistence” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://java.sun.com/xml/ns/persistence

【Spring】Spring MVC原理及配置详解

1.Spring MVC概述: Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成.他的两个核心是两个核心: 处理器映射:选择使用

Spring MVC 使用 JNDI 配置的DataSource

稍微看了下,Spring 中JNDI 的使用,弄了个小例子.有很多不完备的地方,以后慢慢看,再改吧. <一> 技术使用 Spring MVC JDBC Template Maven JNDI <二> 一些配置 Maven POM 配置 spring-context.spring-webmvc.spring-orm.spring-jdbc.mysql-connector-java等 创建数据库 create database usersdb; CREATE TABLE `users`